:root {
    /* Fonts */
    --font-base: "Ubuntu", sans-serif;
    --font-regular: 400;
    --font-medium: 500;
    --font-bold: 700;

    /* Font sizes */
    --font-size-base: 14px;
    --font-size-h1: 32px;
    --font-size-h3: 24px;
    --font-size-h4: 20px;
    --font-size-h5: 18px;

    /* Colors */
    --color-bg-main: #f9f9f9;
    --color-black: #000000;
    --color-dark: #333333;
    --color-title: #414141;
    --color-orange: #FF671B;
    --color-green: #83C8BC;
    --color-light-gray: #CCCCCC;
    --color-footer-title: #11142D;
    --color-footer-subtitle: #9A9AB0;

    /* Forms */
    --color-input-bg: rgba(239, 241, 249, 0.6);
    --color-placeholder: #ABAFB1;
    --color-label: #5E6366;

    /* Spacing */
    --space-lg: 56px;
    --space-md: 24px;
    --space-sm: 16px;

    /* Radius */
    --radius-md: 8px;
}

body, html {
    background-color: var(--color-bg-main);
    scroll-behavior: smooth;
    font-family: var(--font-base);
    font-weight: var(--font-regular);
    line-height: 1.2;
}

body {
    font-size: var(--font-size-base);
    color: var(--color-black);
}

@media only screen and (min-width: 1400px) {
    main .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1200px;
    }
}
@media only screen and (min-width: 1200px) {
    main .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1000px;
    }
}
main {
    margin-top: var(--space-sm);
    margin-bottom: var(--space-lg);
}

main section:not(:first-child) {
    margin-top: var(--space-lg);
}

a, a:hover, a:focus {
    text-decoration: none;
}
.bold {
font-weight: var(--font-bold);
}

.medium {
    font-weight: var(--font-medium);
}

.regular {
    font-weight: var(--font-regular);
}
h1, h2 {
    font-size: var(--font-size-h1);
}

h3 {
    font-size: var(--font-size-h3);
}

h4 {
    font-size: var(--font-size-h4);
}

h5 {
    font-size: var(--font-size-h5);
}

h1, h2, h3, h4, h5 {
    font-family: var(--font-base);
font-weight: var(--font-bold);
    color: var(--color-title);
    margin-bottom: var(--space-md);
}

.subtitle {
    color: var(--color-title);
    text-align: center;
}

.accordion-button:focus {
    box-shadow: none;
}
.accordion-button:not(.collapsed) {
    box-shadow: none;
    background-color: transparent;
}
.accordion {
    border-radius: 0;
    background-color: transparent;
    border: 0;
}
.accordion-item {
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid var(--color-green);
}
.accordion-item:first-of-type>.accordion-header .accordion-button {
    border-top: 1px solid var(--color-green);
    border-radius: 0;
}
.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed,
.accordion-item:last-of-type>.accordion-collapse,
.accordion-item:first-of-type, .accordion-item:last-of-type {
   border-radius: 0;
}
.orange {
    color: var(--color-orange) !important;
}

.black {
    color: var(--color-black) !important;
}

.green-bg {
    background: rgba(131, 200, 188, 0.2);
}

/** HEADER */
@media only screen and (min-width: 992px) {
    header .navbar-expand-lg .navbar-nav {
       justify-content: space-between;
        min-width: 760px;
    }
    header .close-container {
        display: none !important;
    }
    header {
        margin-top: var(--space-md);
    }
    header .white-button {
        margin-right: var(--bs-navbar-nav-link-padding-x);
    }
}
header .nav-item:not(.button-item) a {
    font-weight: var(--font-medium);
    color: var(--color-dark);
}
header .navbar-nav .nav-item:not(.button-item) .nav-link.active, 
header .navbar-nav .nav-item:not(.button-item) .nav-link.show,
header .navbar-nav .nav-item:not(.button-item):hover .nav-link,
header .navbar-nav .nav-item.button-item.orange-button .nav-link:focus, 
header .navbar-nav .nav-item.button-item.orange-button .nav-link:hover {
    color: var(--color-orange);
}
header .navbar-nav .nav-item.button-item {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}
header .navbar-nav .nav-item.button-item.orange-button .nav-link, header .navbar-nav .nav-item.button-item.orange-button .nav-link.active {
    color: #FFFFFF;
}
header .navbar-toggler {
    border: 0;
}
header .navbar-nav .nav-item.button-item a {
    padding: 0;
}
header .close-container {
    width: 100%;
    text-align: right;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.navbar-toggler:focus {
    box-shadow: none;
}
header .divider {
    background: var(--color-light-gray);
    max-width: 1px;
    padding: 0;
}
header .orange-button:focus *, header .orange-button:hover * {
    color: var(--color-orange) !important;
}
@media only screen and (max-width: 991px) {
    h1, h2 {
    font-size: 32px;
    }
    h3 {
        font-size: 24px;
    }
    h1, h2, h3 {
        margin-bottom: var(--space-sm);
    }    

    .navbar-expand-lg .navbar-nav {
        flex-direction: column !important;
    }
    .navbar-expand-lg .navbar-toggler {
        display: block !important;
    }
    header .navbar.navbar-expand-lg > .container {
        padding-top: 24px;
        flex-wrap: nowrap;
    }
    header .navbar.navbar-expand-lg > .container > .row {
        justify-content: flex-start !important;
    }
    header .navbar.navbar-expand-lg > .container > .row {
        padding-top: 2px;
    }
    header .navbar-brand, header #open-menu {
        padding-right: 0;
        padding-top: 0;
    }
    header ul.navbar-nav {
        position: fixed;
        width: 100%;
        background: #FFFFFF;
        top: 0;
        left: -500vw;
        transition: all 0.2s ease;
        min-height: 100vh;
        padding: 38px 30px 30px 30px;
        align-items: center;
    }
    header ul.navbar-nav.open {
        left: 0;
        z-index: 99999;
    }
    header .navbar-nav .nav-item.button-item {
        margin-top: 1rem;
        max-width: 220px;
        width: 100%;
        text-align: center;
    }
    header .nav-link {
        font-size: 20px;
    }

}

/** FOOTER */
footer .d-flex.col-md-3:first-child {
    flex-direction: column;
    justify-content: space-between;
}
footer .footer-title {
    font-weight: var(--font-medium);
    color: var(--color-footer-title);
    display: inline-block;
    width: 100%;
    margin-bottom: 8px;
}
footer .footer-subtitle {
    color: var(--color-footer-subtitle);
    display: inline-block;
    width: 100%;
    margin-bottom: 4px;
}
footer .copyright {
    font-size: var(--font-size-base);
    color: var(--color-black);
    margin-top: var(--space-sm);
}
footer .scroll-top {
    text-align: right;
    cursor: pointer;
}
footer .scroll-top * {
    cursor: pointer;
}
footer .chevron {
    margin-right: 4px;
    display: inline-block;
}
footer .chevron::before {
	border-style: solid;
	border-width: 3px 3px 0 0;
	content: '';
	display: inline-block;
	height: 10px;
	left: 0.15em;
	position: relative;
	top: 0.15em;
	transform: rotate(-45deg);
	vertical-align: middle;
	width: 10px;
}
@media only screen and (max-width: 767px) {
    footer {
        text-align: center;
    }
    footer .footer-main-row > div {
        margin-bottom: var(--space-md);
    }
    footer .footer-cta {
        text-align: center !important;
    }
    footer .logos-container > div:first-child {
        margin-bottom: var(--space-md);
    }
    .footer-menu-col .row > div:not(:last-child) {
        margin-bottom: var(--space-sm);
    }
    .desktop {
        display: none;
    }
}
@media only screen and (min-width: 768px) {
    .mobile {
        display: none;
    }
}
/** FORMS */
.form-control, textarea, .form-floating>.form-select, .input-group-text {
    background-color: var(--color-input-bg);
    border: 0;
    box-shadow: none;
    border-radius: var(--radius-md);
    font-size: var(--font-size-base);
}
.form-control::placeholder {
    color: var(--color-placeholder);
}
.form-floating>label {
    color: var(--color-label);
    font-weight: var(--font-regular);
    font-size: var(--font-size-base);
}
.form-floating > textarea.form-control {
    min-height: 137px;
}
.form-floating>.form-control-plaintext~label::after, 
.form-floating>.form-control:focus~label::after, 
.form-floating>.form-control:not(:placeholder-shown)~label::after, 
.form-floating>.form-select~label::after {
    background-color: transparent;
}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

.is-invalid {
    border: 2px  solid red !important;  
}
form .input-group .lf_error.form-control,
form .input-group .form-control {
    border-bottom-right-radius: 8px !important;
    border-top-right-radius: 8px !important;
}
.ajax-loader {
    background: rgba(0, 0, 0, 0.6);
    cursor: wait;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5;
    width: 100%;
    height: 100%;
    display: none;
}