/* FONTS
================================================== */

@import url('https://fonts.googleapis.com/css2?family=Sen:wght@400;700;800&display=swap');


/* BASE
================================================== */

body {
    padding-top: 4rem;
    font-size: 1.125rem;
    color: #000;
    background: #FAF7EF
}

body, input, button, textarea {
    font-family: Sen, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 2rem;
    letter-spacing: -.025em;
    font-weight: 700;
    color: #283C96;
}

p,
ul,
ol,
table,
figure {
    margin-bottom: 1.5rem;
}

a, input, textarea, button {
    transition: color .3s, background-color .3s, border-color .3s, opacity .3s;
}

a {
    color: #283C96;
    text-decoration: none;
}

a:hover {
    color: #CFB47D;
}

*, *:focus {
    outline: none !important;
}

img {
    max-width: 100%;
    height: auto;
}

figure img {
    width: 100%;
}

strong {
    font-weight: 800;
}

/* LAYOUT
================================================== */

/*
	Header
*/

.header {
	position: fixed;
    display: flex;
	align-items: center;
	z-index: 1010;
	top: 0;
	right: 0;
	left: 0;
    height: 4rem;
	background: #FAF7EF;
	transition: all .3s;
}

	.header > .container-fluid {
		display: flex;
		align-items: center;
	}

		.header__logo {
			height: 3rem;
            transition: all .4s;
		}

			.header__logo img,
            .header__logo svg {
                width: auto;
				height: 100%;
			}

    .header__languages {
        display: flex;
        align-items: center;
        margin: 0 0 0 2rem;
        padding: 0;
        font-size: 1rem;
        list-style-type: none;
    }

        .header__languages li {
            margin-right: 1rem;
        }

/*
    Navigation
*/

.main-menu {
    display: flex;
    align-items: center;
    margin-left: auto;
    font-size: 1.25rem;
}

    .main-menu ul {
        margin-bottom: 0;
        padding: 0;
        list-style-type: none;
    }

        .main-menu li {
            position: relative;
        }

            .main-menu li a {
                position: relative;
                display: block;
                border-top: 3px solid transparent;
                border-bottom: 3px solid transparent;
                color: #283C96;
            }
    
    .main-menu > ul {
        display: flex;
        align-items: center;
    }

        .main-menu > ul > li {
            margin-left: 2rem;
        }

            .main-menu > ul > li:hover > a,
            .main-menu > ul > li.active > a {
                border-bottom-color: #CFB47D;
            }

            .main-menu ul ul {
                position: absolute;
                z-index: 1;
                visibility: hidden;
                top: 100%;
                left: -1.5rem;
                min-width: 15rem;
                padding-top: 1rem;
                padding-bottom: 1rem;
                text-align: left;
                background: #CFB47D;
                opacity: 0;
                transition: all .3s;
            }

                .main-menu ul ul a {
                    padding-right: 1.5rem;
                    padding-left: 1.5rem;
                    color: #283C96;
                }

                .main-menu ul ul li:hover > a,
                .main-menu ul ul li.active > a {
                    color: #fff;
                }

        .main-menu li:hover > ul {
            visibility: visible;
            opacity: 1;
        }


/*
	Footer
*/

.footer {
    padding-top: 3rem;
    padding-bottom: 4rem;
    font-size: .875rem;
    color: #283C96;
}

    .footer .author a {
        position: relative;
        top: -.25rem;
    }

.copyright-menu {
    display: flex;
    padding: 0;
    list-style-type: none;
}

    .copyright-menu li + li:before {
        content: "|";
        padding: 0 .25rem;
    }

/*
    Off canvas
*/

.offcanvas {
    max-width: 80%;
    font-size: 1.125rem;
    background: #FAF7EF;
}

    .offcanvas ul {
        padding: 0;
        list-style-type: none;
    }

        .offcanvas ul a {
            display: inline-block;
            margin: .25rem 0;
            padding: .125rem 0;
            border-top: 3px solid transparent;
            border-bottom: 3px solid transparent;
        }

        .offcanvas li.active > a {
            border-bottom-color: #CFB47D;
        }

            .offcanvas ul ul {
                margin-left: 1.5rem;
                font-size: 1rem;
            }


/* SECTIONS
================================================== */

.section {
    padding-top: 4rem;
    padding-bottom: 2rem;
    background-position: center center;
    background-size: cover;
}

/*
    Hero
*/

.hero {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 3rem;
    padding-bottom: 3rem;
    min-height: calc(30vh + 20vw);
    color: #fff;
    background-position: center center;
    background-size: cover;
}

    .hero .page-title {
        color: inherit;
    }

    .hero__text .page-title,
    .hero__text p {
        display: inline;
        background: #283C96;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
    }

    .hero__text .page-title {
        padding: 0 .75rem;
		line-height: initial;
    }

    .hero__text p {
        padding: .5rem .75rem;
    }

.hero--small {
    padding-top: 4rem;
    padding-bottom: 4rem;
    min-height: auto;
}

/* MODULES
================================================== */

/*
    Carousels
*/

.swiper-pagination {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

    .swiper-pagination-bullet {
        transition: all .3s;
    }

.swiper-outer {
    position: relative;
}

    .swiper-outer .swiper-container {
        position: static;
    }

.swiper-button-prev,
.swiper-button-next {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: calc(1.5rem + 1.5vw);
    color: #fff;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    display: none;
}

.hero-carousel .swiper-slide {
    height: auto;
}

    .hero-carousel .swiper-slide .hero {
        height: 100%;
    }

    .hero-carousel .swiper-button-prev,
    .hero-carousel .swiper-button-next {
        margin: 0;
        transform: translate(0, -50%);
    }

.picture-carousel {
    position: static;
}

    .picture-carousel figure {
        height: calc(10rem + 21.5vw);
        margin: 0;
    }

        .picture-carousel figure img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

.logo-carousel .swiper-button-prev,
.logo-carousel .swiper-button-next {
    color: #283C96;
}

.logo-carousel .swiper-button-prev {
    left: 0;
}

.logo-carousel .swiper-button-next {
    right: 0;
}

    .logo-carousel img {
        height: 4rem;
    }

/*
    Icon Box
*/

.icon-box {
    font-size: 1rem;
    text-align: center;
}

    .icon-box img {
        width: 4.75rem;
        height: 4.75rem;
        margin-bottom: 1.5rem;
    }

    .icon-box__title {
        font-size: 1.25rem;
        text-transform: uppercase;
        font-weight: 400;
    }

/*
    Category Box
*/

.category-box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding-bottom: 37%;
    text-shadow: 0 0 .5rem rgba(0 0 0 / 80%);
}

.category-box,
.category-box:hover {
    color: #fff;
}

    .category-box figure {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        transition: all .4s;
    }

        .category-box figure img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    .category-box__content {
        position: absolute;
        z-index: 1;
        top: 50%;
        left: 0;
        right: 0;
        padding: 0 1rem;
        text-align: center;
        font-size: calc(1rem + 1.5vw);
        margin: 0;
        transform: translate(0, -50%);
    }

.category-box:hover figure {
    transform: scale(1.1);
}

.category-box--square {
    padding-bottom: 100%;
}

/*
    Panel
*/

.panel {
    border: .375rem solid #CFC1A5;
    background: #fff;
}

/*
    Partners
*/

.partners {
    padding: 1rem;
    color: #fff;
    background-size: cover;
    background-position: center center;
}

    .partners__item {
        position: relative;
        display: flex;
        align-items: center;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .partners__item:not(:last-child) {
        border-bottom: 1px solid rgba(255 255 255 / 30%);
    }

        .partner img {
            position: absolute;
            top: 50%;
            left: 0;
            max-width: 3rem;
            transform: translate(0, -50%);
        }

.partner {
    position: relative;
    padding-left: 4rem;
}

    .partner blockquote {
        margin-bottom: 0;
    }
        
/*
    Timeline
*/

.timeline {
    display: flex;
    flex-direction: column;
}

    .timeline__step {
        position: relative;
        padding-left: 2.75rem;
        padding-bottom: 1rem;
        margin-left: 2rem;
        border-left: 4px solid #283C96;
    }

    .timeline__step:first-child {
        min-height: 2rem;
    }

        .timeline__circle {
            position: absolute;
            display: block;
            top: .6875rem;
            left: -2px;
            width: 2rem;
            height: 2rem;
            margin: 0 auto 1.25rem;
            border: .375rem solid #CFC1A5;
            background-color: #283C96;
            border-radius: 100%;
            transform: translate(-50%, 0);
        }

        .timeline__year {
            font-size: 2.25rem;
            font-weight: 800;
            color: #283C96;
        }

        .timeline__step *:last-child {
            margin-bottom: 0;
        }

/*
    Map
*/

.map {
    position: relative;
}

    .map iframe {
        display: block;
        width: 100%;
        height: 80vh;
        min-height: 30rem;
        border: 0;
    }

    .map__content {
        padding: 1.5rem;
        color: #fff;
        background-color: #283C96;
    }

/*
    Post Box
*/

.post-box {
    display: block;
}

.post-box,
.post-box:hover {
    color: #000;
}

    .post-box figure {
        position: relative;
        margin-bottom: 0;
        transition: all .6s;
    }

    .post-box figure:after {
        display: block;
        content: "";
        padding-bottom: 50%;
    }

        .post-box figure img {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    .post-box .panel {
        position: relative;
        z-index: 2;
        transition: all .6s;
    }

    .post-box .figure-shadow + * .panel {
        margin-top: -2rem;
    }

    .post-box__meta {
        display: flex;
        flex-wrap: wrap;
        margin: 0;
        padding: 0;
        font-size: 1rem;
        list-style-type: none;
    }

        .post-box__meta li {
            margin: 0 2rem 1rem 0;
        }

a.post-box:hover figure {
    transform: scale(.95);
}

a.post-box:hover .panel {
    transform: translate(0, -2rem);
}


/*
    Pagination
*/

.pagination {
    justify-content: center;
}

    .pagination li {
        margin: 0 .125rem .25rem;
    }

    .pagination a,
    .pagination span,
    .pagination .page-numbers {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 3rem;
        height: 3rem;
        padding-left: .5rem;
        padding-right: .5rem;
        white-space: nowrap;
        text-align: center;
    }

    .pagination a {
        color: #000;
    }

    .pagination a:hover {
        background: #CFC1A5;
    }

    .pagination span {
        color: #fff;
        background: #283C96;
    }

/*
    Product Box
*/

.product-box {
    position: relative;
    display: block;
    overflow: hidden;
    height: 17rem;
    border: .375rem solid #CFC1A5;
    background-color: #CFC1A5;
}

    .product-box figure {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: 0;
        transition: all .4s;
    }

        .product-box figure img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    .product-box__title {
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        max-width: 95%;
        padding: 1rem;
        font-weight: 400;
        font-size: 1.25rem;
        color: #000;
        background: #CFC1A5;
    }

a.product-box:hover figure {
    transform: scale(1.05);
}

/* COMPONENTS
================================================== */

/*
	Buttons
*/

.btn {
    padding: .406875rem 1.75rem;
    border-width: .375rem;
    font-size: 1.125rem;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: none;
    border-radius: 0;
}

.btn:focus,
.btn:active:focus {
    box-shadow: 0 0 0 .25rem rgba(0 0 0 / 10%);
}

.btn-primary,
.btn-primary:focus,
.btn-primary.disabled,
.btn-primary:disabled {
    border-color: #283C96;
    background-color: #283C96;
}

.btn-primary.disabled,
.btn-primary:disabled {
    opacity: .3;
}

.btn-primary--border,
.btn-primary--border:focus {
    border-color: #CFB47D;
}

.btn-primary:hover {
    border-color: #CFB47D;
    background-color: #CFB47D;
}

/*
	Form components
*/

.form-control {
    padding: .75rem 1rem;
    font-size: 1.125rem;
    font-weight: 700;
    border: 0;
    border-radius: 0;
}

.form-control,
.form-control:focus {
    border-color: #ededed;
}

.form-control:focus {
    box-shadow: 0 0 0 .25rem rgba(0 0 0 / 10%);
}

.form-check {
    padding-left: 2em;
}

    .form-check a {
        text-decoration: underline;
        color: inherit;
    }

    .form-check a:hover {
        text-decoration: none;
    }

    .form-check .form-check-input {
        width: 1.4em;
        height: 1.4em;
        margin-left: -2em;
        margin-top: 0;
        border-width: 0;
        background-color: #DEDEDE;
    }

    .form-check .form-check-input[type="checkbox"] {
        border-radius: .25rem;
    }

    .form-check .form-check-input:focus {
        box-shadow: 0 0 0 .25rem rgba(0 0 0 / 5%);
    }

    .form-check .form-check-input:checked {
        border-color: #CA9B61;
        background-color: #CA9B61;
    }

/*
    Titles
*/

.page-title {
    font-size: 2.75rem;
    line-height: 1;
}

.section-title {
    font-size: 2rem;
    line-height: 1.1;
}

.separator-title {
    overflow: hidden;
    font-size: 1.25rem;
    color: #000;
}

    .separator-title span {
        position: relative;
        display: inline-block;
        padding: 0 1rem;
    }

    .separator-title span:before,
    .separator-title span:after {
        position: absolute;
        content: "";
        top: 50%;
        width: 2000px;
        height: .25rem;
        background: #283C96;
    }

    .separator-title span:before {
        right: 100%;
    }

    .separator-title span:after {
        left: 100%;
    }

.title-border {
    padding-bottom: 1rem;
    border-bottom: 3px solid #CFB47D;
}

/*
    Figures
*/

.figure-shadow {
    box-shadow: 0 .5rem 2rem rgba(0 0 0 / 30%);
}

/*
    Quotes
*/

blockquote p {
    margin-bottom: 0;
}

blockquote cite {
    font-style: normal;
    color: #CFB47D;
}

/*
    Social
*/

.social {
    display: flex;
    align-items: center;
    font-size: 1.125rem;
    line-height: 1.25;
}

    .social i {
        font-size: 4rem;
        margin-right: 1rem;
    }

/*
    Breadcrumb
*/

.breadcrumb {
    color: #283C96;
}

    .breadcrumb-item + .breadcrumb-item::before {
        content: "»";
        color: inherit
    }

/*
    Contact Form 7
*/

.wpcf7 form .wpcf7-response-output {
    padding: 1rem 1.5rem;
}

.form-check span {
    display: inline;
    margin: 0;
}

/* GLOBALS
================================================== */

.full-height {
    min-height: calc(100vh - 9.375rem);
}

.miw--260 {
    min-width: 16.25rem;
}

.text--xl {
    font-size: 1.25rem;
}

.layer {
    position: relative;
}

.layer:after {
    position: absolute;
    content: "";
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000;
    opacity: .4;
}

    .layer > * {
        position: relative;
        z-index: 2;
    }

.fw--800 {
    font-weight: 800;
}

.fw--400 {
    font-weight: 400;
}

.last-child--mb-0 > *:last-child {
    margin-bottom: 0;
}

.bg--white {
    background-color: #fff;
}

.c--primary {
    color: #283C96 !important;
}

.c--body {
    color: #000;
}

.border--y-primary {
    border-top: .375rem solid #283C96;
    border-bottom: .375rem solid #283C96;
}

.border--y-secondary {
    border-top: .375rem solid #CFC1A5;
    border-bottom: .375rem solid #CFC1A5;
}

.mt--n5 {
    margin-top: -3rem;
}

.mb--n5 {
    margin-bottom: -3rem;
}

.zindex--2 {
    z-index: 2;
}

/* RESPONSIVE
================================================== */

/*
	XS
*/

@media screen and (max-width: 575px) {

}

/*
	SM and down
*/

@media screen and (max-width: 767px) {

}

/*
	MD and down
*/

@media screen and (max-width: 991px) {

}

/*
	LG and down
*/

@media screen and (max-width: 991px) {

}

/*
    XL and up
*/
 
@media screen and (max-width: 1199px) {

    /*
		Navigation
	*/

	.mobile-menu-btn {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 1.25rem;
		height: 1rem;
        margin-left: auto;
		transition: all .3s;
	}

        .mobile-menu-btn span {
            display: block;
            width: 100%;
            height: 2px;
            background: #283C96;
        }

    .main-menu {
        display: none;
    }

    .section-picture__panel--bottom {
        position: relative;
        z-index: 3;
        margin-top: -2rem;
    }

    .section-picture__panel--top {
        position: relative;
        z-index: 3;
        margin-bottom: -2rem;
    }

    .section-picture__panel--top-center {
        position: relative;
        z-index: 3;
        margin-bottom: -2rem;
    }

}

/*
    XL and up
*/
 
@media screen and (max-width: 1500px) {

    html {
        font-size: 85%;
    }

}

/*
	LG and up
*/

@media screen and (min-width: 992px) {

    .section {
        padding-top: 6rem;
        padding-bottom: 4rem;
    }

    .page-title {
        font-size: 3.5rem;
    }

    .section-title {
        font-size: 2.5rem;
    }

    .separator-title {
        font-size: 1.5rem;
    }

    .partners__item {
        min-height: 15.625rem;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .partners__item:not(:last-child) {
        border-bottom: 0;
    }

    .partners__item:nth-child(2n + 1) {
        padding-right: 2rem;
    }

    .partners__item:nth-child(2n + 0) {
        padding-left: 2rem;
    }

    .partners__item:before,
    .partners__item:after {
        position: absolute;
        content: "";
        opacity: .3;
    }

    .partners__item:before {
        top: 1rem;
        right: 0;
        bottom: 1rem;
        border-right: 1px solid #fff;
    }

    .partners__item:after {
        bottom: 0;
        border-bottom: 1px solid #fff;
    }

    .partners__item:nth-child(2n + 1):after {
        left: 0;
        right: 1rem;
    }

    .partners__item:nth-child(2n + 0):after {
        left: 1rem;
        right: 0;
    }

    .partners__item:nth-child(2n + 0):before,
    .partners__item:nth-last-child(-n + 2):after {
        display: none;
    }

    .timeline__step {
        width: 50%;
        min-height: 7rem;
    }

    .timeline__step:first-child {
        min-height: 4rem;
    }

    .timeline__step:nth-child(odd) {
        margin-left: auto;
        padding-left: 3rem;
        border-left: 4px solid #283C96;
        border-right: 0;
    }

    .timeline__step:nth-child(even) {
        margin-left: 4px;
        padding-right: 3rem;
        border-left: 0;
        border-right: 4px solid #283C96;
        text-align: right;
    }

        .timeline__circle {
            top: 0;
            width: 4rem;
            height: 4rem;
        }

        .timeline__step:nth-child(odd) .timeline__circle {
            left: -2px;
            right: auto;
            transform: translate(-50%, 0);
        }

        .timeline__step:nth-child(even) .timeline__circle {
            left: auto;
            right: -2px;
            transform: translate(50%, 0);
        }

        .timeline__year {
            padding-top: .3125rem;
        }

    .map__content {
        position: absolute;
        z-index: 2;
        top: 50%;
        right: 50%;
        margin-right: 3rem;
        transform: translate(0, -50%);
    }

    .post-box .figure-shadow + * .panel {
        margin-top: -3.5rem;
    }

    .product-box {
        height: 22.5rem;
    }

}

/*
    LG and up
*/

@media screen and (min-width: 1200px) {

    body {
        padding-top: 9.375rem;
    }

    .text--md {
        font-size: 1.25rem;
    }

    .text--lg {
        font-size: 1.5rem;
    }

    .text--xl {
        font-size: 1.625rem;
    }

    .text--xxl {
        font-size: 2.25rem;
    }

    .full-height {
        min-height: 50rem;
    }

    .header {
        height: 9.375rem;
    }

        .header__logo {
            height: 5.625rem;
        }

        .header__languages {
            margin-left: 4rem;
            font-size: 1.25rem;
        }

    .header--sticky {
        height: 5rem;
    }

        .header--sticky .header__logo {
            height: 3.5rem;
        }

    .hero {
        height: calc(90vh - 9.375rem);
        min-height: 40rem;
        font-size: 2rem;
    }

    .hero--small {
        height: auto;
        min-height: auto;
        padding-top: 7rem;
        padding-bottom: 7rem;
    }

    .page-title {
        font-size: 5rem;
    }

    .page-title--sm {
        font-size: 4rem;
    }

    .section-title {
        font-size: 2.8125rem;
    }

    .section-title--sm {
        font-size: 2.25rem;
    }

    .section-title--lg {
        font-size: 4.125rem;
    }

    .separator-title {
        font-size: 1.875rem;
    }

        .separator-title span {
            padding: 0 2.5rem;
        }

    .icon-box__title {
        font-size: 1.5rem;
    }

    .partners__item:nth-child(2n + 0) {
        padding-left: 5rem;
    }

    .partners__item:nth-child(2n + 1) {
        padding-right: 5rem;
    }

    .partner {
        padding-left: 8rem;
    }

        .partner img {
            max-width: 6rem;
        }

    .section-picture {
        position: relative;
    }

        .section-picture__panel {
            position: absolute;
            z-index: 3;
            right: 0;
            left: 0;
        }

        .section-picture__panel--top-center {
            top: 0;
            transform: translate(0, -50%);
        }

        .section-picture__panel--top {
            top: -4rem;
        }

        .section-picture__panel--bottom {
            bottom: -4rem;
        }

    .breadcrumb {
        font-size: 1.5rem;
    }

    .logo-carousel img {
        height: 6rem;
    }
    
}
 
/*
	XXL and up
*/

@media screen and (min-width: 1551px) {

    .d-xxl {
        display: block;
    }

    .container {
        max-width: 1460px;
    }

    .container-fluid {
        padding-left: 4rem;
        padding-right: 4rem;
    }

    .swiper-button-prev,
    .swiper-button-next {
        color: #283C96;
    }

    .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        left: -10px;
        transform: translate(-100%, 0);
    }

    .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev {
        right: -10px;
        transform: translate(100%, 0);
    }

    .hero-carousel .swiper-button-prev,
    .hero-carousel.swiper-container-rtl .swiper-button-next {
        left: 2rem;
        transform: translate(0, -50%);
        color: #fff;
    }

    .hero-carousel .swiper-button-next,
    .hero-carousel.swiper-container-rtl .swiper-button-prev {
        right: 2rem;
        transform: translate(0, -50%);
        color: #fff;
    }

}

/*
	XXL and up
*/

@media screen and (min-width: 1801px) {

    .figure-right {
        position: relative;
        left: 6rem;
    }

    .figure-left {
        position: relative;
        left: -6rem;
    }

}