/***************************/
/******** GENERAL **********/
/***************************/

.tns-item, .tns-item .legend, .tns-item .container, .tns-item .image.filter::after, .tns-item .image.filter::before, .tns-item .image.video::before, .tns-item .image.video .play, .tns-item .img.video .play, .tns-item .image.video video, .tns-item .img.video video, .tns-item img {
    perspective: 1000px !important;
    backface-visibility: hidden !important;
    transform: translate3d(0, 0, 0);
    -webkit-perspective: 1000px !important;
    -webkit-backface-visibility: hidden !important;
    -webkit-transform: translate3d(0, 0, 0);
}



/***************************/
/******** BUTTONS **********/
/***************************/


.button,
.button:hover,
.button:focus {
    position: relative;
    display: inline-block;
    padding: 16px 29px 18px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.38;
    letter-spacing: normal;
    isolation: isolate;
    color: var(--primary);
    width: max-content;
    text-align: center;
}   

.button::before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	border-radius: 50px;
	transition: var(--transition);
	will-change: transform;
	z-index: -1;
    opacity: 0.4;
    background-color: #d5e4f6;
	overflow: hidden;
}

.button.selected,
.button:hover {
    color: var(--white);
}

.button.selected::before,
.button:hover::before {
    /* transform: scale(1.05); */
    background-color: var(--primary);
    opacity: 1;
}


.button.white-button::before {
    background-color: #ffffff;
    opacity: 0.6;
}

.button.white-button:hover {
    color: var(--primary);
}

.button.white-button:hover::before {
    opacity: 1;
}


.button.inverted {
    color: var(--white);
}

.button.inverted::before {
    background-color: var(--primary);
    opacity: 1;
}

.button.inverted:hover {
    color: var(--primary);
}

.button.inverted:hover::before {
    opacity: 0.4;
    background-color: #d5e4f6;
}

@media(max-width: 767px) {
    .button,
    .button:hover,
    .button:focus {
        padding: 10px 20px 11px;
        width: 100%;
    } 
}






/***************************/
/********* HEADER **********/
/***************************/


body > header {
    height: 100px;
    width: 100%;
    padding: 28px 30px 17px;
    position: fixed;
    top: 0;
    z-index: 10;
    display: flex;
    justify-content: space-between;
     align-items: start;
    transition: var(--transition);
}

body > header::before {
    content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--black);
    opacity: 0;
    pointer-events: none;
    transition: var(--transition);
    -webkit-transition: var(--transition);
}

header.open::before {
    opacity: .8;
    pointer-events: auto;
    z-index: 10;
}

header.fixed {
    background-color: #ffffff;
}

.index header.fixed {
    box-shadow: rgba(0, 0, 0, 0.05) -2.8px 8.6px 24px 0px;
}



header .logo {
    max-width: 278px;
    z-index: 3;
    margin: 0;
    position: relative;
    display: block;
    max-height: 55px;
    height: 100%;
}

header .logo::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    transition: var(--transition);
    -webkit-mask-image: url("/assets/img/logo/logo.svg");
    mask-image: url("/assets/img/logo/logo.svg");
    background-color: var(--white);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    aspect-ratio: 276 / 55;
}

header.open .logo {
    z-index: 1;
    pointer-events: none;
}

body:has(.no-img) header .logo::before,
header.fixed .logo::before{
    background-color: var(--primary);
}

header .header-content {
    display: flex;
    gap: 30px;
    justify-content: flex-end;
    align-items: center;
}

header .header-content > div {
    display: flex;
    align-items: center;
    gap: 24px;
    justify-content: flex-end;
    flex-direction: row-reverse;
}

header .header-content > div .button {
    font-size: 15px;
    color: var(--black);
    padding: 10px 15px;
    white-space: nowrap;
}

header:not(.fixed) .header-content > div .button:hover {
    opacity: 0.8;
}

body:has(.no-img) header .header-content > div .button ,
header.fixed .header-content > div .button {
    color: var(--white);
}

header .header-content > div .button::before {
    background-color: #ffffff;
}

body:has(.no-img) header .header-content > div .button::before, 
header.fixed .header-content > div .button::before {
    background-color: var(--primary);
}

body:has(.no-img) header .header-content > div .button:hover,
header.fixed .header-content > div .button:hover {
    color: var(--black);
}

body:has(.no-img) header .header-content > div .button:hover::before,
header.fixed .header-content > div .button:hover::before {
    opacity: 0.4;
    background-color: #d5e4f6;
}

header .header-content > div .button::before {
    opacity: 1;
}

header:not(.mobile) .header-content>div:first-of-type {
    z-index: 2;
}

header .header-content nav ul {
    display: flex;
    gap: 25px;
    color: var(--white);
    white-space: nowrap;
    font-size: 15px;
}

body:has(.no-img) header .header-content nav ul ,
header.fixed .header-content nav ul {
    color: var(--black);
}

header .header-content nav ul li{
    position: relative;
    display: flex;
    align-items: center;
}

header .header-content nav > ul > li > a{
    z-index: 2;
}

header:not(.mobile) .header-content nav > ul > li > a::after {
    content: "";
    width: 5px;
    height: 5px;
    background: white;
    border-radius: 50%;
    position: absolute;
    left: 0;
    right: 0;
    top: -15px;
    margin-inline: auto;
    transition: var(--transition);
    opacity: 0;
}

header:not(.mobile) .header-content li.active a::after, 
header:not(.mobile) .header-content li:hover a::after {
    opacity: 1;
}

body:has(.no-img) header .header-content li.active a::after, 
body:has(.no-img) header .header-content li:hover a::after,
header.fixed .header-content li.active a::after, 
header.fixed .header-content li:hover a::after {
    background: var(--primary);
}

header .header-content li .submenu-wrapper {
    display: flex;
    margin: 0;
    position: absolute;
    pointer-events: none;
    opacity: 0;
    transition: var(--transition);
    margin-left: -29px;
    padding-top: 35px;
    top: 0;
}

header .header-content li:hover {
    z-index: 2;
}

header .header-content li:has(:hover) .submenu-wrapper {
    pointer-events: all;
    opacity: 1;
}

header .header-content li .submenu-wrapper li a {
    color: var(--black);
    font-size: 14px;
    font-weight: 300;
    line-height: 1.79;
    width: 100%;
}

header .header-content nav > ul > li > .submenu-wrapper > ul > li:has(:hover) > a,
header .header-content li .submenu-wrapper li a:hover,
header .header-content li .submenu-wrapper li.active > a {
    color: var(--primary);
}

header .header-content nav > ul > li > .submenu-wrapper > ul > li:has(:hover) > span::before {
    background-color: var(--primary);
}

header .header-content li .submenu-wrapper ul {
    display: flex;
    margin: 0;
    padding: 25px 0;
    flex-direction: column;
    box-shadow: 0px 10px 9px 0 rgba(0, 0, 0, 0.09);
    border-radius: 10px;
    z-index: 1;
    background-color: white;
    position: relative;
    gap: 4px;
    
}

header .header-content li .submenu-wrapper ul li {
    padding: 0 40px 0 30px;
    position: relative;
    width: max-content;
    width: 100%;
    min-width: 250px;
}

header .header-content li .submenu-wrapper ul li:has(.submenu-wrapper) .submenu-wrapper {
    opacity: 0;
    pointer-events: none;
    width: max-content;
    padding: 0 0 0 2px;
    top: -25px;
    left: 99%;
    margin-left: 0;
}

header .header-content li .submenu-wrapper ul li:has(.submenu-wrapper):hover .submenu-wrapper {
    opacity: 1;
    pointer-events: all;
}

header .header-content li .submenu-wrapper ul li:has(li) a + span {
    display: inline-block;
    position: absolute;
    right: 30px;
    height: 10px;
    width: 5px;
    top: 0;
    bottom: 0;
    margin: auto;
}

header .header-content li .submenu-wrapper ul li:has(li) a + span::before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    transition: var(--transition);
    -webkit-mask-image: url("/assets/img/svg/small-caret.svg");
    mask-image: url("/assets/img/svg/small-caret.svg");
    background-color: #bdbcbc;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

header .header-content li .submenu-wrapper ul li:has(li) a:hover + span::before {
    background-color: var(--primary);
}

body:has(.no-img) header .header-content>div>a:not(.button),
header.fixed .header-content>div>a:not(.button) {
    color: #9d9d9d;
}

header .header-content>div>a:not(.button):hover {
    opacity: var(--opacity);
}

header .search-form {
    text-align: center;
    display: flex;
    align-items: center;
}

header .header-menu .search-form{
    display: none;
}

header .search-form input {
    line-height: 1;
    color: var(--white);
    background-color: transparent;
    appearance: none;
    -webkit-appearance: none;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid rgb(225, 225, 225, 0);
    width: 100%;
    height: 30px;
    border-radius: 0;
    padding: 0;
    font-family: var(--font-family);
    font-size: 13px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    letter-spacing: normal;
    width: 0px;
    max-width: 0px;
    opacity: 0;
    transition: var(--transition);
}

body:has(.no-img) header .search-form input,
header.open .search-form input,
header.fixed .search-form input {
    color: var(--black);
}

header .search-form.search-open input {
    max-width: 250px;
    width: 250px;
    opacity: .9;
    transition: var(--transition);
    padding-right: 20px;
    border-bottom: 1px solid rgb(255, 255, 255,.6);
}

body:has(.no-img) header .search-form.search-open input,
header.open .search-form.search-open input,
header.fixed .search-form.search-open input {
    border-bottom: 1px solid rgb(0, 0, 0);
}

header .search-form.search-open button {
    margin-left: -15px;
}

header>div .search-form button {
    position: relative;
    display: inline-block;
    width: 15px;
    height: 15px;
    transition: var(--transition);
    z-index: 2;
    margin: 0;
    background: none;
    border: none;
}

header>div .search-form button::before {
    overflow: visible;
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    transition: var(--transition);
    -webkit-mask-image: url(/assets/img/svg/search.svg);
    mask-image: url(/assets/img/svg/search.svg);
    background-color: var(--white);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    top: 0;
    left: 0;
}

header>div .search-form button:hover::before {
    opacity: 0.5;
}

body:has(.no-img) header div .search-form button::before,
header.fixed>div .search-form button::before {
    background-color: var(--black);
}

header .menu-toggle {
    position: relative;
    display: none;
    width: 31px;
    height: 17px;
    cursor: pointer;
    pointer-events: all;
    display: none;
}

header.open .menu-toggle {
    width: 20px;
    height: 20px;
    padding: 0;
    position: absolute;
    top: 24px;
    right: 24px;
    transition: none;
}

header .menu-toggle span {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    height: 3px;
    background-color: var(--white);
    z-index: 1;
    pointer-events: none;
    border-radius: 5px;
    width: 24px;
}

header.mobile .menu-toggle span {
    height: 2px;
}
header.mobile.open .menu-toggle span {
    height: 2px;
}

header.open .menu-toggle span {
    background-color: var(--black);
}

body:has(.no-img) header .menu-toggle span,
header.fixed .menu-toggle span {

    background-color: var(--black);
}

header .menu-toggle span:first-child {
    transform: translateY(0px);

}

header .menu-toggle span:nth-child(2) {
    margin-left: auto;
    margin-right: 0px;
    transform: translateY(7px);
}

header .menu-toggle span:last-child {
    transform: translateY(14px);
}

header.open .menu-toggle {
    z-index: 11;
}

header.open .menu-toggle span:first-child {
    transform: translate(2px, 6px)rotate(45deg);
    width: 15px;
    margin: 0;
}

header.open .menu-toggle span:nth-child(2) {
    opacity: 0;
}

header.open .menu-toggle span:last-child {
    transform: translate(2px, 6px)rotate(-45deg);
    margin: 0;
    width: 15px;
}

header .menu .menu-section .menu-toggle:hover span {
    background-color: var(--black);
}







header .header-content > .side-menu,
header.mobile .header-menu {
    display: none;
}

header.mobile .side-menu {
    position: fixed;
    height: 100vh;
    max-width: 92vw;    
    background-color: white;
    top: 0;
    right: 0;
    flex-direction: column;
    transform: translateX(100%);
    transition: var(--transition);
    -webkit-transition: var(--transition);
    z-index: 10;
    width: 442px;
    display: block;
    justify-content: flex-start;
    padding: 60px 0;
    flex-direction: column;
    display: flex;
    gap: 10px;
}

header.mobile.open .side-menu {
    transform: translateX(0%);
}

header.mobile .search-form {
    display: none;
}


header.mobile .search-form.mobile-search {
    text-align: center;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 0 20px;
}

header.mobile .search-form.mobile-search input {
    display: block;
    line-height: 1;
    color: var(--black);
    appearance: none;
    -webkit-appearance: none;
    background-color: #ffffff;
    border: none;
    border: 2px solid #f0f0f0;
    width: 100%;
    max-width: 100%;
    font-family: var(--font-family);
    border-radius: 50px;
    font-size: 13px;
    font-weight: 300;
    letter-spacing: normal;
    padding: 9.5px 22px;
    transition: var(--transition);
    position: relative;
    height: unset;
    opacity: 1;
}

header.mobile .search-form.mobile-search button {
    height: 20px;
    width: 20px;
    position: absolute;
    right: 36px;
    background: none;
    border: none;
    margin: auto;
    top: 0;
    bottom: 0;
}

header > div .search-form.mobile-search button::before {
    background-color: var(--black);
    width: 12px;
    height: 12px;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

header.mobile .side-menu .button {
    width: 100%;
    max-width: calc(100% - 40px);
    margin: 0 auto;
    display: flex;
    justify-content: center;
    color: var(--white);
    font-size: 14px;
}

header.mobile .side-menu .button::before {
    background-color: var(--primary)
}

header.mobile .side-menu nav {
    width: 100%;
    margin-top: 10px;
}

header.mobile .side-menu nav ul {
    flex-direction: column;
    font-size: 14px;
    color: var(--black);
    gap: 0;
    width: 100%;
}

header .side-menu nav ul ul {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: var(--transition);
}

header .side-menu nav ul ul li ul {
    padding: 0 20px;
}

header .side-menu nav ul ul li.open ul {
    padding: 10px 20px;
}

.side-menu nav ul li.open > ul {
    max-height: 1000px;
    overflow: visible;
    opacity: 1;
    padding-top: 15px;
}

.side-menu .toggle-submenu {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.side-menu .toggle-submenu::before {
    content: "";
    cursor: pointer;
    display: inline-block;
    width: 6px;
    height: 12px;
    -webkit-mask-image: url('/assets/img/svg/mobile-menu-caret.svg');
    mask-image: url('/assets/img/svg/mobile-menu-caret.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transition: var(--transition);
    background-color: #bdbcbc;
    object-fit: contain;
}

.side-menu li > .option-wrapper > a {
    font-size: 14px;
}

.side-menu li.open > .option-wrapper > a {
    color: var(--primary);
}

.side-menu li.open > .option-wrapper > .toggle-submenu::before {
    transform: rotate(90deg); 
    background-color: var(--primary);
}

header.mobile .side-menu nav ul li {
    pointer-events: auto;
    width: 100%;
    margin: 0;
    position: relative;
    flex-direction: column;
    align-items: start;
}

header.mobile .side-menu  nav > ul > li {
    padding: 17px 20px 16px;
}

header.mobile .side-menu  nav > ul > li ul li a {
    font-size: 13px;
    line-height: 1.92;
}

header.mobile .side-menu  nav > ul > li ul li a:hover {
    color: var(--primary);
}

header.mobile .side-menu  nav > ul > li .option-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

header.mobile .side-menu nav > ul > li + li {
    border-top: 1px solid #f0f0f0;
}

header.mobile .menu-toggle {
    display: block;
}



@media (max-width: 768px) {

    body > header {
        height: 64px;
        padding: 15px 20px;
    }

    header .logo {
        max-width: 169px;
        max-height: 34px;
    }

}


@media (min-width: 768px) {

    header .menu-toggle:hover span:nth-child(2){
        margin-right: 0;
    }
}
@media(max-width:  500px) {

    header .search-form.search-open input {
        width: 100px;
    }
}

header:not(.mobile) .header-menu ul .mobile-footer{
    display: none;
}














/***************************/
/********* FOOTER **********/
/***************************/

footer {
    margin-top: 70px;
    position: relative;
}

footer .top-wrapper {
    position: relative;
    /* aspect-ratio: 1440 / 550; */
    padding: 20px 20px 90px;
    background-color: #d5e4f7;
}

footer .top-wrapper .container{
    position: relative;
    display: flex;
    gap: 60px;
    font-size: 18px;
    line-height: 1.58;
    color: #545353;
    justify-content: space-between;
    padding: 0 20px;
    max-width: 1180px;
}

footer > img {
    display: block;
}

footer > img.bg-mobile {
    display: none;
}

footer .top-wrapper .footer-logo {
    display: block;
    width: 94px;
    height: 90px;
    margin-right: 70px;
    margin-top: 8px;
}

footer .top-wrapper .footer-logo::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    width: 94px;
    height: 90px;
    transition: var(--transition);
    -webkit-mask-image: url("/assets/img/svg/footer-logo.svg");
    mask-image: url("/assets/img/svg/footer-logo.svg");
    background-color: var(--primary);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

footer .top-wrapper .footer-title {
    font-weight: 500;
    margin-bottom: 10px;
    color: var(--black);
}

footer .top-wrapper a:not(.button):hover {
    color: var(--primary);
}

footer .top-wrapper .footer-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 280px;
}

footer .top-wrapper .footer-container  a:not(.button){
    font-weight: 300;
}

footer .top-wrapper .footer-container small {
    font-size: 11px;
    line-height: 3;
}

footer .top-wrapper .footer-container p {
    margin: 0;
}

footer .top-wrapper .footer-container a.button {
    padding: 10px 16px 11px;
    font-size: 14px;
    margin-top: 20px;
}

footer .bottom-wrapper {
    background-color: #ecf3fb;
    padding: 35px 20px;
}

footer .bottom-wrapper .container {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    max-width: 1180px;
}

footer .bottom-wrapper div.reserved-rights {
    display: flex;
    gap: 20px;
    flex-direction: column;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.46;
    text-align: left;
    color: #545353;
}

footer .bottom-wrapper div.reserved-rights .bluesoft-wrapper{
    margin-left: 10px;
}

footer .bottom-wrapper div.reserved-rights a:hover{
    color: var(--primary);
}

footer .bottom-wrapper div.reserved-rights > div {
    display: flex;
    flex-wrap: wrap;
}

footer .bottom-wrapper div.reserved-rights .footer-socials {
    gap: 25px;
}

footer .bottom-wrapper div.reserved-rights .footer-socials i {
    font-size: 18px;
    color: #021565;
    transition: var(--transition);
}

footer .bottom-wrapper div.reserved-rights .footer-socials i:hover {
    color: var(--primary);
}

footer .bottom-wrapper .footer-icons {
    display: flex;
    gap: 24px;
}

footer .bottom-wrapper .footer-icons img {
    max-height: 74px;
    object-fit: contain;
    width: 100%;

}



@media (max-width: 768px) {

    footer .top-wrapper {
        aspect-ratio: unset;
        padding: 24vw 20px 60px;
    }

    footer .top-wrapper > img {
        display: none;
    }

    footer .top-wrapper > img.bg-mobile {
        display: block;
    }
    
    footer .top-wrapper .footer-logo {
        margin: 0;
        width: 52px;
        height: 50px;
    }

    footer .top-wrapper .footer-logo::before {
        width: 52px;
        height: 50px;
    }

    footer .top-wrapper .container {
        gap: 28px;
        flex-direction: column;
        align-items: center;
        font-size: 16px;
        line-height: 1.42;
        padding: 0;
    }

    footer .top-wrapper .footer-container {
        text-align: center;
    }

    footer .top-wrapper .footer-title {
        margin-bottom: 6px;
    }

    footer .top-wrapper .footer-container a.button {
        margin-top: 15px;
    }

    footer .top-wrapper .footer-container small {
        line-height: 2;
    }

    footer .bottom-wrapper {
        padding: 50px 20px;
    }

    footer .bottom-wrapper .container {
        display: flex;
        gap: 25px;
        justify-content: space-between;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    footer .bottom-wrapper div.reserved-rights {
        gap: 20px;
        font-size: 13px;
        font-weight: 300;
        line-height: 1.77;
        text-align: center;
        align-items: center;
        padding: 0 20px;
    }

    footer .bottom-wrapper div.reserved-rights > div {
        justify-content: center;
    }
    
    footer .bottom-wrapper div.reserved-rights .footer-socials {
        gap: 20px;
    }

    footer .bottom-wrapper div.reserved-rights .bluesoft-wrapper {
        margin: 0;
        display: block;
        text-align: center;
    }

    footer .bottom-wrapper .footer-icons img {
        max-height: 55px;
    }
}













/*********************************************/
/********* Video-wrapper Fullscreen **********/
/*********************************************/


.video-wrapper-fullscreen-galeria,
.video-wrapper-fullscreen {
	position: fixed !important;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100vw;
	height: 100vh;
	background-color: #000;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
	transition: var(--transition);
	padding: 50px 20px;

}

.video-wrapper-fullscreen.active,
.video-wrapper-fullscreen.active iframe,
.video-wrapper-fullscreen.active video,
.video-wrapper-fullscreen-galeria.open,
.video-wrapper-fullscreen-galeria.open iframe,
.video-wrapper-fullscreen-galeria.open video {
	opacity: 1;
	pointer-events: all;
    display: block;
}

.video-wrapper-fullscreen .close,
.video-wrapper-fullscreen-galeria .close {
	display: block;
	position: absolute;
	top: 20px;
	right: 30px;
	width: 30px;
	height: 30px;
	mask-image: url(/assets/img/svg/close.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center center;
	-webkit-mask-image: url(/assets/img/svg/close.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	background-color: white;
	cursor: pointer;
    z-index: 9;
}

.video-wrapper-fullscreen video,
.video-wrapper-fullscreen iframe,
.video-wrapper-fullscreen-galeria video,
.video-wrapper-fullscreen-galeria iframe {
	width: 100%;
	height: 100%;
	display: none;
	border: none;
}


@media(min-width:992px){
    .video-wrapper-fullscreen-galeria,
    .video-wrapper-fullscreen {
        padding: 50px 100px;
    }
}












/*****************************/
/****** ARTICLE SECTION ******/
/*****************************/


.article-section {
    margin-top: 120px;
}

.article-section .container:has(.tns-slider) {
    max-width: 1340px;
    padding: 0 80px;
}

.article-section header {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.article-section header h2 {
    font-family: var(--font-family-title);
    font-size: 40px;
    font-weight: 500;
    line-height: 1.11;
    letter-spacing: normal;
    text-align: left;
    color: var(--black);
    margin: 0;
}

.article-section header a {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.38;
    letter-spacing: normal;
    text-align: right;
    color: var(--primary);
}

.article-section header a:hover {
    opacity: 0.7;
}

.article-section .article-wrapper {
    margin-top: 37px;
    position: relative;
}

.article-section .article-wrapper>div:not(.tns-slider, .slider-arrows) {
    display: flex;
    gap: 40px;
    justify-content: center;
}

.article-section.revista .article-wrapper>div:not(.tns-slider, .slider-arrows) {
    gap: 50px;
}

.article-section .article-wrapper>div article {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.revista .article-section .article-wrapper>div article{
    width: calc(33.3333333% - 34px);
    flex: unset;
}

.revista .article-section header{
    justify-content: center;
}

.article .article-section .article-wrapper>div article {
    width: calc(50% - 20px);
    flex: unset;
}

.article-section .article-wrapper>div article a.img-wrapper {
    display: block;
    position: relative;
}

.article-section .article-wrapper>div article a.img-wrapper::after {
    content: "";
    display: inline-block;
    height: 19px;
    width: 26px;
    -webkit-mask-image: url(/assets/img/svg/bullet-arrow.svg);
    mask-image: url(/assets/img/svg/bullet-arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--white);
    position: absolute;
    bottom: 15px;
    right: 14px;
    z-index: -1;
}

.article-section .article-wrapper>div article a.img-wrapper::before {
    content: "";
    width: 50%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: var(--primary);
    z-index: -1;
    display: block;
}

.article-section .article-wrapper>div article a.img-wrapper img {
    display: block;
    border-top-left-radius: 80px;
    transition: var(--transition);
}

.article-section.revista .article-wrapper>div article a.img-wrapper img {
    border-top-left-radius: 0;
    perspective: 1000px;
}

.article-section.revista .article-wrapper > div article a{
    overflow: hidden;
}

.article-section.revista .article-wrapper>div article a.img-wrapper:hover img {
    border-top-left-radius: 0;
    border-bottom-right-radius: 0;
    transform: scale(1.05);
}

.article-section .article-wrapper>div article .article-info {
    display: flex;
    gap: 11px;
    align-items: center;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.43;
    letter-spacing: normal;
    text-align: left;
    margin-top: 15px;
}

.article-section .article-wrapper>div article .article-info span {
    color: var(--grey);
}

.article-section .article-wrapper>div article .article-info a {
    color: var(--primary);
}

.article-section.revista .article-wrapper>div article .article-info a {
    pointer-events: none;
}

.article-section .article-wrapper>div article .article-info a:hover {
    opacity: 0.7;
}

.article-section .article-wrapper>div article h3.article-title {
    margin: 6px 0 0 0;
}

.article-section .article-wrapper>div article h3.article-title a {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: left;
    color: var(--black);
}

.article-section .article-wrapper>div article h3.article-title a:hover {
    color: var(--primary);
}


.article-section .slider-arrows {
    bottom: 71px;
    left: -80px;
    width: calc(100% + 160px);
}



@media(min-width: 767px) {
    .article-section .article-wrapper>div article a.img-wrapper:hover img {
        border-top-left-radius: 150px;
        border-bottom-right-radius: 150px;
    }
}


@media(max-width: 767px) {

    .article-section {
        margin-top: 60px;
    }

    .article-section .container:has(.tns-slider) {
        padding: 0;
        box-sizing: border-box;
    }

    .article-section header {
        padding: 0 20px;
        align-items: baseline;
    }

    .article-section.revista header {
        flex-direction: column;
        gap: 20px;
    }

    .article-section header h2 {
        font-size: 28px;
        line-height: 1.13;
    }

    .article-section .article-wrapper>div article .article-info {
        gap: 9px;
        font-size: 13px;
        line-height: 1.38;
        margin-top: 15px;
    }

    .article-section.revista .article-wrapper>div article .article-info {
        justify-content: center;
    }

    .article-section .article-wrapper>div article h3.article-title a {
        font-size: 18px;
        line-height: 1.33;
    }

    .article-section.revista .article-wrapper>div article h3.article-title a {
        text-align: center;
        display: block;
    }

    .article-section .article-wrapper>div article a.img-wrapper img {
        border-top-left-radius: 50px;
    }

    .article-section .article-wrapper>div article h3.article-title {
        margin: 12px 0 0 0;
    }

    .article-section.revista .slider-arrows {
        bottom: 71px;
        left: 0;
        width: 100%;
    }

    .article-section.revista .slider-arrows>div::before {
        background-color: #cecece;
    }

    .article-section.revista .slider-arrows>div {
        width: 12px;
        height: 27px;
        margin: 10px;
    }


    .article-section .article-wrapper>div:not(.tns-slider, .slider-arrows) {
        flex-direction: column;
    }
}




.input-wrapper.select-wrapper {
    max-width: 250px;
    width: 100%;
}

.custom-select.has-reset .placeholder {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.43;
    letter-spacing: normal;
    color: #1b1819;

    padding: 0 45px 0 22px;
    min-height: 55px;
    display: flex;
    align-items: center;


    border: 2px solid #f0f0f0;
    border-radius: 30px;
    cursor: pointer;
    z-index: 3;
}

.custom-select.has-reset .options-wrapper {
    border-left: 2px solid #f0f0f0;
    border-right: 2px solid #f0f0f0;
    border-bottom: 2px solid #f0f0f0;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    padding-block: 10px;
    top: 57px;
    padding-right: 0;
    padding-left: 22px;
    margin-top: -3px;
    font-size: 15px;
}

.custom-select.isSelected .options-wrapper {
   border-left: 2px solid var(--primary);
    border-right: 2px solid var(--primary);
    border-bottom: 2px solid var(--primary);
}


.custom-select.has-reset .placeholder > div.reset {
    overflow: visible;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 21px;
    margin: auto;
    width: 13px;
    height: 7px;
    pointer-events: none;
}

.custom-select.has-reset .placeholder > div.reset::before, 
.custom-select.has-reset .placeholder > div.reset::after {
    width: 7px;
    bottom: auto;
    height: 1px;
    transition: all .2s ease-in-out;
    background-color: #252420;
}

.custom-select.has-reset .placeholder > div.reset::before {
    border-radius: 1px;
    transform-origin: 50%;
    left: 2px;
    transform: translateX(-25%) rotate(45deg) scaleX(0.9);
    top: 5px;
    background-color: #252420;
}

.custom-select.has-reset .placeholder > div.reset::after {
    border-radius: 1px;
    transform-origin: 50%;
    transform: translateX(25%) rotate(-45deg) scaleX(0.9);
    top: 5px;
    left: 3px;
}


.custom-select.has-reset.isSelected .placeholder > div.reset::before {
    transform: translateX(1px) rotate(45deg) scaleX(1.4);
    background-color: var(--primary);
}

.custom-select.has-reset.isSelected .placeholder > div.reset::after {
    transform: translateX(0) rotate(-45deg) scaleX(1.4);
    background-color: var(--primary);
}

.custom-select.has-reset.isSelected .placeholder > div.reset {
    height: 13px;
    pointer-events: all;
}

.custom-select.has-reset.isSelected .placeholder > div.reset::after,
.custom-select.has-reset.isSelected .placeholder > div.reset::before {
    height: 2px;
    width: 8px;
}

 .custom-select .options {
    padding: 0;
    overflow: auto;
}

.custom-select.open .options-wrapper, 
.custom-select.open .options {
    max-height: 250px;
    opacity: 1;
}

.custom-select.isSelected .placeholder {
    border-color: var(--primary);
    color: var(--primary);
    font-weight: 500;
}


.custom-select.open .placeholder {
    border-bottom: 2px solid rgba(255, 255, 255, 0);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.form .input-wrapper {
    padding: 11.5px 23px;
    border: 2px solid #f0f0f0;
    border-radius: 100px;
    position: relative;
    transition: var(--transition);
}

.form .input-wrapper.filled {
    border: 2px solid var(--primary);
}

.form .input-wrapper:has(textarea) {
    border-radius: 20px;

}

.form .input-wrapper input {
    font-family: var(--font-family);
    transition: var(--transition);
    font-size: 16px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.63;
    width: 100%;
}

.form .input-wrapper textarea {
    font-family: var(--font-family);
    width: 100%;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.63;
}

.form .input-wrapper label {
    position: absolute;
    left: 23px;
    top: 12px;
    transition: var(--transition);
    z-index: 2;
    font-size: 16px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: left;
    color: var(--black);
    opacity: 1;
    pointer-events: none;
    display: flex;
}

.form .input-wrapper label sup {
    font-weight: 300;
    color: var(--black);
    font-size: 10px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: left;
}


.form .select-wrapper:has(.isSelected) label, 
.form .filter-wrapper:has(.isSelected)+label, 
.form input:focus+label, 
.form textarea:focus+label, 
.form .input-wrapper.filled label, 
.form .hidden-wrapper.filled label, 
.form .checkbox-wrapper.filled input[type="text"] + label, 
.form .input-wrapper.filled input:focus+label, 
.form .input-wrapper.filled input:not(:focus)+label {
    top: -10px !important;
    left: 23px !important;
    font-size: 11px;
    color: #959595;
    font-weight: normal;
    border-radius: 20px;
    background-color: white;
    padding: 0px 2px;
    z-index: 2;
    font-size: 11px;
    opacity: 1;
}

.form .select-wrapper:has(.isSelected) label, 
.form .filter-wrapper:has(.isSelected)+label, 
.form .input-wrapper.filled label, 
.form .hidden-wrapper.filled label, 
.form .checkbox-wrapper.filled input[type="text"] + label, 
.form .input-wrapper.filled input:focus+label, 
.form .input-wrapper.filled input:not(:focus)+label {
    color: var(--primary);
}

.form .row > .privacy-policy .checkbox {
    display: flex;
    gap: 9px;
}

.content .form input[type=checkbox] {
    display: none;
    visibility: hidden;
}

.content .form input[type=checkbox]+label {
    display: inline-block;
    vertical-align: middle;
    height: 24px;
    left: 0;
    min-width: 24px;
    top: 0px;
    background-color: white;
    border: 1px solid #e2e0e0;
    border-radius: 5px;
    cursor: pointer;
    pointer-events: auto;
    position: relative;
    transition: var(--transition);
    z-index: 1;
}

.form .row > .privacy-policy .checkbox input[type=checkbox] + label {
    margin-top: 0;
}

.form .row > .privacy-policy .checkbox span {
    color: var(--black);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.38;
}

.form .row > .privacy-policy .checkbox span a {
    color: var(--primary);
    border-bottom: 1px solid rgba(255, 13, 0, 0);
    display: unset;
    font-weight: 500;
}

.form .row > .privacy-policy .checkbox span a:hover {
    opacity: 0.6;
}


.content .form input[type='checkbox']+label::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-size: .875rem;
    font-weight: bold;
    color: var(--white);
    line-height: 1;
    width: 12px;
    height: 14px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    opacity: 0;
    pointer-events: none;
    transition: var(--transition);
    -webkit-transition: var(--transition);
}

.content .form input[type='checkbox']:checked + label::before {
    opacity: 1;
    color: var(--primary);
}
/* .content input[type='checkbox']:checked+label {
    background-color: var(--primary);
    border: 1px solid var(--primary);
} */

.form .honey-input, form .honey-input {
    position: fixed;
    top: -200%;
    left: -200%;
}


.contacts .form {
    padding-top: 90px;
    background-color: rgba(245, 245, 245, 0.4);
    margin-top: 100px;
}

.contacts .form .row {
    margin-top: 55px;
}

.contacts .form .input-wrapper {
    background-color: white;
}

.newsletter .form small,
.contacts .form small {
    font-size: 11px;
    margin: 0;
}

.contacts .form  .button-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 15px;
}

.contacts .form  .button-wrapper .button {
    color: var(--white);
}

.contacts .form  .button-wrapper .button::before {
    background-color: var(--primary);
    opacity: 1;
}

.contacts .form  .button-wrapper .button:hover {
    color: var(--primary);
}

.contacts .form  .button-wrapper .button:hover::before {
    opacity: 0.4;
    background-color: #d5e4f6;
}


.contacts .form .close-form {
    width: 30px;
    height: 30px;
    right: 0px;
    top: 20px;
    transition: var(--transition);
    position: fixed;
    cursor: pointer;
    display: none;
}

.contacts .open-form-mobile {
    display: none;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 3;
    padding: 10px 20px 11px;
    color: var(--white);
}

body:has(.recruitment .recruitment-offers) footer,
body:has(.contacts) footer  {
    margin: 0;
    background-color: rgba(245, 245, 245, 0.4);
    padding-top: 70px;
}

body:has(.recruitment .recruitment-offers) footer{
    background-color: rgba(236, 243, 251, 0.45);
}

body:has(.recruitment .recruitment-offers) footer .top-wrapper,
body:has(.contacts) footer .top-wrapper {
    z-index: 1;
}

body:has(.recruitment .recruitment-offers) footer .top-wrapper > img,
body:has(.contacts) footer .top-wrapper > img {
    z-index: 0;
}


.newsletter .template .container {
    max-width: 880px;
    padding: 0 20px;
}

.newsletter .template .template-module .row{
    --gap-h: 30px;
}

.newsletter .template .form {
    margin-top: 57px;
}

.newsletter .template .form .rodape {
    font-size: 14px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.43;
    letter-spacing: normal;
    text-align: center;
    color: #8d8e8d;
    margin-top: 30px;
}

.newsletter .template .form .rodape a {
    color: var(--primary);
    display: inline-flex;
    font-weight: 500;
}

.newsletter .template .form .rodape a:hover {
    opacity: 0.6;
}

.form .input-wrapper.not-filled, 
.form input[type="checkbox"].not-filled+label, 
.form [type="file"].not-filled {
    border-color: var(--warning) !important;
}

.form .warning {
    font-size: 12px;
    font-weight: 400;
    color: var(--warning);
    height: 20px;
    margin: 0;
    margin-top: 3px;
    padding-left: 0;
    position: absolute;
    bottom: -22px;
}


@media (max-width: 768px) {

    .form .input-wrapper {
        padding: 6.5px 16px;
    }

    .form .input-wrapper input {
        font-size: 14px;
    }

    .form .input-wrapper:has(textarea) {
        border-radius: 10px;
    }

    .form .input-wrapper label {
        left: 16px;
        top: 7px;
        font-size: 14px;
    }

    .form .select-wrapper:has(.isSelected) label, 
    .form .filter-wrapper:has(.isSelected)+label, 
    .form input:focus+label, 
    .form textarea:focus+label, 
    .form .input-wrapper.filled label, 
    .form .hidden-wrapper.filled label, 
    .form .checkbox-wrapper.filled input[type="text"] + label, 
    .form .input-wrapper.filled input:focus+label, 
    .form .input-wrapper.filled input:not(:focus)+label {
        top: -9px !important;
        left: 16px !important;
    }

    .recruitment-page .job-offer-wrapper .form .row .button {
        width: 100%;
        margin-top: 5px;
        color: var(--white);
        opacity: 1;
        font-size: 0.875rem;
        padding: 6px 10px;
    }

    .form .row > .privacy-policy .checkbox span {
        font-size: 14px;
    }

    .content .form input[type='checkbox']+label::before {
        width: 10px;
        height: 12px;
    }

    .newsletter .template .template-module .row {
        --gap-h: 20px;
        margin-block: 0;
    }

    .newsletter .template .form {
        margin-top: 30px;
    }

    .newsletter .form small, .contacts .form small {
        font-size: 10px;
    }
    .newsletter .template .form .rodape {
        font-size: 11px;
        margin-top: 10px;
    }

    .contacts .form {
        position: fixed;
        height: 100vh;
        max-width: 100%;
        background-color: white;
        top: 0;
        right: 0;
        flex-direction: column;
        transform: translateX(100%);
        transition: var(--transition);
        -webkit-transition: var(--transition);
        z-index: 20;
        width: 92vw;
        padding: 70px 0;
        margin: 0;
    }

    .contacts .form.open {
        transform: translateX(0%);
        overflow: auto;
    }

    .contacts .form .close-form {
        display: block;
    }

    .contacts .form .close-form::before {
        content: "";
        position: absolute;
        width: 12px;
        height: 12px;
        right: 20px;
        top: 10px;
        -webkit-mask-image: url(/assets/img/svg/close-header.svg);
        mask-image: url(/assets/img/svg/close-header.svg);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        background-color: var(--black);
        cursor: pointer;
        transition: var(--transition);
    }

    .contacts .open-form-mobile {
        display: block;
    }

     .contacts .open-form-mobile::before {
        border-radius: 0;
        opacity: 1;
        background-color: var(--primary);
    }

    body:has(.form.open) header::before {
        opacity: .8;
        pointer-events: auto;
        z-index: 10;
    }

    .contacts .form .row {
        margin-top: 30px;
    }

    body:has(.contacts) footer {
        background-color:rgba(255, 255, 255, 0.4);
        padding-top: 25px;
    }
}