/* IMPORTS */
@import "responsive.css";

/* ROOT */
:root {
    --so-white:     #ffffff;
    --so-whiteF5:   #F4F5F5;
    --so-whiteF9:   #F4F5F9;
    --so-whiteE0:   #DBDDE0;
    --so-gray97:    #979797;
    --so-gray80:    #6F7680;
    --so-gray4A:    #363F4A;
    --so-black:     #000000;
    --so-blueE7:    #0069E7;
    --so-blueBA:    #0055BA;
    --so-blue8A:    #003F8A;
    --so-red:       #ff0000;
}

.d-none {
    display:none!important;
}

/* FONTS */
@font-face {
    font-family: "Inter Regular";
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    src: local(Inter-Regular), url(../fonts/Inter-regular.ttf) format("truetype"),
    url(../fonts/Inter-Regular.woff) format("woff"),
    url(../fonts/Inter-Regular.woff2) format("woff2");
}

@font-face {
    font-family: "Inter SemiBold";
    src: local(Inter-SemiBold),
    url(../fonts/Inter-SemiBold.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
}

/* TEXT */
h1, .h1 {
    font-family: "Inter SemiBold";
    color:var(--so-gray4A);
    font-size:44px;
    line-height:52px;

    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

h2, .h2 {
    font-family: "Inter SemiBold";
    color:var(--so-gray4A);
    font-size:32px;
    line-height:44px;

    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

h3, .h3 {
    font-family: "Inter Regular";
    font-size:22px;
    line-height:32px;

    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

h4, .h4 {
    font-family: "Inter SemiBold";
    color:var(--so-gray4A);
    font-size:22px;
    line-height:32px;

    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

h5, .h5 {
    font-family: "Inter SemiBold";
    color:var(--so-gray4A);
    font-size:18px;
    line-height:26px;

    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

body {
    font-family: "Inter Regular", sans-serif;
    color:var(--so-gray80);
    background-color:var(--so-whiteF9);
    font-size:20px;
    line-height:32px;
    text-align:left;
}

body.legal {
    font-size:18px;
    line-height:26px;
}

.muted {
    font-size:12px!important;
    line-height:20px!important;
}

.italic {
    font-style: italic!important;
}

.loud {
    font-family: "Inter SemiBold";
}

/* COLORS */
.fc-white {
    color: var(--so-white)!important;
}

/* BACKGROUNDS */
.bg-primary {
    background-color:var(--so-blue8A);
}

.bg-white {
    background-color:var(--so-white);
}

/* ALIGNS */
.center {
    text-align:center;
}

/* MARGINS */
.m-0 {
    margin:0!important;
}

/* LISTS */
ul.usp-list {
    display:block;
    overflow:hidden;
    list-style: none;
    margin:18px 0 40px 0;
    padding:0;
}

ul.usp-list li {
    padding-left:26px;
    position:relative;
    display:block;
    margin-bottom:16px;
}

ul.usp-list li:before {
    content:"";
    position:absolute;
    left:0;
    top:7px;
    background:url("../img/icon/checkmark.svg") no-repeat;
    background-size:cover;
    width:18px;
    height:18px;
}

ul.usp-list li p {
    margin:0;
}


ul.style-lower-alpha {
    list-style: lower-alpha;
}

ul.style-lower-alpha li {
    padding:5px 10px;
}

.legal ol {
    padding-left:0;
    counter-reset: item
}

.legal ol li {
    display: block;
    position:relative;
    padding-left:35px;
}

.legal ol li h4 {
    margin-top:35px;
}

.legal ol li:before {
    position:absolute;
    left:0;
    font-size:18px;
    line-height:26px;
    content: counters(item, ".") ".";
    counter-increment: item
}

.legal ol li ol li {
    position:relative;
}

.legal ol li ol li:before {
    font-family: "Inter Regular", sans-serif;
    font-size:16px;
    line-height:24px;
    content: counters(item, ".") " ";
    counter-increment: item
}

.legal ol li ol li ol {
    counter-reset: list;
}

.legal ol li ol li ul li {
    list-style:none;
}

.legal ol li ol li ol li:before {
    content: counter(list, lower-alpha) ") ";
    counter-increment: list;
}

ul.feature-list {
    margin:0;
    padding:0;
    list-style:none;
}

ul.feature-list li {
    position:relative;
    display:list-item;
    line-height:36px;
    background: url('../img/icon/checkmark.svg') no-repeat center left;
    padding-left:25px;
}

ul.feature-list li p {
    display:inline-block;
    line-height:1.3;
}

/* TABLES */
.legal th,
.legal td {
    vertical-align: top;
    padding: 5px;
    font-size:14px;
    line-height:20px;
}

.legal table {
    border-radius: 8px;
    border-spacing: 0;
    border-collapse: separate;
}

.legal table td, .legal table th {
    border-bottom: 1px solid var(--so-whiteF9);
    border-right: 1px solid var(--so-whiteF9);
}

.legal table tr:last-child td:first-child {
    border-bottom-left-radius:8px;
}

.legal table tr:last-child td:last-child {
    border-bottom-right-radius:8px;
}

.legal table tr th:first-child,
.legal table tr td:first-child {
    border-left: 1px solid var(--so-whiteF9);
}

.legal table tr:first-child th {
    border-top: 1px solid var(--so-whiteF9);
}

.legal table tr:first-child th:first-child {
    border-top-left-radius:8px
}

.legal table tr:first-child th:last-child {
    border-top-right-radius:8px
}

.legal table ul {
    padding-left: 20px;
    margin:0;
}


/* COOKIEBOT COOKIE CONSENT TRACKING */
body #CybotCookiebotDialog {
    display:none;
}


/* INPUTS */
.input-row {
    overflow: hidden;
    display: block;
    margin-bottom: 9px;
}

.input-row .input-container {
    display:block;
    overflow:hidden;
    padding-bottom:15px;
    position:relative;
}

.input-row .container-left,
.input-row .container-right {
    width:47.5%;
    position: relative;
}

.input-row .container-left {
    float:left;
}

.input-row .container-right {
    float:right;
}

.input-row .container-center {
    width:100%;
    float:left;
}

body .input-row .error {
    font-size:11px;
    position:absolute;
    bottom:0;
    left:0;
    display:none!important;
}

body .input-row .error_show {
    font-size:11px;
    color:var(--so-red);
    position:absolute;
    bottom:0;
    left:0;
    line-height:12px;
}

input,
textarea {
    border: 1px solid var(--so-whiteF9);
    border-radius: 8px;
    background: var(--so-whiteF9);
    height: 56px;
    color: var(--so-gray80);
    font-size: 16px;
    line-height: 26px;
    font-family: "Inter Regular";
    padding: 0 16px;
    outline: none;
    float:left;
    width:100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input::-webkit-input-placeholder,
input:-ms-input-placeholder,
input::placeholder,
textarea::-webkit-input-placeholder,
textarea:-ms-input-placeholder,
textarea::placeholder {
    font-family: "Inter Regular";
    color: var(--so-gray80);
    font-size:16px;
    line-height:26px;
}

input.invalid,
textarea.invalid,
button.invalid {
    border-color:var(--so-red)!important;
}


/* LINKS & BUTTONS */
a {
    color:var(--so-blue8A);
}

a:hover {
    transition:0.3s;
    color:var(--so-blueE7);
    text-decoration:none;
}

a.textlink {
    word-break: inherit;
}

.btn {
    border:none!important;
    border-radius:6px!important;
    margin-right:20px;
    position:relative!important;
    transition: 0.3s;
}

.btn.btn-icon {
    padding-right:56px!important;
    position:relative;
}

.btn.btn-icon svg {
    width: 14px;
    height: 14px;
    position: absolute;
    right: 21px;
    fill: var(--so-white);
    top: 15px;
}

.btn-icon:after {
    content:'';
    position:absolute;
    width:24px;
    height:24px;
    background:rgba(255,255,255,0.1);
    right:16px;
    top:10px;
    border-radius: 4px;
}

.btn-small {
    font-family: "Inter SemiBold"!important;
    font-size:14px!important;
    line-height:20px!important;
    padding:8px 12px!important;
    height:inherit!important;
}

.btn-medium {
    font-family: "Inter Regular"!important;
    font-size:16px!important;
    line-height:24px!important;
    padding:10px 16px!important;
}

.btn-large {
    font-family: "Inter Regular"!important;
    font-size:16px!important;
    line-height:24px!important;
    padding:15px 24px!important;
}

.btn-primary {
    background:var(--so-blue8A)!important;
    color:var(--so-whiteE0)!important;
}

.btn-secondary {
    background:var(--so-white);
    color:var(--so-blue8A);
}

#header.sticky .btn-secondary,
body.legal #header .btn-secondary {
    background:var(--so-whiteF9);
}

.btn:hover,
.btn:focus,
.btn:active {
    border:none;
    outline: none!important;
    box-shadow: none!important;
    transition: 0.3s;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background:var(--so-blueBA)!important;
    color:var(--so-white)!important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    background:var(--so-blue8A)!important;
    color:var(--so-white)!important;
}

.btn.has-icon {
    padding-left:50px!important;
}

.btn-center {
    margin:0 auto;
    display:block;
}


/* IMAGES */
img {
    max-width:100%;
    height:auto;
}


/* HEADER */
#header {
    background:rgba(255,255,255,0);
    border-color:var(--so-white);
    top:0;
    position:fixed;
    width:100%;
    z-index:20;
}

#header.sticky {
    background:var(--so-white);
    transition:0.3s;
    height:80px;
    border-bottom:1px solid #efefef;
}

#header #header-container {
    padding:20px 0;
}

#header #header-container .logo-container {
    display:block;
    overflow:hidden;
    z-index: 5;
    position: relative;
}

#header #header-container .logo-container img {
    padding-top:3px;
    max-width:130px;
    width:100%;
    height:auto;
}

#header #header-container ul {
    padding: 0;
    list-style: none;
    margin: 0 auto;
    display: block;
    overflow: hidden;
    text-align:center
}

#header #header-container ul#contact-menu {
    margin-left:24px;
    display:inline-block;
    float:right;
}

#header #header-container ul#contact-menu li {
    margin-top:3px;
}

#header #header-container ul#contact-menu .btn {
    margin-right:0;
}

#header #header-container ul li {
    display:inline-block;
}

#header #header-container ul li a {
    line-height:2.5;
    padding:5px 16px;
    margin:0;
    transition:0.3s;
}

#header #header-container ul#main-menu li a {
    font-family: "Inter Regular";
    color:var(--so-gray4A);
    overflow:hidden;
    display:block;
    font-size:14px;
}

#header #header-container ul#main-menu li a:hover,
#header #header-container ul#main-menu li a:focus,
#header #header-container ul#main-menu li a:active {
    color:var(--so-blue8A);
    text-decoration: none;
}


/* MOBILE MENU */
#header #header-container #ham-menu-container {
    display:none;
    position: relative;
    float:right;
    background-color: transparent;
    height: 40px;
    width: 40px;
    cursor: pointer;
    z-index: 9999;
}

#header #header-container #ham-menu-container span {
    position: absolute;
    height: 3px;
    width: 25px;
    background-color: var(--so-blue8A);
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: 0.3s;
}

#header #header-container #ham-menu-container span:before {
    content: '';
    position: absolute;
    top: -8px;
    background-color: var(--so-blue8A);
    height: 3px;
    width: 25px;
    transition: 0.3s;
}

#header #header-container #ham-menu-container span:after {
    content: '';
    position: absolute;
    top: 8px;
    background-color: var(--so-blue8A);
    height: 3px;
    width: 25px;
    transition: 0.3s;
}

#header #header-container #ham-menu-container.active span {
    background-color: transparent;
}

#header #header-container #ham-menu-container.active span:before {
    transform: rotate(45deg);
    top: 0;
}

#header #header-container #ham-menu-container.active span:after {
    transform: rotate(-45deg);
    top: 0;
}

#header #header-container #mobile-navbar-menu {
    height: 100vh;
    z-index: 1;
    padding-top:80px;
    display:none;
    background-color: var(--so-white);
    position: absolute;
    top: 0;
    right: -100%;
    width: 100%;
    transition: 0.3s;
}

#header #header-container #mobile-navbar-menu.active {
    right: 0;
}

#header #header-container #mobile-navbar-menu .menu-listing {
    padding: 0;
    margin: 0;
    text-align: center;
    width:100%;
}

#header #header-container #mobile-navbar-menu .menu-listing li {
    float:none!important;
    display: block;
    text-align:left;
    padding:0;
    border-top: 1px solid #efefef;
}

#header #header-container #mobile-navbar-menu .menu-listing li:last-child {
    padding:20px 15px;
}

#header #header-container #mobile-navbar-menu .menu-listing li a {
    font-family: "Inter Regular";
    color:var(--vb-grey);
    font-size:20px;
    display: block;
    padding: 4px 20px;
    letter-spacing: 1px;
    text-decoration: none;
}

#header #header-container #mobile-navbar-menu .menu-listing li a:hover {
    background-color: var(--vb-light-violet);
}


/* ELEMENTS */
/* iconboxes */
.iconbox.iconbox-style-1 {
    padding:32px 24px;
    border-radius:16px;
    background:var(--so-blueBA);
    margin-bottom:20px;
}

.iconbox.iconbox-style-1.box-1 {
    border-radius: 16px 16px 16px 40px;
}

.iconbox.iconbox-style-1.box-2 {

}

.iconbox.iconbox-style-1.box-3 {
    border-radius:16px 40px 16px 16px;
}

#services .iconbox.iconbox-style-1.box-1 {
    background:var(--so-blue8A);
}

#services .iconbox.iconbox-style-1.box-3 {
    background:var(--so-blueE7);
}

.iconbox.iconbox-style-1 h3 {
    color:var(--so-white);
    margin:0 0 16px 0;
}

.iconbox.iconbox-style-1 p {
    color:var(--so-white);
    font-size:16px;
    line-height:24px;
    margin:0;
}

/* usp boxes */
.usp-box-container {
    position:absolute;
    display:block;
    width:100%;
    height:100%;
    left:0;
    top:0;
}

.usp-box-container .usp-box.usp-box-1 {
    background:var(--so-blue8A);
    border-radius:8px;
    display:inline;
    position:absolute;
    overflow:hidden;
    padding:8px;
    transition:0.3s;
    cursor: default;
}

.usp-box-container .usp-box.usp-box-1.box-1 {
    left:127px;
    top:20px;
    background:var(--so-blueBA);
}

.usp-box-container .usp-box.usp-box-1.box-2 {
    left:15px;
    bottom:51px;
}

.usp-box-container .usp-box.usp-box-1.box-3 {
    right:15px;
    bottom:166px;
}

.usp-box-container .usp-box.usp-box-1 p {
    margin:0;
    color:var(--so-white);
    font-size:14px;
    line-height:20px;
    display:block;
}

.usp-box-container .usp-box.usp-box-1.box-1:hover {
    background:var(--so-blue8A);
    transition:0.3s;
}

.usp-box-container .usp-box.usp-box-1.box-2:hover,
.usp-box-container .usp-box.usp-box-1.box-3:hover {
    background:var(--so-blueBA);
    transition:0.3s;
}


/* CONTENT */
#content {
    min-height: 90vh;
}

#content > .section {
    padding-top:80px;
    padding-bottom:80px;
}

#content > .section > .section-container > .row {
    padding-top:15px;
    padding-bottom:15px;
}

#content > .section > .section-container > .row.section-title {
    padding-top:0;
    padding-bottom:0;
    margin-bottom:20px;
}


/* HERO */
#hero {
    padding:60px 0 60px 0;
    background-color:var(--so-whiteF9);
    margin-bottom:95px
}

#hero #hero-container .col-left {
    padding-top:105px;
    padding-bottom:85px;
}

#hero #hero-container .text-group {
    margin:0 0 25px;
}

#hero #hero-container .button-group {
    margin:20px 0 0;
    overflow:hidden;
    display:block;
}

#hero #hero-container .col-right {
    position:relative;
}

#hero #hero-container .col-right .img-container {
    position:absolute;
    right:0;
    top:65px;
}


/* HERO - thank you */
#thanks {

}

#thanks #thanks-container {
    padding:240px 0;
}

/* HERO - legal */
.legal #hero {
    margin-bottom: 0;
    padding: 120px 15px 0 15px;
    background: inherit;
}

.legal #legal-content {
    padding-top:40px;
}


/* CONTACT */
#contact .text-group {
    margin-top:50px;
}

/* ABOUT */
#content #about {
    padding-top:20px;
}

#about .container-left {
    padding-top:60px;
}

#about .container-left .button-group {
    margin-top:25px;
}





/* FOOTER */
#footer .footer-bottom {
    overflow:hidden;
    padding-top:25px;
    padding-bottom:15px;
    margin-top:40px;
    border-top:1px solid var(--so-whiteE0);
    color:var(--so-gray4A);
}

#footer .footer-bottom ul {
    display:block;
    padding:0;
    margin:0;
    list-style:none;
    overflow:hidden;
    float:right;
}

#footer .footer-bottom ul li {
    float:left;
    display:inline-block;
    margin-left:15px;
}

#footer .footer-bottom ul li a {
    font-family: "Inter Regular";
    color:var(--so-gray4A);
    font-size:12px;
    line-height:20px;
    padding:0;
    display:block;
    transition:0.3s;
}

#footer .footer-bottom ul li a:hover,
#footer .footer-bottom ul li a:focus,
#footer .footer-bottom ul li a:active {
    color: var(--so-blue8A);
}


/* LANG SWITCH */
.weglot-container {
    display:inline-block;
    float:right;
    padding:1px 0 0;
}

.weglot-container a.lang {
    display: inline-block;
    float:left;
    font-family: "Inter Regular";
    font-size:14px;
    line-height:18px;
    text-decoration:none;
}

.weglot-container a.lang.active {
    color:var(--so-gray4A);
    cursor: default;
}

.weglot-container a.lang.inactive {
    color:var(--so-gray4A);
}

.weglot-container .lang-switch-container {
    display: inline-block;
    float: left;
    width: 26px;
    height: 12px;
    border-radius: 6px;
    background: var(--so-white);
    margin: 3px 8px;
    position: relative;
    cursor: pointer;
    border: 1px solid var(--so-gray97);
}

.weglot-container .lang-switch-container span.lang-switch {
    display:none;
    width:8px;
    height:8px;
    position:absolute;
    top:1px;
    left:2px;
    border-radius:100%;
    transition: 0.3s;
    background:var(--so-blue8A);
}

.weglot-container .lang-switch-container span.lang-switch.switch-left {
    left:2px;
}

.weglot-container .lang-switch-container span.lang-switch.switch-right {
    left:14px;
}


/* LANG SWITCH MOBILE NAV BAR */
#header #header-container .weglot-container {
    margin-top:11px;
    float:right;
}


/* LANG SWITCH MOBILE NAV BAR */
#header #header-container #mobile-navbar-menu .weglot-container {
    float: left;
    margin-left: 20px;
    margin-top: 15px;
}

#header #header-container #mobile-navbar-menu .weglot-container a.lang {
    padding-top:7px;
    font-size:20px;
}

#header #header-container #mobile-navbar-menu .weglot-container .lang-switch-container {
    height: 30px;
    margin: 0 12px;
    width: 69px;
    border-radius: 30px;
}

#header #mobile-navbar-menu .weglot-container .lang-switch-container span.lang-switch {
    display:none;
    top: 3px;
    width: 22px;
    height: 22px;
}
#header #mobile-navbar-menu .weglot-container .lang-switch-container span.lang-switch.switch-left {
    left: 4px;
}

#header #mobile-navbar-menu .weglot-container .lang-switch-container span.lang-switch.switch-right {
    left:41px;
}