@font-face {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900; /* Black */
    font-style: normal;
    src: url('../assets/fonts/Montserrat-Black.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 900; /* Black Italic*/
    font-style: italic;
    src: url('../assets/fonts/Montserrat-BlackItalic.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 800; /* Extra Bold */
    font-style: normal;
    src: url('../assets/fonts/Montserrat-ExtraBold.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 800; /* Extra Bold Italic*/
    font-style: italic;
    src: url('../assets/fonts/Montserrat-ExtraBoldItalic.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 700; /* Bold */
    font-style: normal;
    src: url('../assets/fonts/Montserrat-Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 700; /* Bold Italic*/
    font-style: italic;
    src: url('../assets/fonts/Montserrat-BoldItalic.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 600; /* SBold */
    font-style: normal;
    src: url('../assets/fonts/Montserrat-SemiBold.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 600; /* SBold Italic*/
    font-style: italic;
    src: url('../assets/fonts/Montserrat-SemiBoldItalic.ttf') format('truetype');
}


@font-face {
    font-family: 'Montserrat';
    font-weight: 500; /* Medium */
    font-style: normal;
    src: url('../assets/fonts/Montserrat-Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500; /* Medium Italic */
    font-style: italic;
    src: url('../assets/fonts/Montserrat-MediumItalic.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 400; /* Regular */
    font-style: normal;
    src: url('../assets/fonts/Montserrat-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 400; /* Regular Italic */
    font-style: italic;
    src: url('../assets/fonts/Montserrat-RegularItalic.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 300; /* Light */
    font-style: normal;
    src: url('../assets/fonts/Montserrat-Light.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 300; /* Light Italic */
    font-style: italic;
    src: url('../assets/fonts/Montserrat-LightItalic.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 200; /* ULight */
    font-style: normal;
    src: url('../assets/fonts/Montserrat-ExtraLight.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 200; /* ULight Italic */
    font-style: italic;
    src: url('../assets/fonts/Montserrat-ExtraLightItalic.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 100; /* Thin */
    font-style: normal;
    src: url('../assets/fonts/Montserrat-Thin.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    font-weight: 100; /* Thin Italic */
    font-style: italic;
    src: url('../assets/fonts/Montserrat-ThinItalic.ttf') format('truetype');
}


/* ############ MAIN CONTENT ###################3*/

*, *::before, *::after {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

:root {
    --bg-primary-dark: #171717;
    --bg-primary-dark-translucent: #17171755;
    --bg-primary-light: #ffffff;
    --bg-secondary: #1e1e1e;
    --bg-secondary-dark: #000000;
    --bg-secondary-light: #f4fffe;
    --bg-triatary: #2b398b;

    --text-primary-light: #eeeeee;
    --text-primary-dark: rgba(28, 28, 28, 0.82);
    --text-primary-faded: #888888;
    --text-secondary: #2eaa96;
    --text-triatary: #2b398b;
    /* 2b398b */

    --btn-light-txt: var(--text-primary-light);
    --btn-light-bg: var(--text-primary-light);
    --btn-light-border: var(--text-primary-light);

    --btn-dark-txt: var(--text-triatary);
    --btn-dark-bg: var(--text-triatary);
    --btn-dark-border: var(--text-triatary);

    --accent-1: #E20036;
    --accent-1-faded: #d33847;
    --accent-2: #F05A28;
    --accent-2-light: #f6784b;
    --accent-2-translucent: #F05A2811;
    --accent-3: #2b398b;
    --accent-3-faded: #3c4fbb;

    --insys: #00A5DC;
    --wago: #6EC800;
    --snapdaq: #DAF3F0;
}


html {
    scroll-behavior: smooth;
}

h1 {
    font-size: 1.6rem;
    margin-bottom: 1rem;
}

h2 {
    font-size: 1.4rem;
}

h3 {
    font-size: 1.2rem;
}

h4 {
    font-size: 1.1rem;
}

h5 {
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 500;
}

h6 {
    font-size: 1rem;
}

p {
    font-size: 1rem;
    line-height: 1.3em;
}

@media screen and (min-width: 1080px) {
    h1 {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    h2 {
        font-size: 1.8rem;
    }

    h3 {
        font-size: 1.6rem;
    }

    h4 {
        font-size: 1.3rem;
    }

    h5 {
        font-size: 1.2rem;
        line-height: 1.5rem;
        font-weight: 500;
    }

    h6 {
        font-size: 1rem;
    }

    p {
        font-size: 1rem;
        line-height: 1.3em;
    }
}

h1, h2, h3, h4, h5, h6, p {
    text-align: center;
    color: var(--text-primary-dark);
}


li {
    list-style: none;
}

a {
    text-decoration: none;
    color: var(--text-primary-light)
}

img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

hr {
    width: 100%;
    color: var(--text-primary-light);
    outline: none;
    box-shadow: none;
}

iframe {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
}

/* ////////////////////////////////////////////////// */

body {
    min-height: 100vh;
    width: 100vw;
    background-color: var(--bg-primary-dark);
    font-family: 'Montserrat', sans-serif;
}

.container {
    max-width: 80rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.buttons-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    position: relative;
    z-index: 200;
}

.btns-col {
    flex-direction: column;
    align-items: stretch;
}

.button {
    outline: none;
    background-color: transparent;
    color: var(--btn-light-txt);
    border-radius:0;
    font-size: 1rem;
    font-weight: 500;
    padding: .5rem 1rem;
    cursor: pointer;
    transition: background-color ease-in-out .1s;
    -webkit-transition: background-color ease-in-out .1s;
    -moz-transition: background-color ease-in-out .1s;
    -ms-transition: background-color ease-in-out .1s;
    -o-transition: background-color ease-in-out .1s;
}

.button:hover {
    background-color: var(--btn-dark-bg);
    color: var(--btn-light-txt);
    cursor: pointer;
}

.button.dark{
    border: .15rem var(--bg-primary-light) solid;
}

.button.dark:hover {
    background-color: var(--bg-primary-light);
    color: var(--text-primary-dark);
}

.button.light.filled {
    border: .15rem var(--bg-primary-light) solid;
    background-color: var(--bg-primary-light);
    color: var(--text-primary-dark);
}

.button.light.filled:hover {
    background-color: transparent;
    color: var(--text-primary-light);
}

.button.left.filled {
    background-color: var(--accent-2);
    color: var(--text-primary-light);
    border: .15rem var(--bg-primary-light) solid;
}

.button.left.filled:hover {
    background-color: var(--text-primary-light);
    color: var(--accent-2);
    border-color: var(--accent-2);
}

.button.right.filled {
    background-color: var(--bg-primary-light);
    color: var(--accent-2);
    border: .15rem var(--accent-2) solid;
}

.button.right.filled:hover {
    background-color: var(--accent-2);
    color: var(--text-primary-light);
    border-color: var(--bg-primary-light);

}

.section-title-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.section-title-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    max-width: 40rem;
    width: 100%;
}

.section-title-container p {
    text-align: justify;
}

.section-title-container.dark-text h2,
.section-title-container.dark-text h3,
.section-title-container.dark-text h5,
.section-title-container.dark-text p {
    color: var(--text-primary-dark);
}

.section-title-container.light-text h2,
.section-title-container.light-text h3,
.section-title-container.light-text h5,
.section-title-container.light-text p {
    color: var(--text-primary-light);
}

span.red {
    color: var(--text-accent);
}

.red-bg {
    background-color: var(--accent-1-faded);
}

.dark-bg {
    background-color: var(--bg-triatary);
}

.dark-text h1,
.dark-text h2,
.dark-text h3,
.dark-text h4,
.dark-text h5,
.dark-text h6,
.dark-text p {
    color: var(--text-primary-dark);
}

.text-left h1,
.text-left h2,
.text-left h3,
.text-left h4,
.text-left h5,
.text-left h6,
.text-left p {
    text-align: left;
}

.inline-link {
    color: var(--accent-1);
    text-decoration: underline;
}

.small-text {
    font-size: 1rem;
}

.rounded-img img {
    border-radius: .5rem;
    /* border: .15rem var(--accent-2-faded) solid; */
    -webkit-border-radius: .5rem;
    -moz-border-radius: .5rem;
    -ms-border-radius: .5rem;
    -o-border-radius: .5rem;
}

.section-full-width-image-container {
    width: 100%;
    height: 100%;
    max-width: 50rem;
}

.section-full-width-image-container img {
    object-fit: cover;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}

.section-light h1,
.section-light h2,
.section-light h3,
.section-light h4,
.section-light h4,
.section-light h5,
.section-light h6,
.section-light p {
    color: var(--text-primary-dark);
}

.section-light {
    background-color: var(--bg-primary-light);
}

section {
    padding: 2rem 2rem;
}

.divider {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.divider svg {
    width: 100%;
}

@media screen and (min-width: 1080px) {
    section {
        padding: 4rem 2rem;
    }


    .btns-col {
        flex-direction: row;
    }

    .divider svg {
        width: 70%;
    }
}

.divider path,
.divider line,
.divider ellipse {
    stroke: var(--accent-2);
    fill: var(--accent-2);
    filter: drop-shadow(0px 0px 2px var(--accent-2));
    -webkit-filter: drop-shadow(0px 0px 2px var(--accent-2));
}

.divider rect {
    stroke: var(--accent-2);
    fill: white;
    filter: drop-shadow(0px 0px 2px var(--accent-2));
    -webkit-filter: drop-shadow(0px 0px 2px var(--accent-2));
}

.divider.dark path {
    stroke: var(--accent-2-faded);
    stroke-width: 3px;
}

.header-divider {
    position: relative;
    width: 100vw;
}

.header-divider svg {
    position: absolute;
    width: 100%;
    margin-top: -3rem;
    height: 10rem;
    left: 0;
    /* background-color: var(--accent-3-faded); */
}

.header-divider .left {
    fill: var(--accent-2)
}

.header-divider .right {
    fill: var(--bg-primary-light)
}

@media screen and (min-width: 1080px) {
    .header-divider svg {
        margin-top: 0rem;
        height: 25vh;
        max-height: 8rem;
        z-index: 100;
    }
}

.footer-divider {
    position: relative;
    width: 100vw;
    margin-top: 5rem;
}

.footer-divider svg {
    position: absolute;
    width: 100%;
    margin-top: -5.5rem;
    height: 8rem;
    left: 0;
}

.footer-divider .left {
    fill: var(--accent-2)
}

.footer-divider .right {
    fill: var(--bg-primary-dark)
}