/* section{
    margin: 80px 0;
} */


section:first-of-type {
    margin-top: 0;
}

section:last-of-type {
    margin-bottom: 0;
}

section.content {
    min-height: calc(100vh - 487px);
    /* overflow: hidden; */
    position: relative;
}

.container.container-tmp {
    max-width: 1120px;
}

.index .container.container-tmp {
    max-width: 1220px;
}

body .content h2:first-child,
body .content h3:first-child,
body .content h4:first-child,
body .content ul:first-child,
body .content ol:first-child {
    margin-top: 0;
}

body .content h2:last-child,
body .content h3:last-child,
body .content h4:last-child,
body .content p:last-child,
body .content ul:last-child,
body .content ol:last-child {
    margin-bottom: 0;
}

.template hr {
    background-color: #ebe9e9;
    height: 1px;
    border: none;
}


/***************************/
/***** Banner Template *****/
/***************************/


.banner {
    text-align: center;
    position: relative;
    isolation: isolate;
    padding: 50px 0 40px;
    background-color: #fbfbfb;
}

.banner+.template>.template-module:nth-child(2),
.banner+.template {
    margin-top: 47px;
}

body .banner ul {
    padding: 0;
    list-style: none;
    display: inline-flex;
    flex-wrap: wrap;
    line-height: 1.5;
    align-items: baseline;
}

body .banner ul li {
    font-size: 12px;
    color: #a4a2a2;
    font-weight: 300;
    line-height: 1.45;
    letter-spacing: normal;
}


body .banner ul li a:hover {
    color: var(--black);
}

body.member .banner .member-details>ul li:has(+ li)::after,
body .banner ul li:has(+ li)::after {
    content: "•";
    padding-left: .6em;
    padding-right: .6em;
    color: var(--primary);
    font-size: 7px;
    line-height: 1.45;
    display: inline-block;
    vertical-align: middle;
}

body .banner.no-img .container ul li:has(+ li)::after {
    padding-left: .7em;
    padding-right: .7em;
    color: #a5a4a4;
}

.banner.no-img {
    padding-top: 140px;
    margin-top: 90px;
}

.banner.no-img .image::after {
    background-color: var(--transparent);
}

.banner.no-img .container ul li a {
    color: #a5a4a4;
}

body .banner.no-img .container ul li a:hover {
    color: var(--primary);
}

.banner h1 {
    font-size: 32px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 0.94;
    text-align: center;
    color: var(--black);
    margin: 15px 0;
}


.banner h1+span,
.banner h1>span {
    display: block;

    font-size: 1.875rem;
    font-weight: 500;
    color: var(--primary);
    margin-top: 22px;
    order: 1;
}

.banner h1+span p {
    margin: 0;
}

.banner h1>span>span {
    display: inline-block;
    width: 0;
    font-size: 0;
}


.content-banner-slider .tns-nav {
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-top: 30px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -36px;
    margin: 0;
    z-index: 1;
}

.content-banner-slider .tns-nav button {
    position: relative;
    width: 6px;
    height: 6px;
    background-color: #dfdfdf;
    overflow: hidden;
    border-radius: 50px;
    transition: var(--transition);
    border: none;
    padding: 0;
}

.content-banner-slider .tns-nav button.tns-nav-active {
    width: 46px;
}


.content-banner-slider .tns-nav button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: var(--primary);
    transition: width 0s linear;
}

.content-banner-slider .tns-nav button.tns-nav-active::before {
    transition: width 6s linear;
    animation-name: load;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
}

@keyframes load {
    0% {
        width: 0%;
    }

    100% {
        width: 100%;
    }
}


.content-banner-slider {
    margin-top: 60px;
}

.content-banner-slider:has(.tns-nav) {
    padding-bottom: 36px;
}

.content-banner-slider .slide:not(.tns-item),
.content-banner-slider .tns-inner {
    border-radius: 20px;
    overflow: hidden;
}


.content-banner-slider .slider img {
    display: block;
}


@media (max-width: 767px) {


    .content-banner-slider {
        margin-top: 30px;
    }

    .content-banner-slider:has(.tns-nav) {
        padding-bottom: 26px;
    }

    .content-banner-slider .tns-nav {
        bottom: -26px;
    }

    .homepage-secondary-banner .container .slider .slide img {
        aspect-ratio: 16 / 15;
    }

    .homepage-secondary-banner .container {
        padding: 0;
    }

    .homepage-secondary-banner .tns-nav {
        bottom: -26px;
    }

    .homepage-secondary-banner .slider .slide {
        border-radius: 0;
        overflow: unset;
    }


    section.content {
        min-height: calc(100vh - 300px);
    }
}


@media (max-width: 767px) {

    .banner {
        padding: 25px 0 20px;
    }

    .banner+.template>.template-module:nth-child(2),
    .banner+.template {
        margin-top: 25px;
    }

    .banner h1+span a {
        font-size: 1.125rem;
    }

    .banner h1+span,
    .banner h1>span {
        display: block;
        font-size: 1.125rem;
        margin-top: 22px;
    }


}


.banner .details {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #ebe9e9;
    position: relative;
    width: 100%;
    text-align: start;
}


.banner .details ul {
    display: block;
    text-align: left;
    padding: 0;
}

.banner .details ul li {
    font-size: 20.5px !important;
    color: var(--black) !important;
    width: 100%;
    line-height: 1.45;
    font-weight: 300;
}

.banner .details ul li+li {
    margin-top: 16px;
}

.banner .details ul li a {
    color: var(--primary) !important;
    font-weight: bold;
}

.banner .details ul li a:hover {
    opacity: 0.5;
}

.banner .details ul li b {
    font-weight: bold;
}


/***************************/
/*******  Template *********/
/***************************/

.template {
    margin-top: 80px;
    /* width: 100%; */
    margin-inline: auto;
}

.template h2,
.template .h2,
.template h4,
.template .h4,
.template h3,
.template .h3,
.template ul,
.template ol,
.template p {
    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);
    margin: 0;
    margin-block: 24px;
    overflow-wrap: break-word;
    word-break: break-word;
}


.template h3+h2,
.template h4+h3,
.template h3+h4,
.template h2+h3,
.template h4+h2,
.template h2+h4 {
    margin: 0;
}

.template .table-wrapper+h2,
.template .table-wrapper+h3,
.template .table-wrapper+h4,
.template ol+h2,
.template ol+h3,
.template ul+h2,
.template ul+h3,
.template p+h2,
.template p+h3,
.template ol+h4,
.template ul+h4,
.template p+h4 {
    margin: 50px 0 0;
}

.template h2,
.template .h2 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.42;
    letter-spacing: normal;
    margin: 0.8em 0;
}

.template h3,
.template .h3 {
    font-size: 18px;
    font-weight: bold;
    margin: 1em 0;
    line-height: 1.63;
}

.template h4,
.template .h4 {
    font-size: 16px;
    font-weight: bold;
    margin: 1em 0;
    line-height: 1.63;
}

.template h2 b,
.template .h2 b,
.template h3 b,
.template .h3 b,
.template h4 b,
.template .h4 b,
.template h2 strong,
.template .h2 strong,
.template h3 strong,
.template .h3 strong,
.template h4 strong,
.template .h4 strong {
    color: var(--primary);
}

.template b,
.template strong {
    font-weight: bold;
}

.template .listing small a,
.template .listing ul a,
.template .listing p a,
.template .template-module small a,
.template .template-module ul a,
.listing.module20 .image-item a:not(.button),
.template .template-module p a {
    display: inline-flex;
    font-weight: bold;
    transition: var(--transition);
    color: var(--primary);
    position: relative;
}

.template .listing p a,
.template .template-module p a {
    display: inline;
    border-bottom: 1px solid var(--transparent);
}

.template .listing small a,
.template .template-module small a,
.template .listing ul a,
.template .template-module ul a {
    border-bottom: 1px solid var(--transparent);
}

.template .listing small a:hover,
.template .listing ul a:hover,
.template .listing p a:hover,
.template .template-module small a:hover,
.template .template-module ul a:hover,
.template .template-module p a:hover {
    color: rgb(184, 15, 15);
}

.template .template-module small,
p small {
    font-size: 12px;
    display: inline-block;

}

.template .template-module strong small,
p b small {
    font-weight: bold;
}

/* .template .template-module small {
    margin: 0.8em 0;
}  */

.template .template-module small.text-center {
    width: 100%;
}

.template blockquote>*,
.template p:has(big) {
    position: relative;
    display: block;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.56;
    color: var(--black);
    letter-spacing: normal;
    text-align: left;
}

.template p big {
    position: relative;
    display: block;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.56;
    color: var(--black);
    letter-spacing: normal;
    text-align: left;
}


.template p:has(big),
.template blockquote {
    position: relative;
    margin-block: 47px;
    border-radius: 20px;
    background-color: #fef8f4;
    padding: 34px 75px 32px 70px !important;
}

.template blockquote {
    margin-inline: 0;
}

big::before {
    content: ' ';
    background-color: var(--primary);
    width: 4px;
    height: calc(100% - -10px);
    display: block;
    position: absolute;
    top: -5px;
    left: -17px;
    border-radius: 5px;
}


blockquote::before {
    content: '';
    -webkit-mask-image: url(/assets/img/template/quote.svg);
    mask-image: url(/assets/img/template/quote.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--primary);
    display: block;
    width: 25px;
    height: 20px;
    position: absolute;
    top: 35px;
    left: 32px;
}

.template blockquote p {
    padding-top: 0;
    margin: 0;
}

.template .template-module blockquote small {
    color: var(--primary);
    font-size: 12px;
}


.template ul,
.template ol {
    list-style-type: none;
    margin: 0;
    padding-block: 0px;
    margin-block: 26px;
    counter-reset: item;
    padding-left: 26px;
}

.template .listing ul li::before,
.template-module ul li::before {
    content: "";
    display: inline-block;
    height: 5px;
    display: inline-flex;
    width: 5px;
    border-radius: 100%;
    margin-left: -25px;
    margin-right: 20px;
    background-color: var(--primary);
    vertical-align: super;
    align-items: center;
}


.template ul li ul,
.template ol li ol,
.template ul li ol,
.template ol li ul {
    padding-left: 30px;
}


.template .listing ol li::before,
.template-module ol li::before {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: left;
    color: var(--primary);
    counter-increment: item;
    content: counter(item) ".";
    display: inline-block;
    margin-left: -25px;
    margin-right: 8px;
    width: 16px;
}


/***************************************************/
/***************** MODULE TABLE ********************/
/**************************************************/


.listing .accordion table th,
.template-module table th {
    background-color: #fef8f4;
}


.listing .accordion table,
.template-module table {
    padding: 0;
}

.listing .accordion table th,
.template-module table th {
    color: white;
    font-weight: bold;

}

.listing .accordion table tbody tr td:last-of-type,
.listing .accordion table th:last-of-type,
.template-module table tbody tr td:last-of-type,
.template-module table th:last-of-type {
    /* text-align: end; */
    /* padding: 11px 21px; */
}


.listing .accordion table td,
.template-module table td {
    font-weight: 300;
}

.listing .accordion table tr>td:first-of-type,
.template-module table tr>td:first-of-type {
    padding-right: 20px;
}

.listing .accordion table td b,
.listing .accordion table td strong,
.template-module table td b,
.template-module table td strong {
    font-weight: 600;
    text-align: left;
}


.listing .accordion .table-wrapper .swipeIcon,
.template-module .table-wrapper .swipeIcon {
    display: none;
}

.listing .accordion .table-wrapper.swipe,
.template-module .table-wrapper.swipe {
    overflow: auto;
}

.listing .accordion .table-wrapper.swipe,
.template-module .table-wrapper.swipe {
    overflow: auto;
    margin-inline: -20px;
    padding-inline: 20px;
    padding-bottom: 20px;
}


.listing .accordion .table-wrapper.swipe .swipeIcon,
.template-module .table-wrapper.swipe .swipeIcon {
    display: flex;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    text-align: center;
    color: var(--black);
    margin-bottom: 20px;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 13px;
}

.listing .accordion .table-wrapper.swipe .swipeIcon::before,
.template-module .table-wrapper.swipe .swipeIcon::before {
    position: relative;
    display: inline-flex;
    width: 25px;
    height: 27px;
    content: "";
    -webkit-mask-image: url("/assets/img/template/swipe.svg");
    mask-image: url("/assets/img/template/swipe.svg");
    background-color: var(--black);
}


.listing .accordion table img,
.template-module table img {
    display: inline;
}

.listing .accordion table,
.listing .accordion table td,
.listing .accordion table tr,
.listing .accordion table th,
.template-module table,
.template-module table td,
.template-module table tr,
.template-module table th {
    font-size: 16px;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: left;
    padding: 11px 20px;
    position: relative;
    color: var(--black);
    border: solid 1px #e9e8e8;
    border-collapse: collapse;
}

/* .listing .accordion table thead,
.listing .accordion table thead tr,
.listing .accordion table thead tr th,
.template-module table thead,
.template-module table thead tr,
.template-module table thead tr th {
    border: none;
} */


.listing .accordion table th,
.template-module table th {
    font-weight: bold;
    color: var(--primary);
}

.listing .accordion table td,
.template-module table td {
    font-weight: 300;
    color: var(--black);
}

.listing .accordion table td b,
.template-module table td b {
    font-weight: bold;
    text-align: left;
}


.template .listing .file .link {
    font-size: 0.875rem;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    letter-spacing: normal;
    color: var(--primary);
    text-transform: uppercase;
    padding-right: 30px;
}

.template .listing .file .link::after {
    width: 21px;
    height: 15px;
    content: '';
    display: inline-block;
    -webkit-mask-image: url(/assets/img/elements/svg/normal-arrow.svg);
    mask-image: url(/assets/img/elements/svg/normal-arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--primary);
    position: relative;
    right: -15px;
    transition: var(--transition);
    top: 2px;
}

.template .listing .file .link:hover::after {
    right: -25px;
}


.rating-section {
    border-top: 1px solid #e6e6e8;
    /* margin-top: 100px; */
}

@media (max-width: 767px) {
    .template {
        margin-top: 40px;
    }

    .template .container {
        width: 100%;
        /* max-width: calc(100% - 40px); */
    }

    .template-module.round-corners .slider-wrapper .tns-outer {
        border-radius: 0 !important;
    }

    body .banner ul li {
        font-size: 11px;
    }

    .banner ul li+li::before,
    .banner ul {
        flex-wrap: wrap;
        justify-content: center;
    }

    .banner h1 {
        font-size: 20px;
        font-weight: bold;
        margin-top: 5px;
        line-height: 1.5;
    }

    .banner .image {
        min-height: 264px;
    }

    .template h2,
    .template .h2 {
        font-size: 18px;
        line-height: 1.56;
    }

    .template h3,
    .template .h3 {
        font-size: 16px;

    }

    .template h4,
    .template .h4 {
        font-size: 14px;
        font-weight: bold;
        line-height: 1.71;
    }

    .template ul,
    .template ol,
    .template p {
        font-size: 14px;
        line-height: 1.71;
        margin-block: 11px;
    }


    .template .template-module blockquote small,
    .template .template-module small,
    p small {
        font-size: 11px;
        line-height: 1.45;
    }

    .template blockquote p,
    .template p big {
        font-size: 16px;
        line-height: 1.63;
    }

    .template p:has(big),
    .template blockquote {
        padding: 30px 39px 30px 38px !important;
        border-radius: 0px;
        margin-inline: -20px;
        margin-block: 24px;
    }

    big::before {
        content: ' ';
        background-color: var(--primary);
        width: 3px;
        height: calc(100% - -5px);
        display: block;
        position: absolute;
        top: -4px;
        left: -20px;
        border-radius: 5px;
    }

    .listing .accordion table,
    .listing .accordion table td,
    .listing .accordion table tr,
    .listing .accordion table th,
    .template-module table,
    .template-module table td,
    .template-module table tr,
    .template-module table th {
        font-size: 14px;
        line-height: 1.66;
        padding: 13px 17px;
    }

    blockquote::before {
        left: 11px;
        width: 17px;
        height: 14px;
        top: 35px;
    }

    /* .listing ul li::before {
        margin-right: 10px;
        margin-left: -15px;
    }
    .template-module ul li::before {
        margin-right: 13px;
        margin-left: -18px;
    } */


    .template .template-module.search-results ul {
        padding-left: 0px;
        font-weight: 300;
        font-stretch: normal;
        font-style: normal;
        /* line-height: 1.55; */
        letter-spacing: normal;
        text-align: left;

    }

    .template .template-module.search-results ul li {
        margin: .500em 0;
    }


    .template p.title {
        font-size: 24px;
        font-weight: 600;
        font-stretch: normal;
        font-style: normal;
        line-height: 1.55;
        letter-spacing: normal;
        text-align: left;
        margin: 2em 0 .5rem 0;

    }

    .template .template-module.search-results .listing {
        margin-top: 30px;
    }

    .content.contacts .banner::after {
        content: unset;
    }

    .contacts .template {
        margin: 0;
        padding-block: 100px;
        background-color: #f5f5f5;
    }


    .contacts .template {
        padding-block: 60px;
    }

    .contacts .template .template-module .row {
        margin: 0;
    }


    .template-module ol li::before {
        font-size: 14px;
        font-weight: 600;
    }


    .template .table-wrapper+h2,
    .template .table-wrapper+h3,
    .template .table-wrapper+h4,
    .template ol+h2,
    .template ol+h3,
    .template ul+h2,
    .template ul+h3,
    .template p+h2,
    .template p+h3,
    .template ol+h4,
    .template ul+h4,
    .template p+h4 {
        margin: 24px 0 0;
    }
}


.index section {
    margin-top: 60px;
}


@media (max-width: 1024px) {

    .index section {
        margin-top: 40px;
    }

}


/**************************************/
/********** TEMPLATE MODULES **********/
/**************************************/
.template>section+div,
.template>section+section,
.template>div+section,
.template>div+div:not(.banners) {
    margin: 40px 0;
    position: relative;
    font-size: 0;
}


/* .template-module {
	margin: 40px 0;
    position: relative;
    font-size: 0;
} */

.template-module:first-child {
    margin-top: 0;
}

.template-module:last-child {
    margin-bottom: 0;
}

.template-module .row {
    margin: 40px 0px;
}

.template-module .row>div {
    padding-inline: 0;
}

.template-module a:not(.button, .search) {
    display: flex;
}

/* .template-module a:not(.button,.search):has(img) {
    overflow: visible;
} */

.template-module img {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: unset;
}

.template-module.round-corners video,
.template-module.round-corners iframe,
.template-module.round-corners a:has(img),
.template-module.round-corners img {
    border-radius: 20px;
}

.template-module .slider .image,
.template-module .slider img {
    border-radius: 0;
}

.template-module>img {
    width: 100% !important;
    border-radius: 0;
}

.template-module.free-img img {
    width: unset;
    max-width: 100%;
    /* height: 100%; */
    object-fit: cover;
}


.template-module a[href] img {
    transition: var(--transition);
}

.template-module a.marcar-servico img,
.template-module a.marcar-revisao img,
.template-module a.marcar-simulador img {
    transition: var(--transition);
}


.template-module .button.button-left {
    position: relative;
    left: 0;
    transform: none;
}

.template-module .button.button-center {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.template-module .button.button-right {
    position: relative;
    left: 100%;
    transform: translateX(-100%);
}

/*
@media (min-width: 768px) {
	.template-module {
		margin: 80px 0;
	}
} */

@media (max-width: 1024px) {

    .template-module .button,
    .template-module .button:hover,
    .template-module .button:focus {
        padding: 4px 20px 5px;
        font-size: 14px;
        line-height: 1.71;
    }
}

@media (max-width: 767px) {
    .template-module.free-img img {
        width: 100%;
        height: 100%;
    }
}

@media (min-width: 992px) {

    .template-module a.marcar-revisao:has(img),
    .template-module a.marcar-simulador:has(img),
    .template-module a.marcar-servico:has(img),
    .template-module a[href]:has(img) {
        overflow: hidden;
    }

    .template-module a[href]:has(img):hover img {
        transform: scale(1.02);
    }

    .template-module a.marcar-servico:has(img):hover img,
    .template-module a.marcar-revisao:has(img):hover img,
    .template-module a.marcar-simulador:has(img):hover img {
        transform: scale(1.02);
    }

    .template>section+div,
    .template>section+section,
    .template>div+section,
    .template>div+div:not(.banners) {
        margin: 80px 0;

    }

    .template-module .row {
        margin: 0;
    }

    .template-module .row>div {
        padding: 0
    }
}


/**************************************/
/********** MODULE 1: SLIDER **********/
/**************************************/

.template-module .slider-wrapper {
    position: relative;
}


.template-module.round-corners>.container .slider-wrapper .tns-outer {
    border-radius: 20px;
    overflow: hidden;
    isolation: isolate;
    transform: translateZ(0);
}

.template-module .slider-wrapper .tns-outer .image {
    border-radius: 0;
    background-color: #c7c5c5;
}

.template-module .slider:not(.tns-slider) {
    display: flex;
    overflow: hidden;
}

.template-module .slider:not(.tns-slider)>.slide {
    flex-basis: 100%;
    min-width: 100%;
}

.template-module .slider:not(.tns-gallery) .slide {
    position: relative;
}


.template-module:not(.module3, .module2) .image {
    position: relative;
    aspect-ratio: 16 / 8.99;
    background-color: unset;
}

.template-module.round-corners .image {
    border-radius: 20px;
    overflow: hidden;
}

.template-module.module2 .image,
.template-module.module3 .image {
    position: relative;
    padding-top: 56.25%;
}


.template-module .image img {
    position: absolute;
    top: -1px;
    bottom: -1px;
    left: -1px;
    right: -1px;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    width: auto;
    height: 100%;
    background-color: #000000;
}

.template-module .slider .legend {
    padding: 10px 40px;
    text-align: center;
    position: relative;
    background-color: white;
    pointer-events: none;
}

.template-module .slider .legend small {
    text-align: center;
    margin: .25em 0;
    color: white;
    font-size: 20px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
}

.template-module .slider-wrapper .slider-arrows>div:hover {
    opacity: 0.6;
    transform: none;
}

.template-module .slider-wrapper .slider-arrows>div.prev {
    transform: rotateY(180deg);

}


.template-module .slider-wrapper .slider-arrows>div.prev:hover {
    opacity: 0.6;
    transform: rotateY(180deg);
}

.template-module .slider-arrows>div::before {
    -webkit-mask-image: url("/assets/img/template/slider-caret.svg");
    mask-image: url("/assets/img/template/slider-caret.svg");
}


@media (max-width: 767px) {

    .template-module.round-corners .slider-wrapper .tns-outer .image {
        border-radius: 20px;
    }

}

@media (min-width: 992px) {
    .template-module .slider .legend {
        padding: 20px 80px;
    }

}


/****************************************************************/
/********** MODULE 1: SLIDER (NO BAR) - TEMPLATE-MODULE **********/
/****************************************************************/


.template-module .slider-wrapper.no-bar .slider .legend {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(1, 1, 1, 0.2), rgba(1, 1, 1, 0.1));
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 1;
}

.template-module .slider-wrapper.no-bar .slider .legend p {
    color: white;
    font-size: 13px;
    line-height: 1.38;
    margin-bottom: 5px;
}

.template-module .slider-wrapper.no-bar .slider .video+.legend {
    background: transparent;
}

/*

.template-module .slider-wrapper.no-bar .slider-arrows {
    padding-top: 0;
}

.template-module .slider-wrapper.no-bar .slider-arrows > div::before {
    background-image: url(/template1/assets/img/arrow-white.svg);
} */

@media (max-width: 767px) {

    .template-module .slider-wrapper.no-bar .slider .legend {
        position: relative;
        background: transparent;
        padding: 10px 20px 0;
    }

    .template-module .container .slider-wrapper.no-bar .slider .legend {
        padding: 10px 0 0;
    }

    .template-module .slider-wrapper.no-bar .slider .legend p {
        font-size: 11px;
        font-weight: 300;
        line-height: 1.45;
        letter-spacing: normal;
        text-align: center;
        color: #858585;
        margin: 0;
    }
}


/**************************************************/
/********** MODULE 1: SLIDER THUMBNAILS  **********/
/**************************************************/

.template-module .thumbnail-wrapper {
    position: relative;
    margin-top: 20px;
    padding: 0 40px;
}

.template-module .thumbnail-slider {
    margin: 0 -10px;
}

.template-module .thumbnail-slider:not(.tns-slider) {
    display: flex;
    justify-content: flex-start;
    overflow: hidden;
}

.template-module .thumbnail-slider:not(.tns-slider)>div {
    flex-basis: 50%;
    min-width: 50%;
}

.template-module .thumbnail-slider .slide {
    padding: 0 10px;
    cursor: pointer;
}

.template-module .thumbnail-slider .slide>div {
    padding: 6px;
    border: 1px solid transparent;
    transition: all .2s ease-in-out;
}

.template-module .thumbnail-slider .image {
    position: relative;
    padding-top: 56.25%;
    background-position: center;
    background-size: cover;
}

.template-module .thumbnail-slider .slide.tns-nav-active>div,
.template-module .thumbnail-slider .slide:hover>div {
    border: 1px solid rgb(var(--primary));
}


.template-module .thumbnail-slider-arrows {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    pointer-events: none;
}

.template-module .thumbnail-slider-arrows>div {
    position: relative;
    cursor: pointer;
    margin: auto;
    width: 25px;
    height: 11px;
    font-size: 0;
    pointer-events: auto;
}

.template-module .thumbnail-slider-arrows>div[aria-disabled="true"] {
    opacity: .1;
    pointer-events: none;
}

.template-module .thumbnail-slider-arrows>div.prev {
    margin-left: 0;
    transform: rotate(180deg);
}

.template-module .thumbnail-slider-arrows>div.next {
    margin-right: 0;
}

.template-module .thumbnail-slider-arrows>div::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-mask-image: url(/assets/img/template/slider-caret.svg);
    -webkit-mask-repeat: no-repeat;
    mask-image: url(/assets/img/template/slider-caret.svg);
    mask-repeat: no-repeat;
    mask-size: cover;
    background-color: #000000;
    transition: var(--transition);
    cursor: pointer;
}


@media (min-width: 768px) {
    .template-module .thumbnail-wrapper {
        padding: 0 65px;
    }

    .template-module .thumbnail-slider:not(.tns-slider)>div {
        flex-basis: 25%;
        min-width: 25%;
    }

    .template-module .thumbnail-slider-arrows>div {
        width: 40px;
        height: 18px;
    }
}


/**************************************************/
/********** MODULE 1: FULL WIDTH GALLERY **********/
/**************************************************/

.template-module .gallery {
    position: relative;
}

.template-module .gallery-fullscreen {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10;
    background: rgba(32, 32, 32, .9);
    padding: 100px;
    opacity: 0;
    pointer-events: none;
    transition: var(--transition);
}

.template-module .gallery-fullscreen.visible {
    opacity: 1;
    pointer-events: auto;
}

.template-module .gallery-track {
    padding-top: 56.25%;
    max-height: 800px;
    position: relative;
    height: auto;
    overflow-x: auto;
    overflow-y: hidden;
    margin-top: 30px;
}

.template-module .gallery-fullscreen .gallery-track {
    height: 100%;
    padding: 0;
    max-height: none;
}

.template-module .gallery-track::-webkit-scrollbar-track {
    background-color: var(--white);
}

.template-module .gallery-track::-webkit-scrollbar {
    height: 22px;
    background-color: var(--white);
}

.template-module .gallery-fullscreen .gallery-track::-webkit-scrollbar {
    height: 0;
}

.template-module .gallery-track::-webkit-scrollbar-thumb {
    background-color: var(--black);
    border: 10px solid var(--white);
}

.template-module .gallery-track .gallery-list {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
}

.template-module .gallery-fullscreen .gallery-track .gallery-list {
    position: relative;
}

.template-module .gallery-slide {
    height: 100%;
    top: 0;
    overflow: hidden;
}

.template-module .gallery-fullscreen .gallery-slide {
    max-height: 100%;
    min-width: 100%;
    height: auto;
    display: flex;
    align-items: center;
}

.template-module .gallery-track .gallery-slide img {
    max-height: 100%;
    cursor: pointer;
    transition: var(--transition);
    will-change: transform;
}

.template-module .gallery-fullscreen .gallery-track .gallery-slide img {
    max-width: 100%;
    display: block;
    margin: auto;
    cursor: default;
}

.template-module .gallery>.gallery-track .gallery-slide img:hover {
    transform: scale(1.025);
}

/* .template-module .gallery-arrows {
	position: absolute;
	top: 0;left: 0;
	right: 0;bottom: 42px;
	pointer-events: none;
} */
/* .template-module .gallery-arrows div {
	position: absolute;
	width: 25px;
	height: 47px;
	top: 0;bottom: 0;
	right: 20px;
	margin: auto;
	background-image: url(/template1/assets/img/caret-slim-white.svg);
	background-size: contain;
	background-repeat: no-repeat;
	pointer-events: auto;
} */
/* .template-module .gallery-fullscreen .gallery-arrows div {
	pointer-events: none;
}
.template-module .gallery-fullscreen.visible .gallery-arrows div {
	pointer-events: auto;
}
.template-module .gallery-arrows div:first-of-type {
	left: 20px;
	right: auto;
	transform: rotate(180deg);
} */

/* .template-module .gallery.disabled .gallery-arrows div {
	opacity: 0;
	pointer-events :none;
} */

.template-module .gallery-fullscreen .close {
    position: absolute;
    top: 35px;
    right: 35px;
    height: 25px;
    width: 25px;
    opacity: 1;
    overflow: visible;
}

.template-module .gallery-fullscreen .close::before,
.template-module .gallery-fullscreen .close::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 2px;
    width: 35px;
    background-color: white;
    transform: rotate(45deg);
    transform-origin: left
}

.template-module .gallery-fullscreen .close::after {
    left: auto;
    right: 0;
    transform: rotate(-45deg);
    transform-origin: right;
}


@media (min-width: 768px) {
    .template-module .gallery-track::-webkit-scrollbar {
        height: 42px;
    }

    .template-module .gallery-track::-webkit-scrollbar-thumb {
        border: 20px solid var(--white);
    }

    /* .template-module .gallery-arrows div {
		width: 32px;
		height: 62px;
		right: 50px;
	}
	.template-module .gallery-arrows div:first-of-type {
		left: 50px;
	} */
}


@media (min-width: 992px) {
    .template-module .gallery-fullscreen {
        display: block;
    }

    .template-module .gallery-track {
        padding-top: 35.7142%;
    }
}


/**************************************************/
/********** MODULE 2 & 3: TEXT AND IMAGE **********/
/**************************************************/

/* .template-module.wrap::before,
.template-module.wrap::after {
    content: "";
    display: table;
    clear: both;
} */

.template-module.wrap img+h2,
.template-module.wrap img+h3,
.template-module.wrap img+h4,
.template-module.wrap img+p,
.template-module.wrap img+ul,
.template-module.wrap img+ol,
.template-module.wrap .image+h2,
.template-module.wrap .image+h3,
.template-module.wrap .image+h4,
.template-module.wrap .image+p,
.template-module.wrap i.imagemg+ul,
.template-module.wrap .image+ol {
    margin-top: 0;
}


.template-module.wrap ol,
.template-module.wrap ul,
.template-module.wrap {
    display: flow-root;
}

.template-module.wrap>.container>p:last-of-type {
    margin-bottom: 0;
}

/*
.template-module.module2.wrap  img,
.template-module.module3.wrap img {
	max-width: 100%;
	float: none;
	margin: 0 0 15px 0;
} */

.template-module.module2.wrap .image-wrapper,
.template-module.module3.wrap .image-wrapper {
    max-width: 100%;
    float: none;
    margin: 0 0 15px 0;
}

.template-module.module2.wrap .image-wrapper small,
.template-module.module3.wrap .image-wrapper small {
    font-size: 13px;
    font-weight: 300;
    line-height: 1.38;
    letter-spacing: normal;
    text-align: center;
    color: #858585;
    margin: 15px 0 0;
}

.template-module.module2.wrap .imgVWrap small,
.template-module.module3.wrap .imgVWrap small {
    font-size: 13px;
    font-weight: 300;
    line-height: 1.38;
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
    margin-inline: 20px;
    color: white;
    z-index: 2;
    width: unset;
}

.template-module.module2.wrap .imgVWrap .image.video.open small,
.template-module.module3.wrap .imgVWrap .image.video.open small {
    display: none;
}

.template-module.module2 .row>div:first-child {
    padding-right: 15px;
}

.template-module.module3 .row>div:last-child {
    padding-left: 15px;
}

.template-module.module2.wrap .image.video,
.template-module.module3.wrap .image.video {
    width: 100%;
}

.template-module.module2.wrap .image.video img,
.template-module.module3.wrap .image.video img {
    position: relative;
    margin: 0;
    width: 100%;
}

@media (max-width: 767px) {

    .template-module.module2.wrap .imgVWrap small,
    .template-module.module3.wrap .imgVWrap small,
    .template-module.module2.wrap .image-wrapper small,
    .template-module.module3.wrap .image-wrapper small {

        font-size: 11px;
        font-weight: 300;
        line-height: 1.45;
    }

}


@media (min-width: 768px) {

    /* .template-module.module2.wrap img,
	.template-module.module3.wrap img {
		max-width: calc(50% - 10px);
		margin-top: 5px;
	} */

    .template-module.module2.wrap .image-wrapper,
    .template-module.module3.wrap .image-wrapper {
        max-width: calc(50% - 10px);
        margin-top: 5px;
    }

    .template-module.module2.wrap h2,
    .template-module.module3.wrap h2 {
        margin-top: 0px;
    }

    .template-module.module2.wrap .image.video img,
    .template-module.module3.wrap .image.video img {
        max-width: unset;
    }

    .template-module.module2.wrap .image.video,
    .template-module.module3.wrap .image.video {
        max-width: calc(50% - 10px);
    }

    /* .template-module.module2.wrap img {
		margin: 8px 0 30px 50px;
		float: right;
	}
	.template-module.module3.wrap img {
		margin: 8px 50px 30px 0;
		float: left;
	}	 */


    .template-module.module2.wrap .image-wrapper {
        margin: 8px 0 19px 20px;
        float: right;
    }

    .template-module.module3.wrap .image-wrapper {
        margin: 8px 20px 19px 0;
        float: left;
    }

    .template-module.module2 .row>div:first-child {
        padding-right: 20px;
    }

    .template-module.module3 .row>div:last-child {
        padding-left: 20px;
    }

    .template-module.module2.wrap .image.video {
        margin-bottom: 25px;
        margin-left: 55px;
        float: right;
        padding-top: 0;
    }

    .template-module.module3.wrap .image.video {
        margin-bottom: 25px;
        margin-right: 55px;
        float: left;
        padding-top: 0;
    }

    .template-module.module2.wrap .image.video img,
    .template-module.module3.wrap .image.video img {
        padding: 0;
    }

}

@media (min-width: 1025px) {
    .template-module.module2.wrap .image-wrapper {
        margin: 8px 0 19px 45px;
        float: right;
    }

    .template-module.module3.wrap .image-wrapper {
        margin: 8px 45px 19px 0;
        float: left;
    }

    .template-module.module2 .row>div:first-child {
        padding-right: 45px;
    }

    .template-module.module3 .row>div:last-child {
        padding-left: 45px;
    }
}


/**********************************************************/
/********** MODULE 4, 5, 6 & 7: IMAGE AND LEGEND **********/
/**********************************************************/

.template-module.module4 p,
.template-module.module5 p,
.template-module.module6 p,
.template-module.module7 p {
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px 0;
}

/* .template-module.module4 img+h2,
.template-module.module5 a+h2,
.template-module.module6 a+h2,
.template-module.module7 a+h2,
.template-module.module4 img+h3,
.template-module.module5 a+h3,
.template-module.module6 a+h3,
.template-module.module7 a+h3,
.template-module.module4 img+h4,
.template-module.module5 a+h4,
.template-module.module6 a+h4,
.template-module.module7 a+h5 {
   margin-top: 1em;
} */

@media (min-width: 768px) {

    .template-module.module4 p,
    .template-module.module5 p,
    .template-module.module6 p,
    .template-module.module7 p {
        width: 75%;
        padding: 0 10px 0;
    }
}


/**************************************************/
/********** MODULE 10 & 11: TEXT COLUMNS **********/
/**************************************************/

/* .template-module.module10 .row,
.template-module.module11 .row {
	display: flex;
	margin: -10px -25px;
}

.template-module.module10 .row > div,
.template-module.module11 .row > div {
	float: none !important;
	padding: 10px 25px;
	flex: 0 0 100%;
	max-width: 100% !important;
}


@media (min-width: 768px) {
    .template-module.module10 .row > div {
		flex: 0 0 50%;
		max-width: 50% !important;
		width: auto !important;
	}
	.template-module.module11 .row > div {
		flex: 0 0 33.333%;
		max-width: 33.333% !important;
		width: auto !important;
	}
} */


/***************************************************************************************/
/********** MODULE 4 + 10 FUSION & MODULE 5 + 11 FUSION: TEXT + IMAGE COLUMNS **********/
/***************************************************************************************/

.template-module.module4.module10 p,
.template-module.module5.module11 p {
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    width: auto;
}

.template-module.module11 .row {
    width: 100%;
}


.template-module.module4.module10 .row {
    --gap-h: 50px;
}

.template-module.module5.module11 .row {
    --gap-h: 57px;
}

.template-module.module11 .row>div {
    --gap-h: 57px;
}


.template-module.module5.module11.module25 .row {
    --gap-h: 40px;
}

.template-module.module11.module25 .row>div {
    --gap-h: 40px;
}

.template-module.module4.module10 .button,
.template-module.module5.module11 .button {
    margin-top: 24px;
    display: table;
}

.template-module.module5.module11 .header,
.template-module.module4.module10 .header {
    margin-bottom: 37px;
}

.template-module.module5.module11 h2,
.template-module.module4.module10 h2,
.template-module.module5.module11 h3,
.template-module.module4.module10 h3,
.template-module.module5.module11 h4,
.template-module.module4.module10 h4 {
    margin-bottom: 0;
}

.template-module.module5.module11 h2+p,
.template-module.module4.module10 h2+p,
.template-module.module5.module11 h3+p,
.template-module.module4.module10 h3+p,
.template-module.module5.module11 h4+p,
.template-module.module4.module10 h4+p {
    margin-top: 0;
}

.template-module.module5.module11 .row>div> :first-child,
.template-module.module4.module10 .row>div> :first-child {
    margin-top: 0;
}

.template-module.module5.module11 .row>div> :last-child,
.template-module.module4.module10 .row>div> :last-child {
    margin-bottom: 0;
}

.template .template-module small.subtitle,
.template-module.module5.module11 .row>div>small,
.template-module.module4.module10 .row>div>small {
    display: block;
    font-size: 13px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.38;
    letter-spacing: normal;
    text-align: center;
    color: #858585;
    margin: 15px 0 0;
}

.template-module.module5.module11 .row>div>small {
    margin: 15px 0 0;
}


.template .template-module small.subtitle {
    text-align: center;
    width: 100%;
    margin-top: 20px;
}

.template .template-module .image.video+small.subtitle {
    color: #ffffff;
    position: absolute;
    margin-bottom: 25px;
    bottom: 0;
    z-index: 1;
}


.template-module.module5.module11 picture+h4,
.template-module.module4.module10 picture+h4,
.template-module.module5.module11 picture+h2,
.template-module.module4.module10 picture+h2,
.template-module.module5.module11 picture+h3,
.template-module.module4.module10 picture+h3,
.template-module.module5.module11 a:has(img)+h4,
.template-module.module4.module10 a:has(img)+h4,
.template-module.module5.module11 a:has(img)+h2,
.template-module.module4.module10 a:has(img)+h2,
.template-module.module5.module11 a:has(img)+h3,
.template-module.module4.module10 a:has(img)+h3 {
    margin: 25px 0 0;
}

.template-module.module5.module11 img+p {
    margin-top: 30px;
}


.template-module.module10 img+p,
.template-module.module11 img+p {
    margin-top: 1.5em;
}

@media (max-width: 1024px) {

    .template-module.module4.module10 .row,
    .template-module.module5.module11 .row,
    .template-module.module11 .row>div,
    .template-module.module11.module25 .row>div,
    .template-module.module5.module11.module25 .row {
        --gap-h: 20px;
        margin: 20px 0px;
    }

    .template-module.module5.module11 .header,
    .template-module.module4.module10 .header {
        margin-bottom: 20px;
    }
}


@media (max-width: 767px) {

    .template-module.module5.module11 .header,
    .template-module.module4.module10 .header {
        margin-bottom: 20px;
    }

    .template .template-module .image.video+small.subtitle,
    .template .template-module small.subtitle,
    .template-module.module5.module11 .row>div>small,
    .template-module.module4.module10 .row>div>small {
        font-size: 11px;
        font-weight: 300;
        line-height: 1.45;
        margin: 15px 0 0;
    }


    .template-module.module4.module10 .row,
    .template-module.module5.module11 .row {
        --gap-v: 40px;
        margin: 20px 0;
    }

    .template-module.module5.module10 .row:has(.col-12.col-md-6:last-of-type > img):not(:has(.col-12.col-md-6:nth-child(1) > img)),
    .template-module.module4.module10 .row:has(.col-12.col-md-6:last-of-type > img):not(:has(.col-12.col-md-6:nth-child(1) > img)) {
        flex-direction: column-reverse;
    }

    /* .template .template-module small.subtitle {
		padding: 0 20px;
	} */

    .template .template-module .image.video+small.subtitle {
        position: relative;
        text-align: center;
        color: #858585;
        bottom: unset;
    }

    .template-module.module4.module10 .button,
    .template-module.module5.module11 .button {
        white-space: unset;
        padding: 4px 12px 5px;
    }
}


/******************************************************************/
/********** MODULE 12: VIDEO & MODULE 1: SLIDER w/ video **********/
/******************************************************************/


.template-module .video::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    mix-blend-mode: multiply;
    background-color: rgba(0, 0, 0, .3);
    z-index: 1;
}


.template-module .video.open::before {
    background-color: black;
}


.fullscreen-container iframe,
.fullscreen-container video,
.template-module .video iframe,
.template-module .video video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: 0;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
}

.template-module .video.open iframe,
.template-module .video.open video {
    opacity: 1;
    pointer-events: auto;
    /* object-fit: contain; */
}


.fullscreen-container {
    height: 100vh;
    width: 100vw;
    background-color: rgba(0, 0, 0, .9);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 20;
    opacity: 0;
    pointer-events: none;
}

.fullscreen-container.open {
    opacity: 1;
    pointer-events: all;
}

.fullscreen-container iframe,
.fullscreen-container video {
    display: none;
    opacity: 1;
    pointer-events: all;
    padding-block: 50px;
}

.fullscreen-container .close {
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 15px;
    z-index: 10;
    cursor: pointer;
}

.fullscreen-container .close::after,
.fullscreen-container .close::before {
    content: "";
    position: absolute;
    top: 10px;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    transform: rotate(45deg);
    background-color: #fff;
}

.fullscreen-container .close::after {
    transform: rotate(-45deg);
}

.template-module .video.open+.legend {
    opacity: 0;
}

/* @supports(object-fit: cover) {
	.template-module .image.video img {
		top: 0;left: 0;
		transform: none;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
} */


.template-module .video a.play {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 72px;
    height: 72px;
    z-index: 1;
}

.template-module .video a.play:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5px;
    right: 0;
    width: 28px;
    height: 31px;
    margin: auto;
    -webkit-mask-image: url("/assets/img/template/play.svg");
    mask-image: url("/assets/img/template/play.svg");
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: cover;
    -webkit-mask-size: cover;
    background-color: black;
    transition: var(--transition);
    z-index: 2;
}

.template-module .video a.play:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 93px;
    height: 93px;
    transition: var(--transition);
    border-radius: 100%;
    z-index: 1;
    background-color: rgba(255, 255, 255, 0.5);
}


/*
.template-module .video a.play:hover {
	transform: scale(1.10);
} */

.template-module .video+p.text-center {
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    margin: 1em auto;
    color: white;
    z-index: 1;
}

.template-module a+p.text-center,
.template-module img+p.text-center {
    margin-top: 25px;
}

.template-module.module2.wrap .image.video,
.template-module.module3.wrap .image.video {
    width: 100%;
    padding: 0;
}


@media (max-width: 767px) {


    .template-module .video+p.text-center {
        font-size: 10px;
    }

    .template-module a+p.text-center,
    .template-module img+p.text-center {
        margin-top: 10px;
    }

    .template-module .video a.play:before {
        max-height: 12px;
        max-width: 11px;
        left: 1px;
    }

    .template-module .video a.play:after {
        width: 41px;
        height: 41px;
    }

}


@media (min-width: 768px) {
    .template-module .video a {
        width: 70px;
        height: 70px;
        border-width: 4px
    }

    .template-module .video a.play {
        width: 93px;
        height: 93px;
    }

    .template-module.module2.wrap .image.video,
    .template-module.module3.wrap .image.video {
        max-width: 50%;
    }

    .template-module.module3.wrap .image.video {
        margin-bottom: 20px;
        margin-right: 30px;
        float: left;
        padding-top: 0;
    }

    .template-module.module2.wrap .image.video img,
    .template-module.module3.wrap .image.video img {
        padding: 0;
    }

    .template-module.module2.wrap .image.video {
        margin-bottom: 20px;
        margin-left: 30px;
        float: right;
        padding-top: 0;
    }

    .fullscreen-container iframe,
    .fullscreen-container video {
        padding: 50px;
    }

}

@media (min-width: 992px) {
    .template-module .video a {
        width: 95px;
        height: 95px;
    }

    /* .template-module .video a:hover {
		width: 100px;
		height: 100px;
	} */

    .template-module .video a:hover.play::after {
        transform: scale(1.1)
    }
}


@media (min-width: 1025px) {

    .template-module.module3.wrap .image.video {
        margin-bottom: 25px;
        margin-right: 55px;
    }

    .template-module.module2.wrap .image.video {
        margin-bottom: 25px;
        margin-left: 55px;
    }

}


/*****************************************************/
/********** MODULE 19: CALL TO ACTION (CTA) **********/
/*****************************************************/


.template-module .container>.cta.image,
.container>.cta.image,
.container>.cta {
    display: block;
    position: relative;
    width: 100%;
    border-radius: 20px;
    text-align: center;
    overflow: hidden;
    aspect-ratio: unset;
}

.container>.cta:has(p) {
    padding: 45px 100px 60px;
}

.cta .h2 {
    font-weight: bold;
    text-align: center;
    margin-block: 0;
    font-size: 32px;
    line-height: 1.31;
    letter-spacing: -0.45px;
    position: relative;
}

.cta:has(p) .h2 {
    font-size: 24px;
    line-height: 1.42;
    letter-spacing: normal;
}

.cta p {
    position: relative;
    text-align: center;
    max-width: 875px;
    margin: auto;
    color: var(--black);
}

.cta.image .h2,
.cta.color .h2,
.cta.image h2,
.cta.color h2,
.cta.image p,
.cta.color p {
    color: var(--white);
}

.cta>p>a:hover,
.cta>p>a {
    color: var(--white);
    border-bottom: 1px solid rgba(255, 255, 255, 0);
}

.cta>p>a:hover {
    border-bottom: 1px solid rgba(255, 255, 255, 1);
}


.cta .h2+p {
    margin-top: 23px;
}

.cta .button {
    margin: auto;
    margin-top: 35px;
    z-index: 1;
}

.cta.image .button,
.cta.color .button {
    color: var(--black);
}

.cta.image .button:before,
.cta.color .button:before,
.cta.image .button:after,
.cta.color .button:after {
    background-color: #fefaf8;
    background-image: none;
}


.cta .button:hover::after,
.cta .button:hover::before {
    opacity: 1;
}


@media (max-width: 1024px) {

    .cta {
        padding: 40px 40px 50px;
    }

    .cta .h2 {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.56;
        color: #fefaf8;
    }


    .cta .h2+p {
        margin-top: 12px;
    }

    .cta .button {
        margin-top: 23px;
    }
}

@media (max-width: 767px) {

    .cta {
        padding: 40px 20px 50px;
    }


    .cta {
        border-radius: 0;
    }


    .cta p {
        max-width: unset;
    }

    .cta .button {
        width: 100%;
        white-space: unset;
    }


    .cta .button::before {
        border-radius: 20px;
    }
}


/******************************************/
/********** MODULE 21: TWO BUTTONS ********/
/******************************************/

.template-module.module23 .container>div,
.template-module.module22 .container>div,
.template-module.module21 .container>div {
    display: flex;
    background-color: #fef8f4;
    border-radius: 20px;
    padding: 40px 70px;
    gap: 40px;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
}

.template-module.module21 .container>div {
    flex-wrap: nowrap;
}

.template-module.module22 .container .title,
.template-module.module21 .container .title .h2 {
    font-size: 24px;
    font-weight: normal;
    line-height: 1.42;
    letter-spacing: normal;
    text-align: left;
    color: var(--black);
    margin-block: 0;
}


.template-module.module22 .container .title>a,
.template-module.module21 .container .title>a {
    display: inline-block;
    font-weight: bold;
    color: var(--primary);
    border-bottom: 1px solid rgba(255, 13, 0, 1);
}

.template-module.module22 .container .title>a:hover,
.template-module.module21 .container .title>a:hover {
    border-bottom: 1px solid rgba(255, 13, 0, 0);
}


.template-module.module21 .container .title .h2 a:hover {
    color: var(--primary);
}

.template-module.module22 .container .title>strong,
.template-module.module21 .container .title>strong {
    font-weight: bold;
    color: var(--primary);
}

.template-module.module22 small,
.template-module.module21 small {
    font-size: 12px;
    font-weight: normal;
    line-height: 1.83;
    letter-spacing: normal;
    text-align: left;
    color: #8f8e8e;
    margin-top: 3px;
}


.template-module.module21 .container .button-wrapper .button {
    padding: 12px 20px;
}

.template-module.module21 .container .button-wrapper {
    display: flex;
    gap: 9px;
    justify-content: flex-end;
}


@media (max-width: 1024px) {
    .template-module.module21 .container>div {
        gap: 30px;
        justify-content: center;
    }
}


@media (max-width: 1024px) {

    .template-module.module22 .container .title,
    .template-module.module21 .container .title .h2 {
        font-size: 16px;
        margin-bottom: 5px;
        line-height: 1.63;
    }


    .template-module.module21 .container .button-wrapper .button {
        text-align: center;
        padding: 4px 20px 5px;
    }

    .template-module.module21 small {
        text-align: center;
        font-size: 11px;
    }
}

@media (max-width: 767px) {
    .template-module.module21 .container>div {
        background-color: var(--transparent);
        border-radius: 0;
        padding: 0;
    }

    .template-module.module21 .container .button-wrapper {
        flex-direction: column;
        width: 100%;
        gap: 10px;
    }

    .template-module.module21 .container .title-wrapper {
        display: none;
    }

}


/*****************************************************/
/************** MODULE 22:  3 CTA's ******************/
/*****************************************************/

.template-module.module22 .container>div {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 32px;
    padding: 33px 70px;
    align-items: flex-start;
}


.template-module.module22 .container>div>div:not(.icon) {
    gap: 70px;
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-block: auto;
}

.template-module.module22 .container>div .icon img {
    max-width: 112px;
    min-width: 112px;
    object-fit: contain;
}

.template-module.module22 .container>div .button-wrapper {
    display: flex;
    align-items: center;
}

.template-module.module22 .container .title-wrapper {
    width: 100%;
}

.template-module.module22 .container .title-wrapper>.h2 {
    margin-bottom: 0px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.56;
    letter-spacing: normal;
    text-align: left;
    color: #ff0e01;
    margin: 0 0 4px;
}

.template-module.template-module-desktop {
    display: block;
}

.template-module.template-module-mobile {
    display: none;
}

@media (max-width: 1024px) {

    .template-module.module22 .container .title,
    .template-module.module22 .container>div h3 {
        font-size: 16px;
        margin-bottom: 5px;
        line-height: 1.63;
    }

    .template-module.module22 .container .title-wrapper>.h2 {
        font-size: 16px;
        line-height: 1.63;
        margin: 0;
    }

    .template-module.module22.template-module-mobile .container>div .icon img {
        max-width: 72px;
        margin-top: 6px;
        max-height: 67px;
        min-width: 72px;
    }

    .template-module.module22.template-module-mobile small {
        text-align: center;
        font-size: 11px;
    }

    .template-module.module22.template-module-mobile .container>div>div:not(.icon).button-wrapper:has(.button) {
        margin-top: 10px;
    }

    .template-module.module22.template-module-mobile .button-wrapper:has(.button) small {
        margin-top: 12px;
    }

    .template-module.module22 .container>div .button-wrapper {
        margin-top: 16px;
    }
}

@media (max-width: 767px) {

    .template-module.template-module-desktop {
        display: none;
    }

    .template-module.template-module-mobile {
        display: block;
    }

    .template-module.module22.template-module-mobile {
        padding: 23px 0 30px;
        background-color: #fef8f4;
    }

    .template-module.module22.template-module-mobile .container>.title {
        display: block;
        text-align: center;
        margin-top: 30px;
    }

    .template-module.module22.template-module-mobile.garantia .container>div .icon img {
        margin: 0;
    }


    .template-module.module22.template-module-mobile .container>div {
        padding: 0;
        border-radius: 0;
        gap: 12px;
    }

    .template-module.module22.template-module-mobile .container>div>div:not(.icon) {
        flex-direction: column;
        gap: 0;
    }

    .template-module.module22.template-module-mobile .container>div>div:not(.icon) a {
        width: 100%;
    }

}


/*****************************************************/
/************** MODULE 23:  3 AWARDS's ***************/
/*****************************************************/


.template-module.module23 .container>div {
    padding: 36px 70px;
}

.template-module.module23 .container p,
.template-module.module23 .container .h2 {
    font-size: 32px;
    font-weight: normal;
    line-height: 1.31;
    letter-spacing: normal;
    text-align: left;
    color: var(--black);
    margin: 0;
}

.template-module.module23 .container .awards {
    gap: 25px;
    margin: 0;
}

.template-module.module23 .container .awards>a:has(img),
.template-module.module23 .container .awards img {
    max-height: 110px;
    object-fit: contain;
    width: unset;
    height: 100%;
}


.template-module.module23 .container .awardsa[href]:has(img):hover>img {
    transform: scale(1);
}


@media (max-width: 767px) {
    .template-module.module23 .container {
        padding: 0;
    }

    .template-module.module23 .container>div {
        padding: 52px 26px;
        border-radius: 0;
        gap: 40px;
        justify-content: center;
    }

    .template-module.module23 .container p,
    .template-module.module23 .container .h2 {
        font-size: 20px;
        line-height: 1.5;
        text-align: center;
        margin-top: 0;
    }

    .template-module.module23 .container .awards>a:has(img),
    .template-module.module23 .container .awards img {
        max-height: 95px;
        width: 100%;
    }

    .template-module.module23 .container .awards {
        gap: 20px;
    }
}


/*****************************************************/
/************* MODULE 24: Modulo Marcacao ************/
/*****************************************************/


.template-module.module24 .container>div {
    background-color: #fef8f4;
    display: flex;
    border-radius: 20px;
    overflow: hidden;
}

.template-module.module24 .container>div div.image-wrapper {
    width: 50%;
    position: relative;
    padding: 0;
}

.template-module.module24 .container>div img {
    position: absolute;
    width: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    object-fit: cover;
    height: 100%;
}

.template-module.module24 .container>div div {
    width: 50%;
    padding: 50px 45px;
}

.template-module.module24 .container>div div .h2 {
    font-size: 24px;
    font-weight: normal;
    line-height: 1.42;
    letter-spacing: normal;
    text-align: left;
    color: #1a1a1a;
    margin-top: 0;
}


@media (max-width: 1024px) {
    .template-module.module24 .container>div div .h2 {
        font-size: 16px;
        line-height: 1.63;
        margin-bottom: 16px;
    }
}


@media (max-width: 767px) {
    .template-module.module24 .container {
        padding: 0;
    }

    .template-module.module24 .container>div {
        flex-direction: column;
        border-radius: 0;
    }

    .template-module.module24 .container>div div,
    .template-module.module24 .container>div div.image-wrapper {
        width: 100%;
    }

    .template-module.module24 .container>div div:has(p) {
        padding: 20px 20px 30px;
    }

    .template-module.module24 .container>div img {
        position: relative;
    }

    .template-module.module24 .container>div div .h2 {

        text-align: center;
    }


    .template-module.module24 .container>div div .button {
        width: 100%;
    }

}


.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 .image.video video,
.tns-item img {
    perspective: 1000px !important;
    backface-visibility: hidden !important;
    transform: translate3d(0, 0, 0);
}

.video-wrapper-fullscreen {
    position: fixed !important;
    top: 0;
    left: 0;
    z-index: 50;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: var(--transition);
    padding: 100px 20px;

}

.video-wrapper-fullscreen.open {
    opacity: 1;
    pointer-events: all;
}

.video-wrapper-fullscreen .close {
    position: absolute;
    top: 30px;
    right: 30px;
    padding: 20px;
    z-index: 10;
    cursor: pointer;
}

.video-wrapper-fullscreen .close::after,
.video-wrapper-fullscreen .close::before {
    content: "";
    position: absolute;
    top: 10px;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    transform: rotate(45deg);
    background-color: #fff;
}

.video-wrapper-fullscreen .close::after {
    transform: rotate(-45deg);
}

.video-wrapper-fullscreen video,
.video-wrapper-fullscreen iframe {
    width: 100%;
    height: 100%;
    display: none;
    border: none;
}


/*************************************/
/********** GALERIA E TEXTO **********/
/*************************************/

.galeria_txt .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1220px;
}

.galeria_txt .container>div {
    flex: 1 0 50%;
    position: relative;
}

.galeria_txt .container h4 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.58;
    letter-spacing: normal;
    text-align: left;
    color: var(--primary);
    margin: 0;
    margin-bottom: 15px;
}

.galeria_txt .container h2 {
    font-size: 25.5px;
    font-weight: bold;
    line-height: 1.16;
    letter-spacing: -0.26px;
    text-align: left;
    color: var(--black);
    margin: 0;
    margin-bottom: 30px;
}

.galeria_txt .container h2 strong {
    color: var(--primary);
}

.galeria_txt .container p,
.galeria_txt .container>div:last-of-type {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.33;
    letter-spacing: normal;
    text-align: left;
    color: var(--third);
    width: 100%;
}

.galeria_txt .container>.cont {
    margin-top: 30px;
}

.galeria_txt .container>.imgs:has(.tns-outer .slide + .slide)+.cont {
    margin-top: 60px;
}


.galeria_txt .container p:has(+.button) {
    margin-bottom: 0;
}


.galeria_txt .container .button {
    margin-top: 30px;
    text-align: center;
    width: 100%;
}

.galeria_txt .container ul {
    margin: 0;
    padding-block: 0px;
    margin-top: 26px;
    counter-reset: item;
    padding-left: 24px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.galeria_txt .container ul li {
    position: relative;
    padding-left: 9px;
}

.galeria_txt .container ul li::before {
    content: "";
    display: inline-block;
    height: 17px;
    width: 1.25rem;
    margin-left: -2em;
    margin-right: 1.25rem;
    -webkit-mask-image: url(/assets/img/landing-pages/template/bullet.svg);
    mask-image: url(/assets/img/landing-pages/template/bullet.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--primary);
    position: absolute;
    top: 5px;
    left: 1rem;
}

.galeria_txt .container .legend {
    position: absolute;
    top: 0;
    bottom: 0px;
    left: 0;
    right: 0;
    padding-inline: 20px;
    padding-bottom: 15px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 1;
    pointer-events: none;
    will-change: transform;
}

.galeria_txt .slide:has(.legend):before {
    content: "";
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    mix-blend-mode: multiply;
    background-image: linear-gradient(to top, rgba(145, 145, 145, 1) 0%, rgba(145, 145, 145, 0));
    /* background-image: linear-gradient(to bottom, #919191, #919191); */
    z-index: 1;
    pointer-events: none;
    will-change: transform;
}

.galeria_txt .slide.video .legend {
    background: none;
    will-change: transform;
}

.galeria_txt .slide.video:has(.legend):before {
    height: auto;
    top: 0;
    will-change: transform;
}

.galeria_txt .container .legend p {
    color: white;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.25;
    margin-bottom: 5px;
    text-align: center;
    will-change: transform;
}

/* .galeria_txt .slider{
    display: flex;
    gap: 2px;
}
.galeria_txt .slider{
    overflow: hidden;
}*/
.rounded .galeria_txt .slider,
.rounded .galeria_txt .slider>.slide {
    overflow: hidden;
    border-radius: 30px;

}

.galeria_txt .tns-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: auto;
    bottom: -30px;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 20px;
    will-change: transform;
}

.galeria_txt .tns-nav button {
    background: none;
    border: none;
    font-size: inherit;
    position: relative;
    will-change: transform;
}

.galeria_txt .tns-nav button::before {
    content: "";
    width: 6px;
    height: 6px;
    display: block;
    border: none;
    background: #d7d4d4;
    border-radius: 50%;
}

.galeria_txt .tns-nav button.tns-nav-active::before {
    width: 10px;
    height: 10px;
    background: var(--primary);
}

.galeria_txt .slide {
    /* width: 100%;
    position: relative;
    overflow: hidden; */
}

.galeria_txt .slide.video {
    /* width: 100%;
    position: relative; */
}

.galeria_txt .slide.video:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #b6b4b4;
    mix-blend-mode: multiply;
    z-index: 1;
    pointer-events: none;
    will-change: transform;
}

/* .galeria_txt .slide.video img {
	position: relative;
	margin: 0;
} */

.video-wrapper-fullscreen-galeria iframe,
.video-wrapper-fullscreen-galeria video,
.galeria_txt .slide.video iframe,
.galeria_txt .slide.video video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: 0;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
}

.video-wrapper-fullscreen-galeria iframe,
.video-wrapper-fullscreen-galeria video {
    position: relative;
}

.galeria_txt .slide.video.open iframe,
.galeria_txt .slide.video.open video {
    opacity: 1;
    pointer-events: auto;
}


.galeria_txt .slide.video a.play {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 41px;
    height: 41px;
    z-index: 1;
    cursor: pointer;
    pointer-events: all;
    will-change: transform;
}


.galeria_txt .slide.video a.play:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 12px;
    height: 14px;
    margin: auto;
    -webkit-mask-image: url(/assets/img/landing-pages/template/play.svg);
    mask-image: url(/assets/img/landing-pages/template/play.svg);
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: cover;
    -webkit-mask-size: cover;
    background-color: white;
    transition: var(--transition);
    z-index: 2;
}

.galeria_txt .slide.video a.play:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    transition: var(--transition);
    border-radius: 100%;
    border: 2px solid white;
    z-index: 1;
    background: none;
}

.galeria_txt .slide.video a.play:hover::after {
    transform: scale(1.05);
}

@media (min-width: 768px) {
    .galeria_txt .container {
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    .galeria_txt .container.align-start {
        align-items: flex-start;
    }

    .galeria_txt .container h4 {
        font-size: 20.5px;
        line-height: 1.44;
        margin-bottom: 15px;
    }

    .galeria_txt .container h2 {
        font-size: 40px;
        line-height: 1.13;
        letter-spacing: -0.4px;
        margin-bottom: 30px;
    }

    .galeria_txt .container p,
    .galeria_txt .container>div:last-of-type {
        font-size: 20px;
        font-weight: 300;
        line-height: 1.5;
    }

    .galeria_txt .container .button {
        width: auto;
    }

    .galeria_txt .container.typeTxtGal>div:first-of-type {
        order: 2;
    }

    .galeria_txt .container>div:last-of-type {
        padding-left: 80px;
        margin-top: inherit;
    }

    .galeria_txt .container.typeTxtGal>div:last-of-type {
        padding-left: 0;
        padding-right: 80px;
    }


    .galeria_txt .slide.video a.play {
        width: 93px;
        height: 93px;
    }

    .galeria_txt .slide.video a.play:before {
        width: 21px;
        height: 25px;
    }

    .galeria_txt .slide.video a.play:after {
        border: 4px solid white;
        width: calc(100% - 8px);
        height: calc(100% - 8px);
    }

    .galeria_txt .container .legend {
        padding-inline: 50px;
        padding-bottom: 12px;
    }

    .galeria_txt .container ul li {
        padding-left: 1rem;
    }

    .galeria_txt .container ul li::before {
        top: 7px;
    }

}

.video-wrapper-fullscreen-galeria {
    position: fixed !important;
    top: 0;
    left: 0;
    z-index: 50;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: var(--transition);
    padding: 50px 20px;
}

.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-galeria .close {
    display: block;
    position: absolute;
    top: 20px;
    right: 30px;
    width: 50px;
    height: 50px;
    mask-image: url(/assets/img/landing-pages/template/close.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center center;
    -webkit-mask-image: url(/assets/img/landing-pages/template/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-galeria video,
.video-wrapper-fullscreen-galeria iframe {
    width: 100%;
    height: 100%;
    display: none;
    border: none;
}


@media (min-width: 992px) {
    .video-wrapper-fullscreen-galeria {
        padding: 50px 100px;
    }
}


/*****************************/
/********** GALERIA **********/
/*****************************/


.galeria>.container {
    max-width: 100%;
    padding: 0px;
}

.galeria .slider .image,
.galeria .slider img {
    border-radius: 0;
}


.galeria .slider-wrapper {
    position: relative;
}


.galeria>.container .slider-wrapper .tns-outer {
    overflow: hidden;
    isolation: isolate;
    transform: translateZ(0);
}

.galeria .slider-wrapper .tns-outer .image {
    border-radius: 0;
    background-color: #c7c5c5;
}

.galeria .slider:not(.tns-slider) {
    display: flex;
    overflow: hidden;
}

.galeria .slider:not(.tns-slider)>.slide {
    flex-basis: 100%;
    min-width: 100%;
}

.galeria .slider:not(.tns-gallery) .slide {
    position: relative;
}


.galeria:not(.module3, .module2) .image {
    position: relative;
    aspect-ratio: 16 / 8.99;
    background-color: unset;
}


.galeria.module2 .image,
.galeria.module3 .image {
    position: relative;
    padding-top: 56.25%;
}


.galeria .image img {
    position: absolute;
    top: -1px;
    bottom: -1px;
    left: -1px;
    right: -1px;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    width: auto;
    height: 100%;
    background-color: #000000;
}

.galeria .slider .legend {
    padding: 10px 40px;
    text-align: center;
    position: relative;
    background-color: white;
    pointer-events: none;
}

.galeria .slider .legend small {
    text-align: center;
    margin: .25em 0;
    color: white;
    font-size: 20px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
}

.slider-arrows {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    pointer-events: none;
    width: 100%;
    justify-content: space-between;
}

.slider-arrows>div {
    position: relative;
    width: 20px;
    height: 37px;
    pointer-events: auto;
    margin: 40px;
    cursor: pointer;
    transition: var(--transition);
}

.galeria .slider-wrapper .slider-arrows>div:hover {
    opacity: 0.6;
    transform: none;
}

.galeria .slider-wrapper .slider-arrows>div.prev {
    transform: rotateY(180deg);

}

@media (min-width: 768px) {

    .rounded .galeria video,
    .rounded .galeria iframe,
    .rounded .galeria a:has(img),
    .rounded .galeria img,
    .rounded .galeria>.container .slider-wrapper .tns-outer {
        border-radius: 30px;
    }

    .galeria>.container {
        max-width: 1220px;
        padding: 0 20px;
    }
}


.galeria .slider-wrapper .slider-arrows>div.prev:hover {
    opacity: 0.6;
    transform: rotateY(180deg);
}

.slider-arrows>div.prev {
    transform: rotate(0);
}

.slider-arrows>div.next {
    right: 0;
}

.slider-arrows>div::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-mask-image: url("/assets/img/landing-pages/template/slider-caret.svg");
    -webkit-mask-repeat: no-repeat;
    mask-image: url("/assets/img/landing-pages/template/slider-caret.svg");
    mask-repeat: no-repeat;
    mask-size: cover;
    background-color: #ffffff;
    transition: var(--transition);
    cursor: pointer;
}


@media (max-width: 767px) {

    .slider-arrows>div {
        width: 13px;
        height: 24px;
        margin: 10px;
    }

    .galeria .slider-wrapper .tns-outer .image {
        border-radius: 30px;
    }

}

@media (min-width: 992px) {
    .galeria .slider .legend {
        padding: 20px 80px;
    }

}


/********************************************************/
/********** MODULE 1: SLIDER (NO BAR) - GALERIA **********/
/********************************************************/


.galeria .slider-wrapper.no-bar .slider .legend {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(1, 1, 1, 0.2), rgba(1, 1, 1, 0.1));
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 1;
}

.galeria .slider-wrapper.no-bar .slider .legend p {
    color: white;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.25;
    margin-bottom: 5px;
}

.galeria .slider-wrapper.no-bar .slider .video+.legend {
    background: transparent;
}

/*

.galeria .slider-wrapper.no-bar .slider-arrows {
    padding-top: 0;
}

.galeria .slider-wrapper.no-bar .slider-arrows > div::before {
    background-image: url(/template1/assets/img/arrow-white.svg);
} */

@media (max-width: 767px) {

    .galeria .slider-wrapper.no-bar .slider .legend {
        position: relative;
        background: transparent;
        padding: 10px 20px 0;
    }

    .galeria .container .slider-wrapper.no-bar .slider .legend {
        padding: 10px 20px 0;
    }

    .galeria .slider-wrapper.no-bar .slider .legend p {
        font-size: 14px;
        font-weight: 300;
        line-height: 1.43;
        letter-spacing: normal;
        text-align: center;
        color: var(--third);
        margin: 0;
    }

    .galeria .slider-wrapper.no-bar .slider-arrows>div {
        opacity: .5;
    }
}


.galeria .video.open+.legend {
    opacity: 0;
}

/* @supports(object-fit: cover) {
	.galeria .image.video img {
		top: 0;left: 0;
		transform: none;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
} */


.galeria .video a.play {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 72px;
    height: 72px;
    z-index: 1;
}

.galeria .video a.play:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5px;
    right: 0;
    width: 21px;
    height: 25px;
    margin: auto;
    -webkit-mask-image: url("/landing-page/assets/img/template/play.svg");
    mask-image: url("/landing-page/assets/img/template/play.svg");
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: cover;
    -webkit-mask-size: cover;
    background-color: white;
    transition: var(--transition);
    z-index: 2;
}

.galeria .video a.play:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    transition: var(--transition);
    border-radius: 100%;
    z-index: 1;
    background-color: transparent;
    border: 4px solid white;
}

.galeria .image.video iframe,
.galeria .image.video video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: 0;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
}


.galeria .video.open iframe,
.galeria .video.open video {
    opacity: 1;
    pointer-events: auto;
}


@media (max-width: 767px) {

    .galeria .video+p.text-center {
        font-size: 10px;
    }

    .galeria a+p.text-center,
    .galeria img+p.text-center {
        margin-top: 10px;
    }

    .galeria .video a.play {
        width: 41px;
        height: 41px;
    }

    .galeria .video a.play:before {
        max-height: 12px;
        max-width: 11px;
        left: 1px;
    }

    .galeria .video a.play:after {
        width: 41px;
        height: 41px;
        border: 2px solid white;
        width: calc(100% - 4px);
        height: calc(100% - 4px);
    }

}


@media (min-width: 768px) {
    .galeria .video a {
        border-width: 4px
    }

    .galeria .video a.play {
        width: 70px;
        height: 70px;
    }

    .fullscreen-container iframe,
    .fullscreen-container video {
        padding: 50px;
    }


}

@media (min-width: 992px) {
    .galeria .video a.play {
        width: 95px;
        height: 95px;
    }

    .galeria .video a:hover.play::after {
        transform: scale(1.1)
    }
}


/*********************************/
/******* HOMEPAGE BANNER *********/
/*********************************/

.homepage-banner {}

picture {
    pointer-events: none;
    display: block;
    width: 100%;
    height: 100%;
}

.homepage-banner .container {
    display: flex;
    gap: 30px;
    padding-bottom: 36px;
}

.homepage-banner .container .slider-container {
    width: 72%;
    position: relative;
}

.homepage-testemony .container>.slider,
.sliderWrapper>.slider,
.homepage-secondary-banner .container>.slider,
.homepage-banner .container .slider-container>.slider {
    opacity: 0;
}

.homepage-banner .container .slider-container .tns-inner {
    border-radius: 20px;
    overflow: hidden;
}

.homepage-banner .container .slider-container .slider .slide {
    position: relative;
    transition: var(--transition);
}

.homepage-banner .container .slider-container .slider .slide:has(.banner-text-container)::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    /* border-radius: 20px; */
    mix-blend-mode: multiply;
    z-index: 1;
    background-image: linear-gradient(to top, #828181, var(--white));
    pointer-events: none;
}


.homepage-banner .container .slider .slide img,
.homepage-banner .container .slider .slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
}


.homepage-banner .container .slider .slide iframe {
    height: 100%;
    width: 100%;
    background-color: black;
    aspect-ratio: 16 / 9;
    position: relative;
    /* border-radius: 20px; */
    overflow: hidden;
    pointer-events: none;
    display: block;
}

.homepage-banner .container .slider-container .banner-text-container {
    position: absolute;
    left: 45px;
    bottom: 40px;
    z-index: 1;
    max-width: 50%;
    pointer-events: none;
}

.homepage-banner .container .slider-container .banner-text-container .banner-title {
    font-size: 32px;
    font-weight: bold;
    line-height: 1.31;
    letter-spacing: normal;
    text-align: left;
    color: var(--white);
}

.homepage-banner .container .slider-container .banner-text-container .button {
    pointer-events: all;
}

.homepage-banner .container .slider-container .banner-text-container p {
    font-size: 16px;
    font-weight: normal;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: left;
    color: var(--white);
    margin-bottom: 20px;
    margin-top: 12px;
}

.homepage-banner .container .banner-services {
    border: 2px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    padding: 20px 0 0;
    width: 28%;
    overflow: hidden;
}

.homepage-banner .container .banner-services>span {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.42;
    letter-spacing: normal;
    text-align: center;
    color: var(--black);
    padding: 0px 30px 20px;
}

.homepage-banner .container .banner-services>ul {
    display: flex;
    flex-direction: column;
}

.homepage-banner .container .banner-services>ul li {
    position: relative;
    transition: var(--transition);
    padding: 0 30px;
}

.homepage-banner .container .banner-services>ul li a {
    font-size: 16px;
    font-weight: normal;
    line-height: 1.63;
    letter-spacing: normal;
    color: var(--black);
    position: relative;
    padding: 20px 45px 21px;
    width: 100%;
    display: block;
    border-top: 2px solid #f0f0f0;
}

.homepage-banner .container .banner-services>ul li a.destaque {
    color: var(--primary);
    font-weight: 600;
}

.homepage-banner .container .banner-services>ul li a span {
    content: "";
    max-width: 30px;
    max-height: 30px;
    width: 100%;
    height: 100%;
    position: absolute;
    opacity: 1;
    left: 0px;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: var(--primary);
    transition: var(--transition);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position-y: center;
    mask-position-y: center;
}

.homepage-banner .container .banner-services>ul li::before {
    content: "";
    -webkit-mask-image: url(/assets/img/homepage/homepage-banner-caret.svg);
    mask-image: url(/assets/img/homepage/homepage-banner-caret.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--black);
    width: 7px;
    height: 13px;
    display: block;
    position: absolute;
    transition: var(--transition);
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
}


.homepage-secondary-banner .tns-nav,
.homepage-banner .tns-nav {
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-top: 30px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -36px;
    margin: 0;
    z-index: 1;
}

.homepage-secondary-banner .tns-nav button,
.homepage-banner .tns-nav button {
    position: relative;
    width: 6px;
    height: 6px;
    background-color: #dfdfdf;
    overflow: hidden;
    border-radius: 50px;
    transition: var(--transition);
    border: none;
    padding: 0;
}

.homepage-secondary-banner .tns-nav button.tns-nav-active,
.homepage-banner .tns-nav button.tns-nav-active {
    width: 46px;
}


.homepage-secondary-banner .tns-nav button::before,
.homepage-banner .tns-nav button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: var(--primary);
    transition: width 0s linear;
}

.homepage-banner .tns-nav button.tns-nav-active::before {
    transition: width 6s linear;
    animation-name: load;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
}

@keyframes load {
    0% {
        width: 0%;
    }

    100% {
        width: 100%;
    }
}


/********** VIDEO **********/

.homepage-banner .slider .slide .play {

    width: 53px;
    height: 53px;
    cursor: pointer;
    position: absolute;
    left: 40px;
    bottom: 40px;
    isolation: isolate;
    z-index: 1;
}

.homepage-banner .slider .slide .play::before {
    content: "";
    width: 18px;
    height: 18px;
    background-color: var(--black);
    -webkit-mask-image: url(/assets/img/homepage/play-icon.svg);
    mask-image: url(/assets/img/homepage/play-icon.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    z-index: 1;
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: -5px;
    bottom: 0;
}

.homepage-banner .slider .slide .play::after {
    content: "";
    width: 100%;
    height: 100%;
    z-index: 0;
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: -0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.75);
    border-radius: 100%;
    transition: var(--transition);
}

.homepage-banner .slider .slide .play:hover::after {
    transform: scale(1.05);
}

.homepage-banner .video-wrapper-fullscreen {
    position: absolute;
    top: 0;
    z-index: 50;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: var(--transition);
    padding: 100px 20px;
}

.homepage-banner .video-wrapper-fullscreen.open {
    opacity: 1;
    pointer-events: all;
}

.homepage-banner .video-wrapper-fullscreen .close {
    display: block;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 15px;
    height: 15px;
    mask-image: url(/assets/img/global/close-header.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center center;
    -webkit-mask-image: url(/assets/img/global/close-header.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    -webkit-mask-position: center center;
    background-color: white;
    cursor: pointer;
}

.homepage-banner .video-wrapper-fullscreen video,
.homepage-banner .video-wrapper-fullscreen iframe {
    width: 100%;
    height: 100%;
    display: none;
    border: none;
}


@media (min-width: 1025px) {


    .homepage-banner .container .banner-services>ul li:hover {
        background-color: var(--primary);
    }

    .homepage-banner .container .banner-services>ul li:hover a span,
    .homepage-banner .container .banner-services>ul li:hover::before {
        background-color: white;
    }

    .homepage-banner .container .banner-services>ul li:hover>a {
        color: white;
        border-top: 2px solid var(--primary);
    }
}

@media (max-width: 1024px) {

    .index section.homepage-banner {
        margin: 0;
    }

    .homepage-banner .container {
        flex-direction: column;
        padding: 0;
    }

    .homepage-banner .container .banner-services,
    .homepage-banner .container .slider-container {
        width: 100%;
    }

    .homepage-banner .container .slider-container .tns-inner,
    .homepage-banner .container .slider-container .slider .slide:has(.banner-text-container)::before,
    .homepage-banner .container .slider .slide iframe,
    .homepage-banner .container .slider-container .slider .slide {
        border-radius: 0;
    }

    .homepage-banner .container .slider-container .banner-text-container {
        max-width: 100%;
        left: 20px;
        right: 20px;
        bottom: 24px;
    }

    .homepage-banner .container .slider-container .banner-text-container .banner-title {
        font-size: 20px;
        line-height: 1.5;
    }

    .homepage-banner .container .slider-container .banner-text-container p {
        font-size: 14px;
        line-height: 1.43;
        margin-bottom: 15px;
        margin-top: 3px;
    }

    .homepage-banner .container .slider-container .banner-text-container .button {
        width: 100%;
        text-align: center;
    }

    .homepage-banner .tns-nav {
        bottom: -23px;
    }

    .homepage-banner .container .banner-services>ul li a,
    .homepage-banner .container .banner-services {
        border: none;
    }

    .homepage-banner .container .banner-services {
        padding: 30px 0 0;
    }


    .homepage-banner .container .banner-services>ul li {
        padding: 0 20px;
    }

    .homepage-banner .container .banner-services>ul li a {
        padding: 17px 45px 16px;
    }

    .homepage-banner .container .banner-services>ul li::before {
        right: 20px;
    }
}


@media (max-width: 767px) {

    .homepage-banner .container .slider .slide img,
    .homepage-banner .container .slider .slide video,
    .homepage-banner .container .slider .slide iframe {
        aspect-ratio: 16 / 15;
    }

    .homepage-banner .slider .slide .play {
        width: 41px;
        height: 41px;
        left: 20px;
        bottom: 20px;
    }

    .homepage-banner .slider .slide .play::before {
        width: 13px;
        height: 13px;
        right: -4px;
    }

    .homepage-banner .container .banner-services>span {
        font-size: 18px;
    }

    .homepage-banner .container .banner-services>ul li a,
    .homepage-banner .container .banner-services {
        font-size: 14px;
    }
}


/*********************************/
/******** HOMEPAGE COUNT *********/
/*********************************/


.homepage-count {}


.homepage-count .title {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: normal;
    text-align: center;
    color: var(--black);

}

.homepage-count .container .count-wrapper {
    background-color: #fef8f4;
    border-radius: 20px;
    padding: 56px 50px 55px;
}

.homepage-count .container .count-wrapper>div:not(.title) {
    display: flex;
    margin-top: 35px;
    gap: 42px;
    justify-content: center;
}

.homepage-count .container .count-wrapper>div>div {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* min-width: 27%;
    max-width: 27%; */
    text-align: center;
}

.homepage-count .container .count-wrapper>div>div span {
    font-size: 72px;
    font-weight: 900;
    line-height: 1.14;
    letter-spacing: normal;
    text-align: center;
    color: var(--primary);
}

.homepage-count .container .count-wrapper>div>div p {
    font-size: 16px;
    font-weight: normal;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: center;
    color: var(--black);
    margin: 0;
}

.homepage-count .container .count-wrapper>div>div span.moreThan::before {
    content: "+";
}

.homepage-count .container .count-wrapper>div>div span.percent::after {
    content: "%";
}

@media (max-width: 767px) {
    .homepage-count .container .count-wrapper {
        padding: 35px 20px;
    }

    .homepage-count .title {
        font-size: 18px;
        line-height: 1.58;
    }

    .homepage-count .container .count-wrapper>div>div {
        gap: 3px;
    }

    .homepage-count .container .count-wrapper>div:not(.title) {
        flex-direction: column;
        margin-top: 23px;
        gap: 20px;
        align-items: center;
    }

    .homepage-count .container .count-wrapper>div>div span {
        font-size: 40px;
    }

    .homepage-count .container .count-wrapper>div>div p {
        line-height: 1.63;
        font-size: 14px;
        margin: 0;
    }
}


/*********************************/
/*** HOMEPAGE SECONDARY BANNER ***/
/*********************************/

.homepage-secondary-banner .container {
    padding-bottom: 36px;
}

.homepage-secondary-banner .tns-nav {
    bottom: 0;
}

.homepage-secondary-banner .tns-nav button.tns-nav-active::before {
    transition: width 6s linear;
    animation-name: load;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
}

.homepage-secondary-banner .tns-inner {
    border-radius: 20px;
    overflow: hidden;
}

.homepage-secondary-banner .slider img {
    display: block;
}


@media (max-width: 767px) {
    .homepage-secondary-banner .container .slider .slide img {
        aspect-ratio: 14 / 10;
    }

    .homepage-secondary-banner .container {
        padding: 0;
    }

    .homepage-secondary-banner .tns-nav {
        bottom: -26px;
    }

    .homepage-secondary-banner .tns-inner {
        border-radius: 0;
        overflow: unset;
    }
}


/*********************************/
/****** HOMEPAGE DESTAQUE ********/
/*********************************/

.homepage-destaque {}

.homepage-destaque .container {
    display: flex;
}

.homepage-destaque .container picture {
    max-width: 50%;
}

.homepage-destaque .container img {
    object-fit: cover;
    display: block;
    background-color: #fbfbfb;

}

.homepage-destaque .container>div {
    display: flex;
    align-items: center;
    background-color: #fbfbfb;

    padding-left: 5%;
    width: 100%;
}

.homepage-destaque .container .text-wrapper {
    padding-right: 40px;
    /* margin-block: 90px; */
}

.homepage-destaque .container .text-wrapper h2 {
    font-size: 32px;
    font-weight: normal;
    line-height: 1.31;
    letter-spacing: normal;
    text-align: left;
    color: #000;
    margin: 0 0 21px;
}

.homepage-destaque .container .text-wrapper p {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.56;
    letter-spacing: normal;
    text-align: left;
    color: #626262;
}

.homepage-destaque .container .text-wrapper ul {
    padding-left: 29px;
    list-style-type: none;
    margin: 0;
    padding-block: 0px;
    counter-reset: item;
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 27px;
}

.homepage-destaque .container .text-wrapper li {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.56;
    letter-spacing: normal;
    text-align: left;
    color: var(--black);
}

.homepage-destaque .container .text-wrapper ul li::before {
    content: "";
    display: inline-block;
    height: 22px;
    width: 20px;
    margin-left: -30px;
    margin-right: 10px;
    -webkit-mask-image: url(/assets/img/homepage/check-destaque-homepage.svg);
    mask-image: url(/assets/img/homepage/check-destaque-homepage.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--primary);
    vertical-align: middle;
}

.homepage-destaque .container .text-wrapper .button {
    margin-top: 35px;
}

@media (min-width: 767px) {


    .homepage-destaque .container img {
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
    }

    .homepage-destaque .container>div {
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
    }


    .homepage-destaque .container:has(div + picture)>div {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
    }

    .homepage-destaque .container div+picture img {
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
        border-top-left-radius: 0px;
        border-bottom-left-radius: 0px;
    }

}

@media (max-width: 1024px) {
    /* .homepage-destaque .container img {
        max-width: 60%;
    } */

    /* .homepage-destaque .container {
        flex-direction: column;
        padding: 0;
    }

    .homepage-destaque .container img {
        max-width: 100%;
    } */

}


@media (max-width: 767px) {

    .homepage-destaque .container {
        flex-direction: column;
        padding: 0;
    }

    .homepage-destaque .container picture {
        max-width: 100%;
    }

    .homepage-destaque .container>div {
        padding: 0 20px 40px;
    }

    .homepage-destaque .container .text-wrapper {
        padding: 0;
        margin-block: 0px;
    }

    .homepage-destaque .container .text-wrapper h2 {
        font-size: 20px;
        margin-bottom: 10px;
        margin-top: 20px;
        line-height: 1.5;
    }

    .homepage-destaque .container .text-wrapper p {
        margin-top: 12px;
        font-size: 16px;
        line-height: 1.63;
    }

    .homepage-destaque .container .text-wrapper li {
        font-size: 16px;
        line-height: 1.63;
    }

    .homepage-destaque .container .text-wrapper ul {
        margin-top: 18px;
    }

    .homepage-destaque .container .text-wrapper .button {
        width: 100%;
        margin-top: 21px;
        text-align: center;
    }

}


/*********************************/
/****** HOMEPAGE TESTEMONY *******/
/*********************************/


.homepage-testemony>.container {
    padding-block: 60px;
}


.homepage-testemony .title {
    font-size: 32px;
    font-weight: normal;
    line-height: 1.31;
    letter-spacing: normal;
    text-align: center;
    color: var(--primary);
    margin-bottom: 45px;
}

.homepage-testemony .slider .slide .rating {
    margin-top: 7px;
}

.homepage-testemony .slider .slide .rating span {
    font-size: 72px;
    line-height: 1;
    margin-top: 16px;
}

.homepage-testemony .slider .slide .rating p {
    font-weight: normal;
    line-height: 1;
    margin: 9px;
}

.homepage-testemony .slider .slide .slide-wrapper {
    display: flex;
    gap: 70px;
    justify-content: center;
}

.homepage-testemony .slider .slide .text-wrapper {
    max-width: 700px;
}

.homepage-testemony .slider .slide .text-wrapper p {
    font-size: 24px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.42;
    letter-spacing: normal;
    text-align: left;
    color: #000;
    margin: 0;
}

.homepage-testemony .slider .slide .text-wrapper p strong {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: left;
    color: #000;
    margin-top: 22px;
    display: block;
}

.homepage-testemony .slider .slide .text-wrapper span {
    font-size: 13px;
    font-weight: bold;
    line-height: 1.38;
    letter-spacing: normal;
    text-align: left;
    color: var(--primary);
}


.homepage-icons .slider-arrows,
.homepage-testemony .slider-arrows {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    pointer-events: none;
    width: 100%;
    justify-content: space-between;
}


.homepage-icons .slider-arrows>a,
.homepage-testemony .slider-arrows>a {
    position: relative;
    width: 17px;
    height: 100%;
    background-color: white;
    pointer-events: auto;
    margin: 0;
    cursor: pointer;
    transition: var(--transition);
}

.homepage-icons .slider-arrows>a::before,
.homepage-testemony .slider-arrows>a::before {
    content: "";
    position: absolute;
    width: 17px;
    height: 36px;
    -webkit-mask-image: url(/assets/img/homepage/slider-caret.svg);
    -webkit-mask-repeat: no-repeat;
    mask-image: url(/assets/img/homepage/slider-caret.svg);
    mask-repeat: no-repeat;
    mask-size: cover;
    background-color: #e3e2e2;
    transition: var(--transition);
    cursor: pointer;
    top: 0;
    bottom: 0;
    margin: auto;
}


.homepage-icons .slider-arrows>a.prev::before,
.homepage-testemony .slider-arrows>a.prev::before {
    transform: rotate(180deg);
}


@media (min-width: 1025px) {
    .homepage-testemony .slider-arrows>a:hover::before {
        background-color: #a3a3a3;

    }

}

@media (max-width: 1024px) {

    .homepage-testemony>.container {
        padding-block: 30px;
    }

    .homepage-testemony .container>.container {
        padding: 0px 40px;
    }


    .homepage-testemony .slider-arrows>a::before {
        width: 100%;
    }

    .homepage-testemony .slider .slide .rating span {
        font-size: 40px;
    }

    .homepage-testemony .slider .slide .text-wrapper p {
        font-size: 18px;
        line-height: 1.56;
    }

    .homepage-testemony .slider .slide .text-wrapper p strong {
        font-size: 14px;
        line-height: 1.71;
        margin-top: 12px;

    }

    .homepage-testemony .slider .slide .text-wrapper span {
        font-size: 11px;
        line-height: 1.45;
        margin-top: 5px;
    }


    .homepage-testemony .slider .slide .slide-wrapper {
        gap: 54px;
    }

    .homepage-testemony .slider .slide .text-wrapper {
        max-width: 100%;
    }

    .homepage-testemony .slider .slide .rating p {
        font-size: 14px;
    }

    .homepage-icons .slider-arrows,
    .homepage-testemony .slider-arrows {
        left: 15px;
        right: 15px;
        width: calc(100% - 30px);
    }
}


@media (max-width: 767px) {

    .homepage-testemony .title {
        font-size: 20px;
        line-height: 1.5;
        margin-bottom: 10px;
    }

    .homepage-testemony .container>.container {
        padding: 0px;
    }

    .homepage-testemony .slider .slide .slide-wrapper {
        flex-direction: column;
    }

    .homepage-testemony .slider-arrows {
        width: 51px;
        bottom: unset;
        margin: auto;
        top: 232px;

    }

    .homepage-testemony .slider-arrows>a {
        background-color: unset;
        height: 24px;
        width: 11px;
    }

    .homepage-testemony .slider .slide .text-wrapper p,
    .homepage-testemony .slider .slide .text-wrapper p strong,
    .homepage-testemony .slider .slide .text-wrapper span {
        text-align: center;
        display: block;

    }
}


/*********************************/
/******** HOMEPAGE AWARDS ********/
/*********************************/


.homepage-awards {}

.homepage-awards .container {
    background-color: #fef8f4;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    padding: 36px 70px;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
}

.homepage-awards .container p {
    font-size: 32px;
    font-weight: normal;
    line-height: 1.31;
    letter-spacing: normal;
    text-align: left;
    color: #000;
}

.homepage-awards .awards {
    gap: 25px;
}

.homepage-awards .awards>a:has(img),
.homepage-awards .awards img {
    max-height: 110px;
    object-fit: contain;
    width: unset;
    height: 100%;
}


@media (max-width: 1024px) {
    .homepage-awards .container p {
        font-size: 20px;
        line-height: 1.5;
        margin: 0;
    }

    .homepage-awards .awards img {
        max-height: 95px;
    }

}


@media (max-width: 767px) {

    .homepage-awards .container p {
        font-size: 20px;
        line-height: 1.5;
        text-align: center;
        margin: 0;
    }

    .homepage-awards .container {
        flex-direction: column;
        padding: 53px 25px 58px;
        gap: 33px;
        border-radius: 0;
    }

    .homepage-awards .awards {
        gap: 20px;
    }
}


/*********************************/
/********* HOMEPAGE BLOG *********/
/*********************************/

.homepage-blog {}

.homepage-blog .container {
    padding-block: 40px;
}

.homepage-blog .container>a {
    font-size: 13px;
    font-weight: bold;
    line-height: 1.37;
    letter-spacing: normal;
    text-align: end;
    color: var(--black);
    margin-bottom: 20px;
    padding-right: 20px;
    transition: var(--transition);
    text-transform: uppercase;
    display: block;
    position: relative;
}

.homepage-blog .container>a span {
    width: 12px;
    height: 12px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: var(--transition);
}

.homepage-blog .container>a span::before {
    content: "";
    -webkit-mask-image: url("/assets/img/homepage/blog-section-arrow.svg");
    mask-image: url("/assets/img/homepage/blog-section-arrow.svg");
    background-color: var(--primary);
    width: 100%;
    height: 100%;
    display: block;
}


.homepage-blog .container a:hover span {
    transform: translateX(3px) translateY(-3px);
}


.row:has(.blog-article) {
    --gap-h: 60px;
    --gap-v: 30px;
}

.blog-article .img-blog {
    position: relative;
    overflow: hidden;
    width: 100%;
    border-radius: 20px;
    font-size: 0;
    isolation: isolate;
    transform: translateZ(0)
}

.blog-article .img-blog img {
    width: 100%;
    transition: var(--transition);
    height: 100%;
}

.blog-article .img-blog:hover img {
    transform: scale(1.05);
}

.blog-article .blog-bot-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 26px;
}

.blog-article .blog-bot-content span {
    font-size: 13px;
    font-weight: normal;
    line-height: 1.42;
    letter-spacing: normal;
    text-align: center;
    color: #979696;
    display: flex;
    gap: 14px;
}

.blog-article .blog-bot-content>a {
    font-size: 24px;
    font-weight: normal;
    line-height: 1.42;
    letter-spacing: normal;
    color: var(--black);
    margin-top: 13px;
    text-align: left;
}

.blog-article .blog-bot-content>a:hover {
    opacity: 0.8;
}

.blog-article .blog-bot-content span>a {
    color: var(--primary);
}

.blog-article .blog-bot-content span>a:hover {
    color: rgb(184, 15, 15);
}


.blog-article .blog-bot-content span.date-mobile {
    display: none;
}


@media (max-width: 1024px) {
    .row:has(.blog-article) {
        --gap-h: 30px;
    }
}

@media (max-width: 767px) {

    .homepage-blog .container {
        padding-block: 18px;
    }

    .blog-article .blog-bot-content {
        margin-top: 17px;
    }

    .homepage-blog .container>a {
        font-size: 11px;
        line-height: 1.45;
        margin: 0 0 15px 0;
    }

    .homepage-blog .homepage-blog-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 23px;
    }

    .blog-article .blog-bot-content>a {
        font-size: 18px;
        line-height: 1.54;
        margin-top: 0;
    }

    .blog-article .blog-bot-content span {
        font-size: 11px;
        line-height: 1.39;
    }

    .blog-article .blog-bot-content span.date-mobile {
        display: block;
        margin-top: 5px;
        font-weight: 300;

    }

    .blog-article .blog-bot-content span.date-desktop {
        display: none;
    }
}


/*********************************/
/********* HOMEPAGE ICONS ********/
/*********************************/


.homepage-icons {}


.homepage-icons .title {
    font-size: 32px;
    font-weight: normal;
    line-height: 1.31;
    letter-spacing: normal;
    text-align: center;
    color: var(--primary);
    display: block;
    border-top: 2px solid #f0f0f0;
    padding: 70px 0 55px;
}

.homepage-icons .icons {
    display: flex;
    justify-content: center;
}

.homepage-icons .icons.row {
    --gap-h: 0px;
    --gap-v: 20px;
}

.homepage-icons .icons>div {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 12px;
}

.homepage-icons .icons>div img {
    max-width: 80px;
    max-height: 80px;
    margin: auto;
    vertical-align: middle;
    display: block;
}

.homepage-icons .icons>div p {
    font-size: 18px;
    font-weight: normal;
    line-height: 1.56;
    letter-spacing: normal;
    text-align: center;
    color: var(--black);
    width: 100%;
    display: block;
}

.homepage-icons .container>span {

    display: block;
    padding: 39px 0 58px;
}

.homepage-icons .container>span p {
    font-size: 12px;
    font-weight: 300;
    line-height: 1.33;
    letter-spacing: normal;
    text-align: center;
    color: #626262;
    margin-block: 5px;
}

.homepage-icons .slider-arrows {
    display: none;
}


@media (max-width: 1024px) {
    .homepage-icons .container {
        padding: 0 40px;
    }

    .homepage-icons .icons.row {
        flex-wrap: nowrap;
    }

    .homepage-icons .slider-arrows {
        display: flex;
    }
}

@media (max-width: 767px) {

    .homepage-icons .container {
        padding: 0 20px;
    }


    .homepage-icons .title {
        padding: 36px 0 40px;
        font-size: 20px;
        line-height: 1.5;
    }

    .homepage-icons .icons>div img {
        max-width: 53px;
        max-height: 53px;
    }

    .homepage-icons .icons.row {
        --gap-h: 15px;
        --gap-v: 30px;
        justify-content: flex-start;
    }

    .homepage-icons .icons>div p {
        margin: 5px 0 0;
        font-size: 16px;
        line-height: 1.63;
    }

    .homepage-icons .container>span {
        padding: 30px 0 30px;
        font-size: 11px;
        line-height: 1.45;
    }
}

@media (max-width: 500px) {

    .homepage-icons .icons.row {
        flex-wrap: wrap;
    }

    .homepage-icons .slider-arrows {
        display: none;
    }
}


/***************************************/
/********** LISTING SPACING **********/
/***************************************/


.template .listing+.listing:not(:has(.header)) {
    margin-top: 0px;
}

.listing.module20+.listing:not(:has(.header)) .image-item:first-of-type {
    border-top: transparent
}


/************************************/
/********** LISTING HEADER **********/
/************************************/

.listing .header {
    margin-bottom: 20px;
    position: relative;
}

.listing .items {
    margin-inline: auto;
}

.listing .items:has(.accordion) {
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    padding: 40px 60px;
}

.listing .link {
    margin-top: 10px;
}

.listing .accordion {
    border-top: 2px solid #f5f5f5;
}

.listing .accordion:first-of-type {
    border-top: 0px solid #f5f5f5;
}

.template .listing .accordion>div:first-of-type>h1,
.template .listing .accordion>div:first-of-type>.h1,
.template .listing .accordion>div:first-of-type>h3,
.template .listing .accordion>div:first-of-type>.h3,
.template .listing .accordion>div:first-of-type>h2,
.template .listing .accordion>div:first-of-type>.h2,
.template .listing .file>h3,
.template .listing .file>.h3,
.template .listing .file>h2,
.template .listing .file>.h2,
.template .listing .item>h3,
.template .listing .item>.h3,
.template .listing .item>h2,
.template .listing .item>.h2 {
    margin: 0;
}


.template .listing .accordion.open>div:first-of-type>h1,
.template .listing .accordion.open>div:first-of-type>.h1,
.template .listing .accordion.open>div:first-of-type>h3,
.template .listing .accordion.open>div:first-of-type>.h3,
.template .listing .accordion.open>div:first-of-type>h2,
.template .listing .accordion.open>div:first-of-type>.h2 {
    color: var(--primary);
}

.listing .load-more {
    margin-top: 50px;
    /* left: 50%;
	transform: translateX(-50%); */
}

.listing .items>*:not(hr) {
    position: relative;
    margin: 0;
}


.template .listing .container .items {
    margin-top: 0;
}

@media (max-width: 767px) {

    .template .listing .accordion>div:first-of-type>h1,
    .template .listing .accordion>div:first-of-type>.h1,
    .template .listing .accordion>div:first-of-type>h3,
    .template .listing .accordion>div:first-of-type>.h3,
    .template .listing .accordion>div:first-of-type>h2,
    .template .listing .accordion>div:first-of-type>.h2,
    .template .listing .file>h3,
    .template .listing .file>.h3,
    .template .listing .file>h2,
    .template .listing .file>.h2,
    .template .listing .item>h3,
    .template .listing .item>.h3,
    .template .listing .item>h2,
    .template .listing .item>.h2 {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.56;
        letter-spacing: normal;
    }


    .listing .items:has(.accordion) {
        border-radius: 0;
        border: 0px solid #f0f0f0;
        padding: 0;
    }

    .listing .accordion:first-of-type {
        border-top: 2px solid #f5f5f5;
    }

    .listing .accordion:last-of-type {
        border-bottom: 2px solid #f5f5f5;
    }


}

@media (min-width: 992px) {

    .template .listing+.listing {
        margin-top: 80px;
    }

    .listing .header {
        display: flex;
        align-items: center;
    }

    .listing .header .h2 {
        margin: 0 0 10px;
    }

    .listing .link {
        margin-top: 0;
    }
}


/************************************/
/********** LISTING FILTER **********/
/************************************/

.listing .filter {
    margin-bottom: 30px;
    position: relative;
    text-align: center;
    white-space: nowrap;
    font-size: 0;
}

.listing .filter.glossary-filter {
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 40px;
}

.listing .filter>div {
    font-size: 12px;
    font-weight: 600;
    color: var(--white);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    display: inline-block;
    position: relative;
    padding: 0 10px 10px;
    transition: var(--transition);
    cursor: pointer;
}

.listing .filter.glossary-filter>div {
    font-size: 19.5px;
    font-weight: 300;
    padding: 0;
    margin-bottom: 1px;
    flex: 1;
    min-width: 27px;
}

.listing .filter>div:hover,
.listing .filter>div.selected,
.listing .filter>div.active {
    color: var(--primary);
}

.listing .filter>div.disabled {
    color: #666;
    pointer-events: none;
}

.listing .filter>div::before,
.listing .filter .line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 27px;
    height: 3px;
    background-color: rgb(var(--primary));
    transition: all 0.5s ease-in-out;
}

.listing .filter .line.hidden {
    opacity: 0;
}

.listing .filter>div::before {
    content: "";
    right: 0;
    margin: auto;
    opacity: 0;
    transition: var(--transition);
}

.listing .filter.glossary-filter>div::before {
    width: 100%;
    bottom: -2px;
}

.listing .filter>div.initial::before {
    opacity: 1;
}

@media (max-width: 767px) {
    .listing .filter.glossary-filter {
        overflow: scroll;
    }
}

@media (min-width: 992px) {
    .listing .filter {
        margin-bottom: 60px;
    }

    .listing .filter>div {
        padding: 0 18px 10px;
    }
}

/********** LISTING FILTER FORM **********/

.listing .filter.form {
    padding: 25px 40px;
    background-color: #eeeeee;
    text-align: left;
    overflow: initial;
}

.listing .filter.form>div {
    display: flex;
    padding: 0;
    text-transform: none;
    letter-spacing: normal;
    cursor: default;
}

.listing .filter.form>div::before {
    content: normal;
}

.listing .filter.form .input-wrapper {
    padding: 0;
}

.listing .filter.form .input-wrapper label {
    display: none;
}

.listing .filter.form input,
.listing .filter.form .custom-select {
    font-size: 14px;
    background-color: white;
}

.listing .filter.form input,
.listing .filter.form select,
.listing .filter.form .custom-select .placeholder {
    padding: 15px 20px;
    border: none;
}

.listing .filter.form .custom-select .options-wrapper {
    border: none;
}

.listing .filter.form select,
.listing .filter.form .custom-select .placeholder {
    line-height: 1.25;
}

.listing .filter.form input {
    padding-right: 53px;
}

.listing .filter.form .custom-select:not(.has-reset) .placeholder::before,
.listing .filter.form .custom-select.has-reset .placeholder>div.reset {
    right: 20px;
}

.listing .filter.form [submit] {
    position: absolute;
    width: 49px;
    height: 49px;
    right: 0;
}

/* .listing .filter.form [submit]::before {
	content: "";
	width: 15px;
	height: 15px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background-color: var(--black);
	-webkit-mask-image: url(/assets/img/searchBar-icon.svg);
	mask-image: url(/assets/img/searchBar-icon.svg);
	-webkit-mask-repeat: no-repeat;
	transition: var(--transition);
} */


/****************************************/
/********** LISTING PAGINATION **********/
/****************************************/

.listing .pagination {
    margin: 60px auto 0;
    width: 100%;
}

.listing .pagination ul {
    display: block;
    text-align: center;
    list-style: none;
    font-size: 0;
    padding: 0;
    margin: 0 -7px;
    display: flex;
    justify-content: center;
}

.listing .pagination ul li,
.listing .pagination ul li a {
    font-size: 16px;
    font-weight: 500;
    color: #b9b8b8;
    line-height: 1;
    display: inline-block;
    transition: var(--transition);
    position: relative;
}

.listing .pagination ul li.disabled {
    pointer-events: none;
}

.listing .pagination ul li.prev.disabled a,
.listing .pagination ul li.next.disabled a {
    background-color: #cacaca;
    opacity: .4;
}

.listing .pagination ul li.prev {
    margin-right: 20px;
}

.listing .pagination ul li.next {
    margin-left: 20px;
}

.listing .pagination ul li::before {
    content: normal;
}

.listing .pagination ul li a,
.listing .pagination ul li.ellipsis {
    padding: 0 7px;
    display: inline-block;
    border: none;
    letter-spacing: normal;
    text-align: center;
}

.paging_footer .pages a.ellipsis {
    padding: 0 7px;
    display: inline-block;
    border: none;
}

.listing .pagination ul li a:hover,
.listing .pagination ul li a:focus,
.listing .pagination ul li.active a {
    color: #000000;
    border-bottom: none;
}

.listing .pagination ul li.prev a,
.listing .pagination ul li.next a {
    content: "";
    display: inline-block;
    width: 9px;
    height: 16px;
    -webkit-mask-image: url(/assets/img/global/pagination-caret.svg);
    mask-image: url(/assets/img/global/pagination-caret.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--primary);
    mask-size: contain;
    -webkit-mask-size: contain;
}

.listing .pagination ul li.prev a {
    transform: rotate(180deg);
}

@media (min-width: 768px) {
    .listing .pagination {
        margin: 100px auto 0;
    }

}

@media (min-width: 992px) {
    .listing .pagination ul {
        margin: 0;
        padding-left: 0;
        display: flex;
        gap: 0;
        justify-content: center;
    }

    .listing .pagination ul li a,
    .listing .pagination ul li.ellipsis {
        padding: 0 9px;
    }

    .paging_footer .pages a.ellipsis {
        padding: 0 9px;
    }

    .listing .pagination ul li.prev:hover a::before {
        transform: translateX(-5px);
    }

    .listing .pagination ul li.next:hover a::after {
        transform: translateX(5px);
    }

    .listing .pagination ul li.prev a,
    .listing .pagination ul li.next a {
        width: 20px;
        height: 16px;
        padding: 0;
    }
}


/******************************************/
/********** GENERIC ITEM LISTING **********/
/******************************************/

/* .listing .item {
	padding: 15px 0;
} */

/*
rever com o Diogo
.listing .item h3,
.listing .item .h3 */

.listing .item>div>h3,
.listing .item>div>.h3 {
    flex: 1;
    padding-right: 20px;
}

.listing .item .link {
    margin-top: 10px;
}

@media (min-width: 768px) {
    .listing .item {
        /* padding: 25px 0; */
        display: block;
        /* align-items: center; */
    }

    .listing .item .link {
        margin: 0;
    }
}


/**********************************/
/********** FILE LISTING **********/
/**********************************/

.listing .file {
    padding: 15px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
}

.listing .file:hover {
    border: 2px solid #a1a1aa;
}

.listing .file+.file {
    margin-top: 10px;
}

.listing .file .image {
    width: 35px;
}

.listing .file .image img {
    display: block;
    width: 100%;
}

.template .listing .file a:has(h3) {
    max-width: 85%;
    padding-right: 30px;
}

.template .listing .file h3,
.template .listing .file .h3 {
    flex: 1;
    padding: 0 30px;

}

.listing .file .link {
    padding-left: 10px;
    margin-top: 10px;
}

.template .listing .file .link {
    font-size: 16px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    letter-spacing: normal;
    color: var(--white);
    padding-right: 30px;
    position: relative;
}

.template .listing .file .link::after {
    width: 139px;
    height: 50px;
    border-radius: 50px;
    content: "";
    position: absolute;
    display: block;
    mask-repeat: no-repeat;
    background-color: var(--primary);
    transition: var(--transition);
}

.template .listing .file .button {
    padding: 27.5px 27.5px;
}

.template .listing .file .button::after {
    content: "";
    width: 17px;
    height: 17px;
    -webkit-mask-image: url(/assets/img/template/arrow-file.svg);
    mask-image: url(/assets/img/template/arrow-file.svg);
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background-color: var(--white);
    opacity: 1;
    background-image: none;
    mask-repeat: no-repeat;
    transition: var(--transition)
}

.template .listing .file .button:hover::before,
.template .listing .file .button:hover::after {
    opacity: 1;
    transform: scale(1);
}

.template .listing .file:hover .button::before {
    transform: scale(1.15);
}

/* .template .listing .file .link:hover::after {
	right: -25px;
} */

/* .listing .file a span {
	color: var(--primary);
	font-size: 1.125rem;
	font-weight: 300;
	line-height: normal;
	letter-spacing: -0.18px;
	text-align: right;
	text-transform: unset;
	transition: var(--transition);
	border-bottom: 0px solid var(--primary);
} */

/* .listing .file a:hover span {
	border-bottom: 1px solid var(--primary);
} */

@media (min-width: 768px) {


    .listing .file .link {
        padding-left: 0;
        margin: 0;
    }

    .listing .file .link {
        padding-left: 60px;
    }

    .listing .file {
        padding: 33px 42px;
    }

    .listing .file .image {
        width: 48px;
        justify-content: center;
        display: flex;
    }

    .template .listing .file .button {
        padding: 27.5px 27.5px;
        margin-left: auto;
    }

}

@media (max-width: 767px) {

    .listing .file {
        flex-wrap: wrap;
        flex-direction: row;
        gap: 19px;
        padding: 20px 15px 21px 19px;
        align-items: flex-start;
    }

    .template .listing .file a:has(h3),
    .template .listing .file a:has(.h3) {
        margin-right: auto;
    }

    .template .listing .file h3,
    .template .listing .file .h3 {
        padding: 0;
        font-size: 18px;
        margin-block: auto;

    }

    .listing .file .image {
        width: 31px;
        margin: auto;
    }


    .listing .file+.file {
        margin-top: 10px;
    }
}


@media (max-width: 500px) {
    .template .listing .file .button {
        display: none;
    }
}


/***************************************/
/********** ACCORDION LISTING **********/
/***************************************/

.listing {
    counter-reset: accordion;
}

.listing .accordion.numbered {
    counter-increment: accordion;
}

.listing .accordion>div {
    position: relative;
    padding: 20px 0;
    padding-right: 45px;
    cursor: pointer;
    transition: var(--transition);
}

.listing .accordion.numbered>div {
    padding-left: 30px;
}

.listing .accordion.numbered>div:first-child::before {
    content: counter(accordion) ".";
    font-size: 16px;
    font-weight: 600;
    color: rgb(var(--primary));
    line-height: 1em;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    height: 1em;
    width: 1em;
    margin: auto;
}

.template .listing .accordion>div:first-of-type>h1,
.template .listing .accordion>div:first-of-type>.h1,
.template .listing .accordion>div:first-of-type>h3,
.template .listing .accordion>div:first-of-type>.h3,
.template .listing .accordion>div:first-of-type>h2,
.template .listing .accordion>div:first-of-type>.h2 {
    padding-right: 35px;
    max-width: 100%;
    pointer-events: none;
    font-size: 1.125rem;
}

/* .listing .accordion > div:first-child:hover h2, .listing .accordion > div:first-child:focus h2, .listing .accordion.open > div:first-child h2,
.listing .accordion > div:first-child:hover .h2, .listing .accordion > div:first-child:focus .h2, .listing .accordion.open > div:first-child .h2,
.listing .accordion > div:first-child:hover h3, .listing .accordion > div:first-child:focus h3, .listing .accordion.open > div:first-child h3,
.listing .accordion > div:first-child:hover .h3, .listing .accordion > div:first-child:focus .h3, .listing .accordion.open > div:first-child .h3 {
	color: #000000;
} */

.listing .accordion .toggle {
    height: 20px;
    width: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transition: var(--transition);
}

.listing .accordion.open .toggle:hover,
.listing .accordion.epen .toggle:focus {
    transform: rotate(0);
}

.listing .accordion .toggle::before,
.listing .accordion .toggle::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 2px;
    width: 100%;
    background-color: var(--black);
    transition: var(--transition);
}

.listing .accordion .toggle::after {
    transform: rotate(90deg);
}

.listing .accordion.open .toggle::after,
.listing .accordion.active .toggle::after {
    transform: rotate(0deg);
}

.listing .accordion:hover .toggle::before,
.listing .accordion:hover .toggle::after,
.listing .accordion.open .toggle::before,
.listing .accordion.active .toggle::before,
.listing .accordion.open .toggle::after,
.listing .accordion.active .toggle::after {
    background-color: var(--primary);
}

.listing .accordion .h3 {
    transition: var(--transition);
}

.listing .accordion:hover .h3 {
    color: var(--primary);
}

.listing .accordion .description {
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: var(--transition);
    cursor: default;
    opacity: 0;
}

.listing .accordion.active .description,
.listing .accordion.open .description {
    opacity: 1;
}

.listing .accordion.active .description {
    overflow: visible;
}

.listing .accordion .description .template-module {
    margin: 25px 0 50px;
}


.listing .accordion.numbered .description {
    padding-left: 0;
}

.listing .accordion.active .description {
    max-height: none;
}

/* .listing .accordion .description p,
.listing .accordion .description ul,
.listing .accordion .description ol {
	font-size: 16px;
} */

.listing .accordion .description>*:first-child {
    margin-top: 5px !important;
}

.listing .accordion .description>*:last-child {
    margin-bottom: 30px !important;
}

.listing .accordion .description .header p.h2 {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: left;
}

@media (max-width: 767px) {

    .listing .accordion .toggle {
        height: 16px;
        width: 16px;
    }

    .listing .accordion>div {
        padding: 14px 0;
        padding-right: 30px;
    }
}

@media (min-width: 768px) {
    .listing .accordion>div {
        padding: 30px 0;
    }

    .listing .accordion.open .description {
        margin-top: 10px;
    }

    .listing .accordion.numbered>div,
    .listing .accordion.numbered .description {
        padding-left: 40px;
    }


    .listing .accordion .description>*:first-child {
        margin-top: 0 !important;
    }

    .listing .accordion .description>*:last-child {
        margin-bottom: 55px !important;
    }
}


/*************************************/
/********** ARTICLE LISTING **********/
/*************************************/

.listing.listing-article .items.row {
    margin: -30px -20px;
}

.listing .article {
    padding: 30px 20px;
}

.listing .article img {
    display: block;
    margin-bottom: 35px;
}

.listing .article .button {
    font-size: 12px;
    padding: 17px 35px;
}

.listing .article .details {
    margin-bottom: 20px;
}

.article .details span {
    display: block;
    font-size: 14px;
    color: #b6b9b9;
    line-height: 1.25;
}

.article .details span.date {
    padding-left: 20px;
    padding-bottom: 12px;
    position: relative;
}

.article .details span.date::before {
    content: "\f073";
    font-weight: 400;
    color: var(--black);
    position: absolute;
    left: 0;
}

.article .details span a {
    color: rgb(var(--primary));
    border-bottom: 1px solid transparent;
}

/* .article .details span a:hover, .article span a:focus {
	border-bottom: 1px solid currentColor;
} */

@media (min-width: 768px) {
    .listing.listing-article .items.row {
        margin: -40px -30px;
    }

    .listing .article {
        padding: 40px 30px;
    }

    .article .details span.date {
        padding-left: 25px;
    }
}

@media (min-width: 992px) {
    .listing .article .button {
        padding: 17px 45px;
    }
}


/******************************************/
/********** MINI ARTICLE LISTING **********/
/******************************************/

.listing.listing-mini-article .items.row,
.listing.listing-mini-article .container.container-sm .items.row {
    margin: -15px;
}

.listing .article.mini-article,
.listing .container.container-sm .article.mini-article {
    padding: 15px;
}

.listing .article.mini-article img {
    margin-bottom: 20px;
}

.listing .article.mini-article h2,
.listing .article.mini-article .h2 {
    font-size: 1.875rem;
    margin-top: 15px;
}

.listing .article.mini-article .video {
    position: relative;
    display: block;
}

.listing .article.mini-article .video::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(1, 1, 1, 0.4);
}

.listing .article.mini-article .video::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-mask-image: url(/assets/img/template/play.svg);
    mask-image: url(/assets/img/template/play.svg);
    background-color: white;
    opacity: 0.8;
}

.listing .article.mini-article .video:hover::after {
    opacity: 1;
}

.listing .article.mini-article .details {
    margin-bottom: 15px;
}

.listing .article.mini-article .details span {
    padding-bottom: 0;
    padding-top: 0;
}

.listing .article.mini-article .details span:not(:first-child) {
    padding-top: 12px;
}

@media (min-width: 768px) {

    .listing .article.mini-article h2,
    .listing .article.mini-article .h2 {
        font-size: 1.375rem;
    }
}

@media (min-width: 992px) {
    .listing.listing-mini-article .items.row {
        margin: -34px;
    }

    .listing.listing-mini-article .container.container-sm .items.row {
        margin: -25px;
    }

    .listing .article.mini-article {
        padding: 34px;
    }

    .listing .container.container-sm .article.mini-article {
        padding: 25px;
    }
}


/************************************/
/********** BUTTON LISTING **********/
/************************************/

.listing.listing-button .button>.h2 {
    color: var(--white);
    margin: 0;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.63;
    pointer-events: none;
}

.listing.listing-button .button.grey .h2,
.listing.listing-button .button.outline .h2 {
    color: var(--primary);
}

.listing.listing-button .items {
    font-size: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.listing.listing-button .items.text-left {
    justify-content: flex-start;
}

.listing.listing-button .items.text-center {
    justify-content: center;
}

.listing.listing-button .items.text-right {
    justify-content: flex-end;
}

@media (max-width: 1024px) {

    .listing .button,
    .listing .button:hover,
    .listing .button:focus {
        padding: 4px 20px 5px;
        font-size: 14px;
        line-height: 1.71;
    }
}

@media (max-width: 767px) {

    .listing.listing-button .button .h2 {
        font-size: 14px;
        line-height: 1.71;
    }

    .listing.listing-button .items {
        gap: 9px;
    }
}

@media (max-width: 500px) {

    .listing.listing-button .button {
        width: unset;
        text-align: center;
    }

}


/*************************************************/
/********** ITEM WITH THUMBNAIL LISTING **********/
/*************************************************/

.listing .image-item {
    padding: 20px 0;
    display: flex;
    flex-wrap: wrap;
}

.listing .image-item:first-child {
    padding-top: 0;
}

.listing .image-item:last-child {
    padding-bottom: 0;
    border-bottom: 1px solid rgba(153, 153, 153, 0.2);
}

.listing .image-item .image {
    width: 90px;
    height: 90px;
    position: relative;
    margin-right: 20px;
}

.listing .image-item .image img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
}

.listing .image-item>div:not(.image) {
    flex: 1;
}

.listing .image-item>div:not(.image)>div {
    margin-block: auto;
}

@media (min-width: 768px) {
    .listing .image-item {
        padding: 35px 0;
    }

    .listing .image-item .image {
        margin-right: 75px;
    }
}


/*************************************************************/
/********** MINI ARTICLE LISTING (FULLSCREEN VIDEO) **********/
/*************************************************************/

.listing.listing-mini-article .video-fullscreen {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(1, 1, 1, 0.9);
    z-index: 10;
    opacity: 0;
    pointer-events: none;
    transition: var(--transition);
}

.listing.listing-mini-article .video-fullscreen.visible {
    opacity: 1;
    pointer-events: auto;
}

.listing.listing-mini-article .video-fullscreen div {
    padding-top: 80px;
    height: 100%;
    width: 100%;
}

.listing.listing-mini-article .video-fullscreen div iframe {
    height: 100%;
    width: 100%;
}

.listing.listing-mini-article .video-fullscreen .close,
.hp-gallery.hp-gallery-fullscreen .close {
    position: absolute;
    top: 25px;
    right: 25px;
    height: 25px;
    width: 25px;
    opacity: 1;
}

.listing.listing-mini-article .video-fullscreen .close::before,
.video-fullscreen .close::after,
.hp-gallery.hp-gallery-fullscreen .close::before,
.hp-gallery.hp-gallery-fullscreen .close::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 2px;
    width: 35px;
    background-color: white;
    transform: rotate(45deg);
    transform-origin: left;
}

.listing.listing-mini-article .video-fullscreen .close::after,
.hp-gallery.hp-gallery-fullscreen .close::after {
    left: auto;
    right: 0;
    transform: rotate(-45deg);
    transform-origin: right;
}

@media (min-width: 992px) {
    .listing.listing-mini-article .video-fullscreen div {
        padding: 100px;
    }

    .listing.listing-mini-article .video-fullscreen .close,
    .hp-gallery.hp-gallery-fullscreen .close {
        top: 35px;
        right: 35px;
    }
}


/************************************/
/********** SQUARE LISTING **********/
/************************************/

.listing.listing-square .items.row {
    margin: -20px;
}

.listing .square {
    padding: 20px;
}

.listing .square .image {
    padding-top: 100%;
    position: relative;
    display: block;
    overflow: hidden;
}

.listing .square .image img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
}

@supports (mix-blend-mode: multiply) {
    .listing .square .image img {
        filter: grayscale(1);
        filter: grayscale(100%);
        transition: var(--transition);
    }

    .listing .square .image:hover img,
    .listing .square .image:focus img {
        filter: grayscale(0);
        filter: grayscale(0%);
    }
}

@media (max-width: 767px) and (orientation: landscape) {
    .listing .square {
        flex-basis: 50%;
        max-width: 50%;
    }
}

@media (min-width: 768px) {
    .listing.listing-square .items.row {
        margin: -15px;
    }

    .listing .square {
        padding: 15px;
    }
}

@media (min-width: 992px) {
    .listing.listing-square .items.row {
        margin: -25px;
    }

    .listing .square {
        padding: 25px;
    }
}


/**********************************/
/********** CARD LISTING **********/
/**********************************/

.listing .items .card-section {
    margin-inline: auto;
    gap: 50px;
}

.listing .items .card-section+.card-section {
    margin-top: 70px;
}

.listing.listing-card .items.row {
    margin: -10px;
}

.listing .card .image {
    padding-top: 150%;
    position: relative;
    display: block;
    overflow: hidden;
}

.listing .card .image img {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    /* IE */
    transform: translate(-50%, -50%);
    width: auto;
    max-width: none;
}

.content .listing .items .card>a:first-of-type {
    overflow: hidden;
    display: block;
}

.content .listing .items img {
    display: block;
    width: 100%;
    /* transition: var(--transition); */
}

.content .listing .items img:hover {
    /* transform: scale(1.1); */
}

.listing .card .description {
    padding: 28px 30px;
    background-color: white;
    text-align: center;
}

.listing .card .description p {
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 1px;
    color: black;
    margin: 0;
    line-height: 1.2;
}

.listing .card .description p:hover {
    opacity: 0.7;
}

.listing .card .description span {
    font-size: 1rem;
    font-weight: 300;
    color: var(--grey);
    margin: 0;
    display: block;
}

@supports (mix-blend-mode: multiply) {
    .listing .card .image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transform: none;
        top: 0;
        left: 0;
    }
}

@media (max-width: 767px) and (orientation: landscape) {
    .listing .card>div {
        flex-basis: 50%;
        max-width: 50%;
    }
}


/***********************************/
/********** AUDIO LISTING **********/
/***********************************/

.listing .audio {
    margin: 0 -20px;
    padding: 20px;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    background-color: white;
}

.listing .audio audio {
    display: none;
}

.listing .audio+.audio {
    margin-top: 30px;
}

.listing .audio .play,
.listing .audio .pause {
    max-width: 42px;
    min-width: 42px;
}

.listing .audio .play a,
.listing .audio .pause a {
    display: block;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: calc(100% - 4px);
    border: 2px solid rgb(var(--primary));
    border-radius: 100%;
}

.listing .audio .play a::before,
.listing .audio .pause a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.listing .audio .play a::before {
    border-left: 12px solid rgb(var(--primary));
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    width: 0;
    height: 0;
}

.listing .audio .pause a::before {
    border-left: 3px solid rgb(var(--primary));
    border-right: 3px solid rgb(var(--primary));
    width: 14px;
    height: 14px;
}

.listing .audio .audio-progress {
    min-width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    margin-top: 25px;
}

.listing .audio span {
    display: block;
    position: relative;
    font-size: 10px;
    line-height: 1;
    color: var(--grey);
}

.listing .audio .bar {
    position: relative;
    margin: 0 12px;
    flex: 1;
    max-width: 100%;
    height: 4px;
    border-radius: 2px;
    background-color: var(--white);
    cursor: pointer;
}

.listing .audio .bar>span {
    position: absolute;
    top: 0;
    bottom: 0;
    background-color: rgb(var(--primary));
    width: 0;
    border-radius: inherit;
}

.listing .audio .bar>span::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background-color: inherit;
    pointer-events: none;
}

.listing .audio h4,
.listing .audio .h4 {
    flex: 1;
    padding-left: 20px;
    margin: 0;
    min-width: calc(100% - 42px);
}

@media (min-width: 768px) {
    .listing .audio {
        align-items: center;
    }

    .listing .audio h4,
    .listing .audio .h4 {
        min-width: auto;
    }

    .listing .audio .link {
        padding-left: 0;
        margin-top: 0;
    }

    .listing .audio .audio-progress {
        padding-left: 62px;
    }
}

@media (min-width: 992px) {

    .listing .audio h4,
    .listing .audio .h4 {
        padding-left: 40px;
    }

    .listing .audio {
        padding: 30px;
        margin: 0 -30px;
    }

    .listing .audio .audio-progress {
        padding-left: 82px;
    }
}

/* if using not <hr> uncomment the code below */

.listing.module20 .image-item {
    border-top: 1px solid rgba(153, 153, 153, 0.2);
    padding: 33px 0 29px;
}

.listing.module20 .items>.items:last-of-type {
    border-bottom: 1px solid rgba(153, 153, 153, 0.2);
}

.listing.module20 .image-item>div {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 70px;
}

.listing.module20 .image-item>div>div>*:first-child {
    margin-top: 0;
}

/* .listing.module20 .image-item > div a {
    display: inline-flex;
    font-weight: 600;
    transition: var(--transition);
    color: var(--primary);
    position: relative;
} */

.listing.module20 .image-item>div.bottom {
    flex-direction: column;
    gap: 25px;
    align-items: baseline;
}

.listing.module20 .image-item>div.bottom p {
    max-width: unset;
}

.listing.module20 .image-item>div.bottom .button {
    margin-top: 0;
}

/*
.listing.module20 .image-item > div > div > p:first-of-type {
	margin: 0;
} */

.listing.module20 .image-item>div>div *:last-child {
    margin-bottom: 0;
}

.listing.module20 .image-item>div>div>p {
    margin-block: 0;
}

.listing.module20 .image-item .image {
    width: 135px;
    height: 135px;
    margin-right: 40px;
    transition: var(--transition);
    justify-content: center;
    margin-top: 8px;
}

.listing.module20 .image-item .image a {
    height: 100%;
}

.listing.module20 .image-item .image:has(a) img {
    transition: var(--transition);
}

/* .listing.module20 .image-item .image:has(a) img:hover {
	transform: scale(1.05);
} */

.listing.module20 .image-item .image img {
    position: relative;
    object-fit: contain;
}

.listing.module20 .image-item .image a:has(img) {
    overflow: hidden;
}

.listing.module20 .image-item.round-corners .image a:has(img),
.listing.module20 .image-item.round-corners .image img {
    border-radius: 25px;
    transition: var(--transition);
}

.listing.module20 .image-item .image a:hover img,
.listing.module20 .image-item.circle .image a:hover img,
.listing.module20 .image-item.round-corners .image a:hover img,
.listing.module20 .image-item.number .image a:hover,
.listing.module20 .image-item.bullet .image a:hover {
    transform: scale(1.05);
}

.listing.module20 .image-item.circle .image a:has(img),
.listing.module20 .image-item.circle .image img {
    border-radius: 100%;
}

.listing.module20 .image-item a.button {
    margin-block: auto;
    white-space: nowrap;
    text-align: center;
    margin: 0;
    margin-top: 56px;
}

/* .listing.module20 .image-item.number a.button,
.listing.module20 .image-item.bullet a.button {
	margin-top: 39px;
} */

.listing.module20 h2,
.listing.module20 h3,
.listing.module20 h4 {
    margin-bottom: 0;
    margin-top: 0;
}

.listing.module20 .image-item.number .image,
.listing.module20 .image-item.bullet .image {
    justify-content: flex-start;
    width: 100px;
    height: 100px;
}

.listing.module20 .image-item.number .image>div,
.listing.module20 .image-item.bullet .image>div {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100px;
    height: 100px;
}

.listing.module20 .image-item.number a:not(.button),
.listing.module20 .image-item.bullet a:not(.button) {
    align-items: center;
}

.listing.module20 .image-item.number .image span {
    font-family: 'Alliance', sans-serif;
    font-weight: bold;
    font-size: 45px;
    color: var(--primary);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    line-height: 0;
    width: 100%;
    margin: auto;
}

.listing.module20 .image-item.bullet .image>div::before,
.listing.module20 .image-item.number .image>div::before {
    content: "";
    background: #fdf8f4;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: 100%;

}

.listing.module20 .image-item.number .image a,
.listing.module20 .image-item.bullet .image a {
    width: 100%;
    justify-content: center;
}

.listing.module20 .image-item.bullet .image span {
    width: 44px;
}

.listing.module20 .image-item.bullet .image span::before {
    content: "";
    width: 37px;
    height: 33px;
    -webkit-mask-image: url(/assets/img/template/arrow_miniatura.svg);
    mask-image: url(/assets/img/template/arrow_miniatura.svg);
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background-color: var(--primary);
    opacity: 1;
    background-image: none;
    mask-repeat: no-repeat;
    transition: var(--transition)
}

@media (max-width: 1024px) {

    .listing.module20 .image-item>div {
        flex-direction: column;
        gap: 20px;
    }

    .listing.module20 .image-item a.button {
        margin: 0;
    }
}

@media (max-width: 991px) {
    .listing.module20 .image-item .image:hover {
        transform: scale(1);
    }

    .listing.module20 .image-item.number .image span {
        font-size: 40px;
    }

}


@media (max-width: 767px) {
    .listing.module20 .image-item:not(.bullet, .number)>div {
        display: flex;
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }


    .listing.module20 .image-item .image {
        margin-bottom: auto;
    }

    .listing.module20 .image-item>div.bottom {
        align-items: center;
    }

    .listing.module20 .image-item:not(.bullet, .number) {
        flex-direction: column;
        align-items: center;
        gap: 28px;
        padding: 30px 0;
    }

    .listing.module20 .image-item:not(.bullet, .number, :has(img)) {
        align-items: flex-start;
    }

    .listing.module20 .image-item.number,
    .listing.module20 .image-item.bullet {
        gap: 20px;
        padding: 30px 0;

    }


    .listing.module20 .image-item.bullet .image span::before {
        content: "";
        width: 26px;
        height: 19px;
    }

    .listing.module20 .image-item .image:has(a) {
        overflow: visible;
        width: 135px;
        height: 135px;
    }

    .listing.module20 .image-item.number .image:has(a),
    .listing.module20 .image-item.bullet .image:has(a),
    .listing.module20 .image-item.number .image,
    .listing.module20 .image-item.bullet .image,
    .listing.module20 .image-item.number .image>div,
    .listing.module20 .image-item.bullet .image>div {
        width: 60px;
        height: 60px;
    }

    .listing.module20 .image-item a.button {
        margin-top: 0;
        width: 100%;
    }

    .listing.module20 .image-item.number .image span {
        font-size: 25px;
    }
}

@media (max-width: 480px) {
    .listing.module20 .image-item .image {
        margin: 0;
    }

}


/*****************************/
/********** COLUNAS **********/
/*****************************/

/* .colunas .container{
    max-width: 1220px;
} */
.colunas .containerSlide,
.colunas .containerSlide .tns-outer {
    max-width: 1240px;
    margin-inline: auto;
}


.colunas .containerSlide:has(.tns-outer) {
    max-width: 1290px;
    padding-inline: 0px;
}

.colunas .container>div,
.colunas.image .container .slider {
    display: flex;
    flex-direction: row;
    gap: 50px;
}

@media (min-width: 768px) {
    .colunas .containerSlide:has(.tns-outer) {
        padding-inline: 80px;
    }

    .colunas .containerSlide .tns-ovh {
        padding-inline: 15px;
    }

    .colunas.image .containerSlide .tns-ovh {
        padding-inline: 5px;
    }

    .colunas[data-count="2"] .slider>div {
        max-width: 50%;
        margin-inline: auto;
    }

    .colunas.box[data-count="2"] .slider>div .itens {
        padding-inline: 60px;
    }
}

@media (max-width: 767px) {
    .colunas .container>.slider {
        flex-direction: column !important;
    }
}

.colunas.align-left .itens,
.colunas.align-left .itens h3,
.colunas.align-left .itens p {
    text-align: left;
}

.colunas.align-right .itens,
.colunas.align-right .itens h3,
.colunas.align-right .itens p {
    text-align: right;
}

.colunas.align-center .itens,
.colunas.align-center .itens h3,
.colunas.align-center .itens p {
    text-align: center;
}


.colunas .item {
    flex: 1;
}

.colunas .tns-inner .slider {
    display: flex;
    justify-content: center;
    padding-bottom: 40px;
    gap: 50px;
}


.colunas .tns-inner .slider,
.colunas.box .container>div {
    gap: 25px;
}

.colunas:not(.image, .box) .itens {
    padding: 0px 10px;
}

.colunas.image .tns-inner .slider {
    padding-bottom: 0;
}

.colunas.box .itens {
    border-radius: 30px;
    box-shadow: 0px 17px 29px 0 rgba(0, 0, 0, 0.04);
    transition: var(--transition);
    background-color: white;
    padding: 50px 25px 46px;
    height: 100%;
}

.colunas.box .tns-slider .itens {
    box-shadow: 0px 17px 29px 0 rgba(0, 0, 0, 0.0);
}

.colunas.box .tns-slide-active .itens {
    box-shadow: 0px 17px 29px 0 rgba(0, 0, 0, 0.04);
}

.testemunhos .slide>div,
.rounded .colunas.box .itens,
.rounded .colunas.image .itens .img {
    border-radius: 30px;
}


/* main:has( .colunas.box:last-of-type .tns-inner .slider) + footer{
    margin-top: 0px;
} */
.colunas.box:has(.tns-inner .slider)+section {
    margin-top: 80px;
}

.colunas.box:has(.tns-inner .slider) {
    margin-bottom: 80px;
}


.colunas .itens .img {
    width: 90px;
}

.colunas.box .itens .img {
    width: 70px;
    height: 70px;
}

.colunas.box .itens .img img {
    height: 100%;
}

.colunas.image .itens .img {
    width: 100%;
    overflow: hidden;
}

.colunas.align-center .img {
    margin-inline: auto;
}

.colunas.align-right .img {
    margin-left: auto;
    margin-right: 0;
}

.colunas .itens h3 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.58;
    letter-spacing: normal;
    color: var(--black);
    ;
    margin-bottom: 13px;
}

.colunas .itens p {
    font-size: 15.5px;
    font-weight: 300;
    line-height: 1.58;
    letter-spacing: normal;
    color: var(--third);
    margin-block: 0;
}

.colunas div:not(.containerSlide) .slider-arrows {
    display: none;
}

.colunas .slider-arrows>div::before {
    background-color: #dedddd;
}

.colunas .slider-arrows>div.prev {
    transform: rotate(180deg);
}

@media (max-width: 767px) {
    .colunas.box .container>div.slider-arrows {
        display: none;
    }

    .colunas.box .tns-inner .slider {
        margin-left: 10px;
    }

    .colunas.box .container .slider {
        gap: 25px !important;
    }

    .colunas:not(.box) .container {
        padding-inline: 40px;
    }

    .colunas .tns-inner .slider {
        gap: initial !important;
    }

    .colunas.box:has(.tns-inner .slider) {
        margin-bottom: 40px;
    }

    .colunas.box:has(.tns-inner .slider)+section {
        margin-top: 40px !important;
    }
}


/*************************/
/********** CTA **********/
/*************************/
.cta {
    padding-block: 78px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.template-module .container>.cta .image,
.cta .image {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    pointer-events: none;
    aspect-ratio: unset;
}

.cta .image:before {
    content: "";
    background: #a09f9f;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;

}

.cta .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.cta .container {
    max-width: 900px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.cta .container .h2,
.cta .container h2,
.cta .container .h3,
.cta .container h3 {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.14;
    letter-spacing: -0.28px;
    text-align: center;
    color: white;
    margin: 0;
}


.cta.color .container p strong {
    color: inherit;
}

.cta .container p strong {
    color: var(--primary);
}

.cta.transparent .container p,
.cta.grey .container p {
    color: var(--black);
}

.cta:not(.image)::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    pointer-events: none;
    z-index: -1;
}

.cta.color::before,
.cta.transparent::before {
    background: var(--primary);
}

.cta.transparent::before {
    opacity: 0.03;
}

.cta.grey::before {
    background: #f8f8f8;
}

.cta .container p+.button {
    margin-top: 23px;
}

.cta.color .container .button {
    color: var(--black);
}

.cta.color .container .button::before {
    background-color: white;
}

.cta .container .button {
    width: 100%;
}

@media (min-width: 768px) {
    .cta {
        padding-block: 100px;
    }

    .cta .container p+.button {
        margin-top: 35px;
    }

    .cta .container .button {
        width: auto;
    }
}


/******************************/
/********** CLIENTES **********/
/******************************/
.clientes {
    position: relative;
    text-align: center;
}

.clientes .slider .slide {
    display: inline-block;
    width: auto;
    /* largura é controlada pelo fixedWidth */
}

.clientes .slide img {
    width: 220px;
    height: auto;
    filter: grayscale(100%);
    opacity: .3;
    transition: var(--transition);
}

.clientes .slide a:hover img {
    opacity: .95;
    cursor: pointer;
}

.clientes .container {
    text-align: center;
    position: relative;
    padding-inline: 0;
}

.clientes h2 {
    font-size: 24.5px;
    font-weight: 600;
    line-height: 1.16;
    letter-spacing: normal;
    text-align: center;
    color: var(--black);
    margin-inline: 25px;
    margin-bottom: 30px;
}

.clientes h2 strong {
    color: var(--primary);
    font-weight: 600;
}

.clientes .container .slider {
    margin-inline: auto;
    display: flex;
    flex-direction: row;
    gap: 20px;
}


.clientes .slider-arrows>div::before {
    background-color: #edecec;
}

.clientes .slider-arrows>div.prev {
    transform: rotate(180deg);
}


@media (min-width: 768px) {
    .clientes h2 {
        font-size: 25.5px;
        margin-bottom: 40px;
    }

    .clientes .container {
        max-width: 1240px;
        padding-inline: 80px;
    }

    .clientes .slide img {
        width: 220px;
    }
}


/*********************************/
/********** TESTEMUNHOS **********/
/*********************************/

.testemunhos {
    margin-bottom: 40px;
}

.testemunhos+* {
    margin-top: 40px;
}

.testemunhos .container {
    text-align: center;
    max-width: 1250px;
    padding-inline: 0;
}

.testemunhos .container>div h4,
.testemunhos .container>div h2,
.testemunhos .container>div p {
    text-align: center;
}


.testemunhos .container>div:first-of-type+div {
    max-width: 1340px;
    margin-inline: auto;
    padding-inline: 0px !important;
}

.testemunhos .container>div:first-of-type {
    max-width: 640px;
    margin: 0 25px 55px;
}

.testemunhos .container h4 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.36;
    letter-spacing: normal;
    color: var(--primary);
    margin: 0;
    margin-bottom: 15px;
}

.testemunhos .container h2 {
    font-size: 25.5px;
    font-weight: bold;
    line-height: 1.16;
    letter-spacing: -0.26px;
    color: var(--black);
    margin: 0;
    margin-bottom: 30px;

}

.testemunhos .container h2 strong {
    color: var(--primary);
}

.testemunhos .container p {
    font-size: 20px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    color: var(--black);
    margin-bottom: 0;
}

.testemunhos .slider {
    display: flex;
    justify-content: center;
    flex-direction: row;
    gap: 20px;
    margin-bottom: 35px;
    margin-inline: auto;
    margin-left: 10px;
}

.testemunhos .slide {
    /* max-width: 376px; */
    flex: 1;
}

.testemunhos .slide>div {
    padding: 50px 30px;
    box-shadow: 0px 17px 29px 0 rgba(0, 0, 0, 0.04);
    transition: var(--transition);
    background-color: white;
    height: 100%;
}

.testemunhos .tns-slider .slide>div {
    box-shadow: 0px 17px 29px 0 rgba(0, 0, 0, 0.0);
}

.testemunhos .slide.tns-slide-active>div {
    box-shadow: 0px 17px 29px 0 rgba(0, 0, 0, 0.04);
}


.testemunhos .slide>div:before {
    content: "";
    display: block;
    mask-image: url(/assets/img/landing-pages/template/quote.svg);
    -webkit-mask-image: url(/assets/img/landing-pages/template/quote.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    -webkit-mask-position: center center;
    background-color: white;
    margin: 0 auto 35px;
    height: 25px;
    width: 31px;
    background-color: var(--primary);
}

.testemunhos .slide>div p {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.42;
    letter-spacing: normal;
    text-align: center;
    color: var(--third);
    margin: inherit;
}

.testemunhos .slide>div p+p {
    margin-top: 20px;
}

.testemunhos .slide>div p strong {
    font-weight: 500;
    color: var(--black);
}


.testemunhos .slider-arrows>div::before {
    background-color: #edecec;
}

.testemunhos .slider-arrows>div.prev {
    transform: rotate(180deg);

}

@media (min-width: 768px) {
    .testemunhos {
        margin-bottom: 80px;
    }

    .testemunhos+* {
        margin-top: 80px;
    }

    .testemunhos .container {
        padding-inline: 20px;
    }

    .testemunhos .container>div:first-of-type {
        margin-inline: auto;
    }

    .testemunhos .container>div:first-of-type+div {
        padding-inline: 40px !important;
    }

    .testemunhos .container h4 {
        font-size: 20.5px;
        font-weight: 600;
        line-height: 1.44;
        margin-bottom: 15px;
    }

    .testemunhos .container h2 {
        font-size: 32px;
        line-height: 1.33;
        letter-spacing: normal;
        margin-bottom: 30px;
    }

    .testemunhos .container p {
        font-size: 18px;
        line-height: 1.45;
    }

    .testemunhos .slide>div p {
        font-size: 15.5px;
        line-height: 1.65;
    }

    .testemunhos .container .tns-inner {
        padding-inline: 20px;
    }

    .testemunhos .slider {
        margin-left: auto;
    }
}


@media (min-width: 992px) {
    .testemunhos .slider-arrows {
        bottom: 35px;
        top: auto;
    }

    .testemunhos .slider-arrows>div {
        margin: 40px 30px;
    }
}


/****************************/
/********** PASSOS **********/
/****************************/

.passos h2 {
    font-size: 26px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.15;
    letter-spacing: -0.26px;
    text-align: center;
    color: var(--black);
}

.passos h2 strong {
    color: var(--primary);
}

.passos .sliderSteps {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-block: 40px;
}

.passos h2+div:not(.sliderSteps) {
    margin-block-start: 50px;
}

.passos .sliderSteps button {
    width: 28px;
    height: 28px;
    background: none;
    border: none;
    position: relative;
    font-size: 16.5px;
    font-weight: 800;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.21;
    letter-spacing: normal;
    text-align: center;
    color: var(--primary);
    transition: var(--transition);
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: all;
    cursor: pointer;


}

.passos .sliderSteps button span::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: var(--primary);
    border-radius: 50%;
    overflow: hidden;
    opacity: .04;
    pointer-events: none;
    z-index: -1;
    transition: var(--transition);
}

.passos .sliderSteps button.tns-nav-active span::before {
    opacity: 1;
}

.passos .sliderSteps button.tns-nav-active {
    color: white;
}


.passos h3 {
    font-size: 24.5px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.16;
    letter-spacing: normal;
    text-align: left;
    color: var(--primary);
    margin: 0;
}

.passos h3+p {
    font-size: 18px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.33;
    letter-spacing: normal;
    text-align: left;
    color: var(--third);
    margin: 15px 0 0;
}

.passos .itens {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 35px;
}

.passos .itens>div {
    flex: 1;
    opacity: 0;
}

.passos .tns-slide-active .itens>div {
    flex: 1;
    opacity: 1;
}

.passos .itens img {
    border-radius: 30px;
}


@media (min-width: 768px) {
    .passos h2 {
        font-size: 32px;
        line-height: 1.31;
        letter-spacing: normal;
    }


    .passos .sliderSteps button::before,
    .passos .sliderSteps button::after {
        content: "";
        position: absolute;
        left: calc(100% + 10px);
        width: 60px;
        opacity: 0.04;
        height: 5px;
        border-radius: 2.5px;
        background-color: var(--primary);
    }

    .passos .sliderSteps button::after {
        width: 0%;
        opacity: 1;
        background-color: var(--primary);
        transition: width 0s linear;
    }

    .passos .sliderSteps:not(.stop) button.tns-nav-active::after {
        transition: width 6s linear;
        animation-name: load;
        animation-timing-function: ease-in-out;
        animation-fill-mode: forwards;
        animation-iteration-count: 1;
        border-radius: 2.5px;
    }

    .passos .sliderSteps:not(.stop) button.tns-nav-active::after {
        animation-duration: 6s;
    }

    .passos .sliderSteps button:last-of-type:before,
    .passos .sliderSteps button:last-of-type:after {
        content: none;
        display: none;
    }

    @keyframes load {
        0% {
            width: 0%;
        }

        100% {
            width: calc(100% - 8px);
        }
    }

    .passos .sliderSteps {
        gap: 80px;
        margin-block: 60px;
    }

    .passos .sliderSteps button {
        width: 68px;
        height: 68px;
        font-size: 24px;
        line-height: 1.25;
    }

    .passos .itens {
        flex-direction: row;
        gap: 80px;
    }

    .passos h2+div:not(.sliderSteps) {
        margin-block-start: 70px;
    }

    .passos h3 {
        font-size: 24.5px;
        line-height: 1.16;
    }

    .passos h3+p {
        font-size: 18px;
        line-height: 1.5;
        margin: 20px 0 0;
    }


}

@media (max-width: 767px) {
    .passos .slider .itens>div:first-of-type {
        justify-content: flex-start;
        flex: none;
    }
}


/****************************************/
/********** SIMULADOR PNEUS *************/
/****************************************/


.index .template-module:has(.simulador-pneus) .container {
    max-width: 1180px;
}

.template-module:has(.simulador-pneus) .container {
    background-color: #fef8f4;
    border-radius: 20px;
    padding: 50px 45px;
    max-width: 1080px;
}

.template-module:has(.simulador-pneus) .simulador-pneus {
    padding: 0 20px;
}


.template-module:has(.simulador-pneus) h2 {
    text-align: center;
    margin: 0 0 50px;
}

.template-module .simulador-pneus .view-switch {
    display: flex;
    width: 100%;
}

.template-module .simulador-pneus .view-switch a {
    width: 50%;
    padding: 22px 20px 23px;
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.56;
    letter-spacing: normal;
    text-align: center;
    color: var(--black);
    transition: background 0.2s ease-in-out, color 0.2s ease-in-out;
    justify-content: center;
}

.template-module .simulador-pneus .view-switch a:last-of-type {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-top: solid 1px #f2d2be;
    border-bottom: solid 1px #f2d2be;
    border-right: solid 1px #f2d2be;
    border-left: 0;
    background-color: white;
}

.template-module .simulador-pneus .view-switch a:first-of-type {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    border-top: solid 1px #f2d2be;
    border-bottom: solid 1px #f2d2be;
    border-left: solid 1px #f2d2be;
    border-right: solid 1px #f2d2be;
    background-color: white;
}

.template-module .simulador-pneus .view-switch a.selected {
    color: var(--primary);
    background-color: #fdece0;
}

.template-module .simulador-pneus .view-switch a:first-of-type.selected {
    border: solid 1px #f2d2be;
}

.template-module .simulador-pneus .filter-wrapper {
    margin-top: 50px;
    position: relative;
}

.template-module .simulador-pneus .filter-wrapper .row {
    --gap-h: 10px;
    --gap-v: 10px;
    flex-wrap: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: var(--transition);
}

.template-module .simulador-pneus .filter-wrapper .row.active {
    pointer-events: all;
    opacity: 1;
}

.template-module .input-wrapper.select-wrapper {
    padding: 0;
    border: 0px solid #f2d2be;
    border-radius: 0;
}

.template-module div .input-wrapper.select-wrapper.filled {
    border: 0px solid #f2d2be;
}

.template-module .input-wrapper.select-wrapper .custom-select .placeholder {
    padding: 13.5px 20px;
    background-color: white;
    border: 1px solid #f2d2be;
    border-radius: 20px;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.63;
    color: var(--black);
}

.template-module .input-wrapper.select-wrapper .custom-select.isSelected .placeholder {
    border: 1px solid #989898;
}

.template-module .input-wrapper.select-wrapper.disabled .custom-select .placeholder {
    background-color: rgba(221, 221, 221, 0.2);
    border: 1px solid rgba(221, 221, 221, 0);
    pointer-events: none;
}

.template-module div .input-wrapper.select-wrapper.filled .custom-select .placeholder {
    border: 1px solid #e38e60;
}

.template-module div .input-wrapper.select-wrapper .custom-select:not(.has-reset) .placeholder::before {
    content: "";
    position: absolute;
    top: -2px;
    bottom: 0;
    right: 20px;
    margin: auto;
    width: 9px;
    height: 5px;
    background-color: var(--black);
    transform: rotate(0);
    pointer-events: none;
    border: none;
    -webkit-mask-image: url("/assets/img/simulador/select-arrow.svg");
    mask-image: url("/assets/img/simulador/select-arrow.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}


.template-module div .input-wrapper.select-wrapper.disabled .custom-select.has-reset .placeholder>div.reset::before,
.template-module div .input-wrapper.select-wrapper.disabled .custom-select.has-reset .placeholder>div.reset::after {
    background-color: #959595;
}

.template-module div .input-wrapper.select-wrapper .custom-select.has-reset .placeholder>div.reset::before {
    transform: rotate(40deg);
}

.template-module div .input-wrapper.select-wrapper .custom-select.has-reset .placeholder>div.reset::after {
    transform: rotate(-40deg);
}

.template-module div .input-wrapper.select-wrapper .custom-select.has-reset.isSelected .placeholder>div.reset::before {
    transform: rotate(45deg);
}

.template-module div .input-wrapper.select-wrapper .custom-select.has-reset.isSelected .placeholder>div.reset::after {
    transform: rotate(-45deg);
}

.template-module div .input-wrapper.select-wrapper .custom-select.has-reset.isSelected .placeholder>div.reset::before,
.template-module div .input-wrapper.select-wrapper .custom-select.has-reset.isSelected .placeholder>div.reset::after {
    top: 0;
}


.template-module div .input-wrapper.select-wrapper .custom-select.open .placeholder {
    border-bottom: 1px solid rgba(255, 255, 255, 0);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.template-module div .input-wrapper.select-wrapper .custom-select .options-wrapper {
    border-left: 1px solid #f2d2be;
    border-right: 1px solid #f2d2be;
    border-bottom: 1px solid #f2d2be;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    padding-top: 0px;
    top: 55px;
    padding-right: 0;
    font-size: 16px;
}

.template-module div .input-wrapper.select-wrapper .custom-select.isSelected .options-wrapper,
.template-module div .input-wrapper.select-wrapper.filled .custom-select .options-wrapper {
    border-left: 1px solid #e38e60;
    border-right: 1px solid #e38e60;
    border-bottom: 1px solid #e38e60;
}

.template-module div .input-wrapper.select-wrapper .custom-select .options {
    padding: 0;
    overflow: auto;
}

.template-module div .input-wrapper.select-wrapper .custom-select .options>div {
    padding: 10px 0;
    padding-left: 20px;
    font-weight: 300;
}

.template-module div .input-wrapper.select-wrapper .custom-select .options>div:hover {
    background-color: #fef9f9;
}

.template-module div .input-wrapper.select-wrapper .icon-ancora {
    position: absolute;
    top: 0;
    right: 0;
    width: 17px;
    height: 17px;
    padding: 2px;
    background: white;
    cursor: default;
    z-index: 2;
}

.template-module div .input-wrapper.select-wrapper:has(.custom-select.open) {
    z-index: 4;
    position: relative;
}


.template-module div .input-wrapper.select-wrapper .icon-ancora::before {
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    -webkit-mask-image: url("/assets/img/simulador/info.svg");
    mask-image: url("/assets/img/simulador/info.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #ebd5c7;
    top: -2px;
    right: -2px;
    transition: var(--transition);
}

.template-module div .input-wrapper.select-wrapper .icon-ancora:hover::before {
    background-color: #c49e87;
}

.template-module div .input-wrapper.select-wrapper .icon-ancora .img-wrapper {
    position: absolute;
    transition: var(--transition);
    opacity: 0;
    width: 214px;
    height: 100px;
    padding: 10px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transform: translateY(-30px) translateX(-98px);
    pointer-events: none;
    border-radius: 5px;
    box-shadow: 0px 6px 9px 0 rgba(0, 0, 0, 0.04);
    background-color: white;
}

.template-module div .input-wrapper.select-wrapper .icon-ancora:hover .img-wrapper,
.template-module div .input-wrapper.select-wrapper .icon-ancora:has(:hover) .img-wrapper {
    opacity: 1;
    pointer-events: all;
}

.template-module div .input-wrapper.select-wrapper .icon-ancora .img-wrapper img {
    display: block;
    pointer-events: none;
}

.template-module .simulador-pneus .button-wrapper {
    display: flex;
    width: 100%;
    justify-content: center;
    margin-top: 30px;
}

.template-module .simulador-pneus+.content-banner-slider {
    margin-top: 80px;
}

.template-module .simulador-pneus .input-wrapper:not(.select-wrapper) {
    padding: 13.5px 20px;
    border: 1px solid #ebd5c7;
    border-radius: 20px;
    position: relative;
    transition: var(--transition);
    background-color: white;
}

.template-module .simulador-pneus .input-wrapper:not(.select-wrapper).filled {
    border: 1px solid #e38e60;
}

.template-module .simulador-pneus .input-wrapper:not(.select-wrapper) input {
    padding: 0;
    font-weight: 300;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: left;
    color: #1c1c1c;
    font-size: 16px;
}


.template-module .simulador-pneus .input-wrapper label {
    position: absolute;
    left: 25px;
    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: #959595;
    opacity: 1;
    pointer-events: none;
    display: flex;
    transform: translateY(0)
}

.template-module .simulador-pneus .select-wrapper:has(.isSelected) label,
.template-module .simulador-pneus .filter-wrapper:has(.isSelected)+label,
.template-module .simulador-pneus input:focus+label,
.template-module .simulador-pneus .input-wrapper.filled label,
.template-module .simulador-pneus .hidden-wrapper.filled label,
.template-module .simulador-pneus .input-wrapper.filled input:focus+label,
.template-module .simulador-pneus .input-wrapper.filled input:not(:focus)+label {
    top: -9px !important;
    left: 20px !important;
    font-size: 11px;
    color: #d5b39c;
    font-weight: normal;
    border-radius: 20px;
    background-color: white;
    padding: 0px 2px;
    z-index: 2;
    font-size: 11px;
    opacity: 1;
}


.template-module .simulador-pneus .select-wrapper:has(.isSelected) label sup,
.template-module .simulador-pneus .filter-wrapper:has(.isSelected)+label sup,
.template-module .simulador-pneus input:focus+label sup,
textarea:focus+label sup,
.template-module .simulador-pneus .input-wrapper.filled label sup,
.template-module .simulador-pneus .hidden-wrapper.filled label sup,
.template-module .simulador-pneus .input-wrapper.filled input:focus+label sup,
.template-module .simulador-pneus .input-wrapper.filled textarea:focus+label sup,
.template-module .simulador-pneus .input-wrapper.filled input:not(:focus)+label sup,
.template-module .simulador-pneus .input-wrapper.filled textarea:not(:focus)+label sup {
    color: #d5b39c;
    font-size: 8px;
    line-height: 1.5;
    margin-left: 2px;
}

.template-module .simulador-pneus .select-wrapper:has(.isSelected) label::before,
.template-module .simulador-pneus .filter-wrapper:has(.isSelected)+label::before,
.template-module .simulador-pneus input:focus+label::before,
.template-module .simulador-pneus .input-wrapper.filled label::before,
.template-module .simulador-pneus .hidden-wrapper.filled label::before,
.template-module .simulador-pneus .input-wrapper.filled input:focus+label::before,
.template-module .simulador-pneus .input-wrapper.filled input:not(:focus)+label::before {
    content: "";
    width: 100%;
    background-image: linear-gradient(to top, var(--white), #fef8f4);
    height: 100%;
    display: block;
    position: absolute;
    z-index: -1;
}


.template-module .simulador-pneus .filter-wrapper .matricula {
    display: flex;
    justify-content: center;
    gap: 30px;
    align-items: center;
    pointer-events: none;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    transition: var(--transition);
}

.template-module .simulador-pneus .filter-wrapper .matricula.active {
    pointer-events: all;
    opacity: 1;
}

.template-module .simulador-pneus .filter-wrapper:has(.matricula.active) .button-wrapper {
    display: none;
}

.template-module .simulador-pneus .filter-wrapper .matricula .input-wrapper {
    max-width: 270px;
}


@media (max-width: 767px) {

    .template-module:has(.simulador-pneus) .simulador-pneus {
        padding: 0;
    }

    .template-module:has(.simulador-pneus) h2 {
        margin: 0px 0 25px;
    }

    .template-module:has(.simulador-pneus) .container {
        border-radius: 0;
        padding: 25px 20px 30px;
    }

    .template-module .simulador-pneus .filter-wrapper .row {
        flex-wrap: wrap;
        --gap-h: 10px;
        --gap-v: 20px;
        margin-top: 20px;
    }

    .template-module .simulador-pneus .view-switch a:first-of-type {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .template-module .simulador-pneus .view-switch a:last-of-type {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .template-module .simulador-pneus .view-switch a {
        padding: 11px;
        font-size: 16px;
        line-height: 1.38;
    }

    .template-module .simulador-pneus .input-wrapper.select-wrapper .custom-select .placeholder {
        border-radius: 10px;
        padding: 8.5px 16px;
        font-size: 14px;

    }

    .template-module .simulador-pneus div .input-wrapper.select-wrapper .custom-select:not(.has-reset) .placeholder::before {
        right: 16px;
        width: 10px;
    }

    .template-module .simulador-pneus div .input-wrapper.select-wrapper .icon-ancora::before {
        top: -3px;
        right: -3px;
    }

    .template-module .simulador-pneus div .input-wrapper.select-wrapper .custom-select .options-wrapper {
        top: 40px;
    }

    .template-module .simulador-pneus div .input-wrapper.select-wrapper .custom-select .options>div {
        padding-left: 16px;
        font-size: 14px;
    }

    .template-module .simulador-pneus .filter-wrapper {
        margin-top: 20px;
    }

    .template-module .simulador-pneus .filter-wrapper:has(.matricula.active) {
        max-height: 45px;
    }

    .template-module .simulador-pneus .input-wrapper:not(.select-wrapper) input {
        font-size: 14px;
        font-weight: 300;
        font-stretch: normal;
        font-style: normal;
        letter-spacing: normal;
        text-align: left;
    }

    .template-module .simulador-pneus .input-wrapper:not(.select-wrapper) {
        padding: 10px 16px;
        border-radius: 10px;
    }

    .template-module .simulador-pneus .input-wrapper label {
        left: 16px !important;
        top: 10px;
        font-size: 14px;
    }

    .template-module .simulador-pneus .select-wrapper:has(.isSelected) label,
    .template-module .simulador-pneus .filter-wrapper:has(.isSelected)+label,
    .template-module .simulador-pneus input:focus+label,
    .template-module .simulador-pneus .input-wrapper.filled label,
    .template-module .simulador-pneus .hidden-wrapper.filled label,
    .template-module .simulador-pneus .input-wrapper.filled input:focus+label,
    .template-module .simulador-pneus .input-wrapper.filled input:not(:focus)+label {
        left: 14px !important;
    }

}


@media (max-width: 500px) {
    .template-module .simulador-pneus .filter-wrapper .matricula {
        flex-direction: column;
    }

    .template-module .simulador-pneus .filter-wrapper:has(.matricula.active) {
        max-height: 105px;
    }

    .template-module .simulador-pneus .filter-wrapper .matricula .input-wrapper {
        max-width: unset;
        width: 100%;
    }
}

.template *+.listing {
    margin-top: 40px;
}

.template .listing+.listing {
    margin-top: 40px;
}

.template .listing:first-child {
    margin-top: 0 !important;
}

.template .listing:last-child {
    margin-bottom: 0 !important;
}


/****************************************/
/*********** SIMULADOR IPO **************/
/****************************************/

.ipo-module {
    margin-top: 60px;
    margin-bottom: 60px;
}

.ipo-module .container.container-tmp {
    max-width: 1120px;
}

.ipo-module-container {
    display: flex;
    background-color: #ffffff;
    border: 3px solid #fef8f4;
    border-radius: 20px;
    overflow: hidden;
}

.ipo-module-container .ipo-module-left-wrapper {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 50px 50px;
    background-color: #ffffff;
}

.ipo-module-container .ipo-module-right-wrapper {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding: 40px 90px;
    background-color: #fef8f4;
}

/* --- Lado esquerdo --- */

.ipo-module-container .ipo-module-left-wrapper .ipo-module-title {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.55;
    letter-spacing: normal;
    color: var(--black);
    margin: 0 0 12px;
}

.ipo-module-container .ipo-module-left-wrapper .ipo-module-subtitle {
    font-size: 16px;
    font-weight: normal;
    line-height: 1.63;
    color: var(--black);
    margin-bottom: 28px;
}

.ipo-module-container .ipo-module-left-wrapper .ipo-module-subtitle p {
    margin: 0;
}

.ipo-module-container .ipo-module-left-wrapper .input-wrapper {
    padding: 12.5px 30px;
    border: 1px solid #dddddd;
    border-radius: 20px;
    background-color: #ffffff;
    position: relative;
    transition: var(--transition);
}

.ipo-module-container .ipo-module-left-wrapper .input-wrapper.invalid {
    border-color: var(--primary);
}

.ipo-module-container .ipo-module-left-wrapper .input-wrapper input {
    background-color: transparent;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.63;
    color: var(--black);
    text-transform: uppercase;
    border: none;
    outline: none;
    width: 100%;
}

.ipo-module-container .ipo-module-left-wrapper .input-wrapper label sup {
    color: var(--primary);
}

.ipo-module-container .ipo-module-left-wrapper .ipo-module-success {
    font-size: 15.5px;
    font-weight: normal;
    line-height: 1.55;
    color: #50a130;
    margin-top: 12px;
}

.ipo-module-container .ipo-module-left-wrapper .ipo-module-success:not([hidden]) {
    display: flex;
    gap: 9px;
}

.ipo-module-container .ipo-module-left-wrapper .ipo-module-success::before {
    content: "";
    position: relative;
    min-width: 20px;
    min-height: 20px;
    -webkit-mask-image: url(/assets/img/marcacao/matricula-valida.svg);
    mask-image: url(/assets/img/marcacao/matricula-valida.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #50a130;
    cursor: pointer;
    transition: var(--transition);
}

.ipo-module-container .ipo-module-left-wrapper .input-wrapper a.clear {
    position: absolute;
    width: 15px;
    height: 15px;
    right: 31px;
    top: 0;
    bottom: 0;
    margin: auto;
    opacity: 1;
    pointer-events: all;
}

.ipo-module-container .ipo-module-left-wrapper .input-wrapper a.clear::before {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    right: 4px;
    top: 0;
    bottom: 0;
    margin: auto;
    -webkit-mask-image: url(/assets/img/global/close-header.svg);
    mask-image: url(/assets/img/global/close-header.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #989898;
    cursor: pointer;
    transition: var(--transition);
    opacity: 1;
    pointer-events: all;
}

/* --- Lado direito: estado inicial --- */

.ipo-module-container .ipo-module-right-wrapper .ipo-module-initial {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    max-width: 315px;
    margin: auto;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-icon img {
    width: 78px;
    height: auto;
    max-height: 70px;
    display: block;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-highlight {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.56;
    letter-spacing: normal;
    color: var(--primary);
    margin: 0;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-highlight p {
    margin: 0;
    color: inherit;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-helper {
    font-size: 14px;
    font-weight: normal;
    line-height: 1.71;
    letter-spacing: normal;
    color: var(--black);
    max-width: 360px;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-helper p {
    margin: 0;
    font-size: 14px;
    color: #1a1a1a;
    text-align: center;
}

/* --- Lado direito: estado pós-validação (.validated) --- */

.ipo-module-container .ipo-module-right-wrapper .ipo-module-result {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-deadline {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--black);
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-deadline-date {
    color: var(--primary);
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-startdate {
    font-size: 14px;
    font-weight: normal;
    line-height: 1.5;
    color: var(--black);
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-startdate strong {
    font-weight: bold;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-pricing {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 12px;
    padding: 14px 25px;
    background-color: #ffffff;
    border-radius: 40px;
    align-self: center;
    box-shadow: 0px 10px 24px 0 rgba(0, 0, 0, 0.07);
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-price-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-price-label {
    font-size: 12px;
    font-weight: normal;
    color: var(--black);
    line-height: 1.3;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-price {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.2;
    color: var(--primary);
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-cta {
    padding: 7px 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    color: #ffffff;
    background-color: var(--primary);
    border-radius: 30px;
    text-decoration: none;
    transition: var(--transition);
    cursor: pointer;
    white-space: nowrap;
}

.ipo-module-container .ipo-module-right-wrapper .ipo-module-cta:hover {
    opacity: 0.9;
}

/* --- Toggle entre estado inicial e validado --- */

.ipo-module.validated .ipo-module-container .ipo-module-right-wrapper .ipo-module-initial {
    display: none;
}

.ipo-module:not(.validated) .ipo-module-container .ipo-module-right-wrapper .ipo-module-result {
    display: none;
}

/* --- Responsive --- */

@media (max-width: 1024px) {

    .ipo-module-container .ipo-module-left-wrapper,
    .ipo-module-container .ipo-module-right-wrapper {
        padding: 35px 30px;
    }

    .ipo-module-container .ipo-module-right-wrapper .ipo-module-pricing {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }
}

@media (max-width: 767px) {

    .ipo-module {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .ipo-module .container.container-tmp {
        padding: 0;
        max-width: 100%;
    }

    .ipo-module-container {
        flex-direction: column;
        border: none;
        border-radius: 0;
        border-top: 3px solid #fef8f4;
    }

    .ipo-module-container .ipo-module-left-wrapper {
        flex: 1 1 100%;
        padding: 32px 25px;
        text-align: center;
        align-items: center;
        background-color: #ffffff;
    }

    .ipo-module-container .ipo-module-right-wrapper {
        flex: 1 1 100%;
        padding: 30px 25px;
        text-align: center;
        align-items: center;
    }

    .ipo-module-container .ipo-module-left-wrapper .input-wrapper {
        width: 100%;
        max-width: 280px;
    }

    .ipo-module-container .ipo-module-left-wrapper .ipo-module-title {
        font-size: 16px;
    }

    .ipo-module-container .ipo-module-left-wrapper .ipo-module-subtitle {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .ipo-module-container .ipo-module-left-wrapper .ipo-module-success {
        font-size: 14px;
        text-align: center;
    }

    .ipo-module-container .ipo-module-right-wrapper .ipo-module-icon img {
        width: 64px;
        max-height: 57px;
    }

    .ipo-module-container .ipo-module-right-wrapper .ipo-module-highlight {
        font-size: 16px;
    }

    .ipo-module-container .ipo-module-right-wrapper .ipo-module-helper {
        font-size: 14px;
        line-height: 1.6;
    }

    .ipo-module-container .ipo-module-right-wrapper .ipo-module-deadline {
        font-size: 16px;
    }

    .ipo-module-container .ipo-module-right-wrapper .ipo-module-pricing {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin-top: 12px;
        padding: 4px 4px 4px 18px;
        border-radius: 30px;
    }

    .ipo-module-container .ipo-module-right-wrapper .ipo-module-price {
        font-size: 19px;
    }

    .ipo-module-container .ipo-module-right-wrapper .ipo-module-cta {
        min-width: 142px;
        height: 38px;
        font-size: 14px;
        border-radius: 20px;
        padding: 0 18px;
    }
}