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;
    overflow: hidden;
    min-height: 530px;
    height: 100%;
    display: flex;
    flex-direction: row;
}

.banner:has(.image img){
    min-height: inherit;
}


/* .banner .image {
    padding-top: 31.5%;
    min-height: 360px;
    overflow: hidden;
    position: relative;
} */

.banner:not(.no-img) .image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.banner img {
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.banner .image::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    mix-blend-mode: multiply;
    background-blend-mode: multiply;
    background-image: linear-gradient(51deg, #b7b7b7, #ececec);;
}

.typeEmpresas .banner .image::after,
.typeParticular .banner .image::after{
    content: none;
}

.banner:not(.no-img) .container {
    color: var(--white);
    position: relative;
    /* padding-top: 230px;
    padding-bottom: 120px; */
    max-width: 1020px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
}

.banner:has(.image img) .container{
    padding-top: 230px;
    padding-bottom: 120px;
}

.banner:has(.image img) .container:has( img){
    padding-bottom: 60px;
    bottom: 0;
}

body main:has(article) > .container nav ol,
body .banner .container ol {
    padding: 0;
    list-style: none;
    display: inline-flex;
    flex-wrap: wrap;
    line-height: 1.55;
}

body main:has(article) > .container nav ol li,
body .banner .container ol li {
    font-size: 11px;
    color: rgba(255, 255, 255, 1);
    line-height: 1.45;
    letter-spacing: 0.88px;
    text-transform: uppercase;
}

body main:has(article) > .container nav ol li,
body .banner.no-img .container ol li {
    color: var(--primary);
}

body.typeParticular main:has(article) > .container nav ol li,
body.typeParticular .banner.no-img .container ol li,
body.typeParticular .banner.no-img .container ol li+li::before, 
body.typeParticular .banner.no-img .container ol li a {
    color: var(--typeRed);
}

body.typeEmpresas main:has(article) > .container nav ol li,
body.typeEmpresas .baBluer.no-img .container ol li,
body.typeEmpresas .banner.no-img .container ol li+li::before,
body.typeEmpresas .banner.no-img .container ol li a {
    color: var(--typeBlue);
}

body main:has(article) > .container nav ol li a:hover,
body .banner .container ol li a:hover {
    opacity: .6;
}


body main:has(article) > .container nav ol li+li::before,
body .banner .container ol li+li::before {
    content: ".";
    padding-left: .6em;
    padding-right: .6em;
    font-size: 0.625rem;
    color: #9d9d9d;
}

body main:has(article) > .container{
    text-align: center;
}
body main:has(article) > .container,
body:not(:has(article)) .banner.no-img{
    padding-top: 140px;
    margin-top: 0px;
}

body:has( main > .content) .banner.no-img{
    padding-top: 0;
    margin-top: 0;
    min-height: inherit;
}

.banner.no-img .container{
    z-index: 1;
    padding-top: 230px;
    padding-bottom: 120px;
}

body main:not(:has( article)) .banner.no-img{
    height: 450px;
}

article .banner.no-img .container{
    padding-block: 0;
}



body.article .banner.no-img{
    height: auto;
}

body .banner.no-img::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--primary);
    opacity: 0.1;
}

body.article .banner.no-img::after,
body article .banner.no-img::after{
    content: none;
}

body.article .banner.no-img,
body article .banner{
    min-height: auto;
}

body.article .banner.no-img svg,
body article .banner.no-img svg{
    display: none !important;
}

.typeParticular .banner.no-img::after{
    background: var(--typeRed);
}

.typeEmpresas .banner.no-img::after{
    background: var(--typeBlue);
}


body .banner.no-img svg{
    position: absolute;
    width: 130vw;
    left: -10%;
    right: -10%;
    display: block;
    height: auto;
    top: auto;
    bottom: 0;
}
.banner.no-img .image::after {
    background-color: var(--transparent);
}

.banner.no-img .container ol li+li::before,
.banner.no-img .container ol li a {
    color: var(--primary);
}

.banner.no-img .container ol li a:hover {
    color: var(--black);
}

.banner .container h1,
.banner .container .h1 {
    font-size: 3.75rem;
    font-weight: bold;
    line-height: 1.18;
    letter-spacing: normal;
    text-align: center;
    color: var(--white);
	margin: 0;
	margin-top: 15px;
	display: flex;
	flex-direction: column;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* main:not(:has( article)) .banner.no-img .container{
    position: absolute;
    bottom: 120px;
    left: 0;
    right: 0;
    z-index: 1;
} */

body.article main .banner.no-img .container{
    position: relative;
    bottom: inherit;
    padding-top: 140px;
    padding-bottom: 0;
    margin-top: 20px;
}


.banner.no-img .container h1,
.banner.no-img .container .h1 {
    color: var(--secondary);
    max-width: 980px;
    margin-inline: auto;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: center;
}

article .banner.no-img .container h1,
article .banner.no-img .container .h1{
    font-size: 3.125rem;
}

.banner .container h1 + span {
	display: block;
    font-size: 14px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.43;
    letter-spacing: normal;
    text-align: center;
    color: var(--white);
    margin-top: 25px;
}

.banner.no-img .container h1 + span {
    color: var(--secondary);
}

.banner .container h1 + span a,
.banner .container h1 + div a{
    color: var(--primary);
}

.banner .container h1 + span a:hover,
.banner .container h1 + div a:hover{
    opacity: .7;
}

.banner .container h1 + div.date {
    position: relative;
    display: flex;
    gap: 11px;
    justify-content: center;
    align-items: center;
    margin-top: 25px;
    font-size: 14px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.43;
    letter-spacing: normal;
    text-align: center;
    color: #c9caca;
}

.banner img.logo_menu{
    height: 100px;
    width: auto;
    position: relative;
    margin-top: 50px;
    z-index: 1;
}

.banner:has(.logo_menu) .container{
    bottom: 60px;
}

body .banner.no-img:has(.logo_menu){
    height: calc(450px + 95px);
}


body:has( main .banner.no-img) header .menu-toggle span {
    background-color: var(--secondary);
}


@media(max-width: 768px) {
    .banner img.logo_menu{
        height: 65px;
        max-width: 100%;
        object-fit: cover;
        margin-top: 20px;
    }

    body .banner .container ol li {
        font-size: 10px;
        line-height: 1.4;
        letter-spacing: 0.8px;
    }

    .banner.no-img .container,
    .banner:not(.no-img) .container {
        padding-top: 172px;
        padding-bottom: 55px;
        min-height: unset;
    }
    body .banner.no-img svg {
        width: 180vw;
        left: -20%;
        right: -20%;
    }

    body main:has(article) > .container,
    body:not(:has(article)) .banner.no-img {
        padding-top: 70px;
    }

    .banner.no-img .container h1 {
        font-size: 30px;
        line-height: 1.2;
        margin-top: 10px;
        letter-spacing: normal;
    }

    .banner .container h1 + span a {
        font-size: 13px;
    }

    .banner .container h1 + span,
    .banner .container h1 > span {
		display: block;
		font-size: 13px;
		margin-top: 12px;
	}

    .banner .container h1 + div.date{
        margin-top: 20px;
    }

}




.banner .container .details {
	margin-top: 40px;
    padding-top: 30px;
	border-top: 1px solid #ebe9e9;
    position: relative;
    width: 100%;
    text-align: start;
}

.publication .banner .container .details {
	margin-top: 20px;
}

.banner .container .details ul {
	display: block;
	text-align: left;
    padding: 0;
}

.banner .container .details ul li {
    font-size: 20px !important;
    color: var(--black) !important;
    width: 100%;
    line-height: 1.45;
    font-weight: 300;
}

.banner .container .details ul li + li {
	margin-top: 16px;
}

.banner .container .details ul li::before {
	content: "";
    position: relative;
    width: 20px;
    height: 20px;
	margin-right: 15px;
    display: inline-block;
	vertical-align: middle;
    -webkit-mask-image: url(/assets/img/svg/phone.svg);
	mask-image: url(/assets/img/svg/phone.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: contain;
    -webkit-mask-size: contain;
    background-color: var(--primary);
    padding: 0 !important;
    font-size: 20px !important;
    top: -2px;
}

.banner .container .details ul li.phone::before {
    -webkit-mask-image: url(/assets/img/svg/phone.svg);
    mask-image: url(/assets/img/svg/phone.svg);
}

.banner .container .details ul li.email::before {
    -webkit-mask-image: url(/assets/img/svg/);
    mask-image: url(/assets/img/svg/email.svg);
}

.banner .container .details ul li.h-web-index::before {
    -webkit-mask-image: url(/assets/img/svg/h-index.svg);
    mask-image: url(/assets/img/svg/h-index.svg);
}

.banner .container .details ul li.h-google-index::before {
    -webkit-mask-image: url(/assets/img/svg/google.svg);
    mask-image: url(/assets/img/svg/google.svg);
}

.banner .container .details ul li.web-reference::before {
    -webkit-mask-image: url(/assets/img/svg/link.svg);
    mask-image: url(/assets/img/svg/link.svg);
}

.banner .container .details ul li.research::before {
    -webkit-mask-image: url(/assets/img/svg/research.svg);
    mask-image: url(/assets/img/svg/research.svg);
}

.banner .container .details ul li.author::before {
    mask-image: url(/assets/img/svg/author.svg);
    -webkit-mask-image: url(/assets/img/svg/author.svg);
}

.banner .container .details ul li.article::before {
    mask-image: url(/assets/img/svg/article.svg);
    -webkit-mask-image: url(/assets/img/svg/article.svg);
}

.banner .container .details ul li.doi::before {
    mask-image: url(/assets/img/svg/doi.svg);
    -webkit-mask-image: url(/assets/img/svg/doi.svg);
}
.banner .container .details ul li.tag::before {
    mask-image: url(/assets/img/svg/tag.svg);
    -webkit-mask-image: url(/assets/img/svg/tag.svg);
    vertical-align: middle;
}

.banner .container .details ul li a {
   	color: var(--primary) !important;
    font-weight: 600;
}
.banner .container .details ul li a:hover {
    opacity: 0.5;
}

.banner .container .details ul li b {
	font-weight: 600;
}

body:has( .banner.no-img) header .search-form.search-open input,
body:has( .banner.no-img) header .header-content>div>ul li a{
    color: #212121;
}

body:has( .banner.no-img) header .logo img:has( + img.color){
    display: none;
}
body:has( .banner.no-img) header .logo img + img.color{
    display: block;
}

body:has( .banner.no-img) header:not(.mobile) .header-content>div >ul li.active a::after, 
body:has( .banner.no-img) header:not(.mobile) .header-content>div >ul li:hover a::after, 
body:has( .banner.no-img) header:not(.mobile) .header-content>div .header-menu ul li:hover a::after, 
body:has( .banner.no-img) header:not(.mobile) .header-content>div .header-menu ul li.active a::after,
body:has( .banner.no-img) header:not(.mobile) .header-content>div >ul li:hover a::after,
body:has( .banner.no-img) header>div .search-form button::before{
    background-color: var(--primary)!important;
}

body:has( .banner.no-img) header .search-form.search-open input{
    border-bottom: 1px solid rgb(33, 33, 33, .6);
}




/***************************/
/*******  Template *********/
/***************************/

.template {
    margin-top: 80px;
    /* width: 100%; */
    margin-inline: auto;
}

.rounded .template-module .image,
.rounded [class*="module"] .container img{
    border-radius: 30px;
    overflow: hidden;
}


.banner.no-img + .template{
    margin-top: 80px;
}

.banner.no-img:has( .date) + .template{
    margin-top: 35px;
}

@media(max-width:768px) {
    .banner.no-img:has( .date) + .template{
        margin-top: 25px;
    }
}

.template ul, 
.template ol,
.template p {
    font-size: 1.25rem;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: left;
    color: var(--third);
    margin: 0;
    margin-block: 20px;
}
.template .container {
    max-width: 1020px;
    padding: 0 20px;
    margin-inline: auto;
}

.template .template-module.search-results .container {
    max-width: 1320px;
}

.template h2,
.template .h2,
.template h3,
.template .h3,
.template h4,
.template .h4 {
    font-weight: 500;
    color: var(--secondary);
}

.template ol + h2,
.template ol + h3,
.template ul + h2,
.template ul + h3,
.template p + h2,
.template p + h3 {
    margin: 68px 0 20px;
}
.template ol + h4,
.template ul + h4,
.template p + h4 {
    margin: 60px 0 20px;
}

.template h2,
.template .h2 {
    font-size: 2.25rem;
    line-height: 1.28;
    letter-spacing: normal;
    margin: 0.5em 0;
}


.template h3,
.template .h3 {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.29;
    letter-spacing: normal;
    margin: 1em 0;

}

.template h4,
.template .h4 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: -0.24;
    margin: 1em 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: 45px 0 0;
}

.template h2 strong,
.template .h2 strong,
.template h3 strong,
.template .h3 strong,
.template h4 strong,
.template .h4 strong,
.template h5 strong,
.template .h5 strong{
    color: var(--primary);
    font-weight: 500;
}

.template b,
.template strong {
    font-weight: 600;
    color: var(--secondary);
}
.template .template-module small a,
.template .template-module ul a,
.listing.module20 .image-item a:not(.button),
.template .template-module p a,
.template .template-module td a {
    display: inline-flex;
    font-weight: 600;
    transition: var(--transition);
    color: var(--primary);
    position: relative;
}

.typeParticular .template h2 strong,
.typeParticular .template .h2 strong,
.typeParticular .template h3 strong,
.typeParticular .template .h3 strong,
.typeParticular .template h4 strong,
.typeParticular .template .h4 strong,
.typeParticular .template h5 strong,
.typeParticular .template .h5 strong,
.typeParticular .template .template-module small a,
.typeParticular .template .template-module ul a,
.typeParticular .listing.module20 .image-item a:not(.button),
.typeParticular .template .template-module p a,
.typeParticular .template .template-module td a{
    color: var(--typeRed);
}

.typeEmpresas .template h2 strong,
.typeEmpresas .template .h2 strong,
.typeEmpresas .template h3 strong,
.typeEmpresas .template .h3 strong,
.typeEmpresas .template h4 strong,
.typeEmpresas .template .h4 strong,
.typeEmpresas .template h5 strong,
.typeEmpresas .template .h5 strong,
.typeEmpresas .template .template-module small a,
.typeEmpresas .template .template-module ul a,
.typeEmpresas .listing.module20 .image-item a:not(.button),
.typeEmpresas .template .template-module p a,
.typeEmpresas .template .template-module td a{
    color: var(--typeBlue);
}


.template .template-module td a,
.template .template-module p a {
    display: inline;
    border-bottom: 1px dotted var(--transparent);
}

.template .template-module small a,
.template .template-module ul a {
    border-bottom: 1px dotted var(--transparent);
}

.template .template-module td a:hover,
.template .template-module small a:hover,
.template .template-module ul a:hover,
.template .template-module p a:hover {
    border-bottom: 1px dotted currentColor;
}


.template .template-module small, 
p small {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.57;
    display: inline-block;
    color: var(--secondary);
}

.template .template-module strong small,
p b small {
    font-weight: bold;
}

.template .template-module small {
    margin: 0.8em 0;
} 

.template .template-module p > small:first-of-type {
    margin: 0;
} 

.template .template-module p > small:first-of-type + br + strong > small{
    margin: 0;
}

body:not(.contacts) .template .template-module p:has(> small:first-of-type){
    line-height: 1;
}

body:not(.contacts) .template .template-module blockquote p:has(> small:first-of-type){
    line-height: 1.45;
}

.template .template-module small.text-center {
    width: 100%;
} 

/* .template .template-module.module8 small,
.template .template-module.module25 small{
    color: #858585;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.5;
} */

.template .template-module.module8 img{
    max-width: 100%;
    width: auto;
}

.template .template-module.module8.FullW img{
    width: 100%;
}

.template blockquote > *,
.template p big {
    font-family: var(--font-family);
    position: relative;
    display: block;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.45;
    text-align: left;
    padding: 0 0 0 85px;
    letter-spacing: normal;
    color: var(--secondary);

}
.template blockquote,
.template p big{
    padding-right: 60px;
}


.template p big, 
.template blockquote {
    position: relative;
    padding-block: 40px;
}

.template p:has(> big),
.template blockquote {
    margin-inline: 0;
    margin-block: 50px;
    margin-bottom: 50px;
}
.template p:has(> big){
    margin-top: 47px;
}

.template blockquote::after,
.template p big::before{
    content: ' ';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: var(--primary);
    opacity: 0.07;
}


.contacts .template blockquote::after,
.contacts .template p big::before{
    opacity: 0.1;
}

.rounded .template blockquote::after,
.rounded .template p big::before{
    border-radius: 30px;
}

.template p sup,
.template p sub{
    font-size: 13px;
}

big::after {
    content: ' ';
    background-color: var(--primary);
    width: 5px;
    height: calc(100% - 80px);
    display: block;
    position: absolute;
    top: 35px;
    left: 60px;
    margin-block: 5px;
    border-radius: 2.5px;
}


blockquote::before {
    content: '';
    -webkit-mask-image: url(/bluesky/assets/img/template/quote.svg);
    mask-image: url(/bluesky/assets/img/template/quote.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--primary);
    display: block;
    width: 37px;
    height: 30px;
    position: absolute;
    top: 35px;
    left: 27px;
}

.template blockquote p {
    padding-top: 0;
    margin: 0;
}

.template .template-module blockquote small {
    color: var(--primary);
    font-weight: bold;
}

.template ul, .template ol {
    list-style-type: none;
    margin: 0;
    padding-block: 0px;
    margin-block: 30px;
    counter-reset: item;
    padding-left: 2em;
}

.listing.module20 ul li::before,
.template-module:not(.search-results) ul li::before{
    content: "";
    display: inline-block;
    height: 16px;
    width: 1.25rem;
    margin-left: -1.8em;
    margin-right: 1rem;
    -webkit-mask-image: url(/bluesky/assets/img/template/bullet.svg);
    mask-image: url(/bluesky/assets/img/template/bullet.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--primary);
    align-items: center;
}

.listing.module20 ol li::before,
.template-module ol li::before {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: left;
    color: var(--primary);
    counter-increment: item;
    content: counter(item) ".";
    display: inline-block;
    margin-left: -35px;
    margin-right: 18px;
    width: 16px;
}

.template-module .table-wrapper .swipeIcon{
    display: none;
}

.template-module .table-wrapper.swipe {
    overflow: auto;
    margin-inline: -20px;
    padding-inline: 20px;
    padding-bottom: 20px;
}

.template-module .table-wrapper.swipe .swipeIcon {
    display: flex;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    text-align: center;
    color: #1f3839;
    margin-bottom: 24px;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 13px;
}

.template-module .table-wrapper.swipe .swipeIcon::before {
    position: relative;
    display: inline-flex;
    width: 25px;
    height: 27px;
    content: "";
    -webkit-mask-image: url("/bluesky/assets/img/template/swipe.svg");
    mask-image: url("/bluesky/assets/img/template/swipe.svg");
    background-color: var(--primary);
}


@media(max-width:767px){
    .template-module.module25 .swipeIcon{
        display: flex;
        font-size: 12px;
        font-weight: 600;
        line-height: 1;
        letter-spacing: normal;
        text-align: center;
        color: #1f3839;
        margin-bottom: 24px;
        width: 100%;
        justify-content: center;
        align-items: center;
        gap: 13px;
    }

    .template-module.module25 .swipeIcon::before {
        position: relative;
        display: inline-flex;
        width: 25px;
        height: 27px;
        content: "";
        -webkit-mask-image: url("/bluesky/assets/img/template/swipe.svg");
        mask-image: url("/bluesky/assets/img/template/swipe.svg");
        background-color: var(--primary);
    }

}



.template-module table thead {
    position: relative;
}


/* .template-module table thead::before{
    content:"";
    background: var(--primary);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
} */

.template-module table thead{
    background: var(--primary);
}
.template-module table img {
    display: inline;
}

.template-module table,
.template-module table td,
.template-module table tr,
.template-module table th {
    font-size: 1.25rem;
    font-stretch: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-align: left;
    padding:20px;
    position: relative;
    border: solid 1px #e1e1e1;
    border-collapse: collapse;
}

.template-module table thead,
.template-module table thead tr,
.template-module table thead tr th {
    border: none;
}


.template-module table th {
    color: white;
    font-weight: 600;

}
.template-module table td  {
    font-weight: normal;
    color: var(--third);
}

.template-module table td b {
    font-weight: normal;
    text-align: left;
}


.template .listing .file .link {
    
    font-size: 0.875rem;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    letter-spacing: 0.7px;
    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(/bluesky/assets/img/elements/svg/normal-arrow.svg);
    mask-image: url(/bluesky/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: 768px) {
    .template {
        margin-top: 40px;
    }

    body:not(.contacts, .blog, .news) .banner:not(.no-img) + .template {
        margin-top: 60px;
    }

    .blog .template,.news .template {
        margin-top: 12px;
    }
    .template .container {
        width: 100%;
        max-width: calc(100% - 40px);
        padding: 0;
    }

    .template:has( .colslide-4.slider.gridCol) .container.containerSlide{
        max-width: 100%;
    }

    
    .template .template-module.imageArticle{
        margin-bottom: 30px;
    }
    .template .template-module.imageArticle + .template-module{
        margin-top: 30px;
    }
    .template .template-module.imageArticle .container{
        max-width: 100%;
    }

    .template .template-module.imageArticle img{
        border-radius: 0;
    }

    .banner .container ul li+li::before,
    .banner .container ul {
        font-size: 0.875rem;
        flex-wrap: wrap;
        justify-content: center;
    }

    .banner .container h1 {
        letter-spacing: normal;
        font-size: 35px;
        font-weight: bold;
        line-height: 1.29;
        margin-top: 7px;
    }

    .banner .image {
        min-height: 264px;
    }

    .template h2, .template .h2 {
        font-size: 28px;
        line-height: 1.29;
        letter-spacing: normal;
    }

    .template ul,
    .template ol,
    .template p {
        font-size: 18px;
        line-height: 1.33;
        margin-block: 20px;
    }

    .template h3, .template .h3 {
        font-size: 24px;
        line-height: 1.33;
    }

    .template h4, .template .h4 {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px;
    }


    .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: 35px 0 0;
    }

    .template .template-module small,
     .template p small {
        font-size: 13px;
        line-height: 1.38;
    }

    big::after{
        left:0px;
        margin-block: 0;
        height: calc(100% - 70px);
    }
    
    .template blockquote p, .template p big {
        font-size: 19px;
        padding: 30px 0 30px 30px;
        line-height: 1.37;
    }

    .rounded .template blockquote::after, .rounded .template p big::before{
        border-radius: 0;
    }

    .template blockquote::after, 
    .template p big::before{
        width: 100vw;
        z-index: -1;
        left: 50%;
        transform: translateX(-50%);
    }

    .template blockquote p {
        padding: 0 0 0 30px;
    }

    .template p big {
        padding: 30px 0px 30px 30px;
    }

    .template ul, .template ol{
        counter-reset: item;
        padding-left: 2em;
    }
    /* .template-module:not(.search-results) ul li::before{
        margin-left: -17px;
        margin-right: 11px;
    } */
    .template-module:not(.search-results) ul li::before {
        height: 14px;
        width: 18px;
        margin-right: 11px;
        margin-left: -30px;
    }


    .template-module table, .template-module table td, .template-module table tr, .template-module table th {
        font-size: 1rem;
    }

    blockquote::before {
        top: 40px;
        left: -5px;
        width: 26px;
        height: 21px;
    }

    .template blockquote{
        padding-right: 25px;
    }


    .template-module ol li::before {
        margin-left: -30px;
        margin-right: 14px;
        font-size: 18px;
    }

    .template .template-module.module8 small,
    .template .template-module .image.video + small{
        font-size: 14px !important;
        line-height: 1.29;
    }
    
    .template .template-module.module12 .container{
        padding-inline: 0;
        max-width: 100%;
    }

    .rounded .template-module .container:has( .slider-wrapper) .image,
    .rounded .template-module .container:has( .slider-wrapper) .image img,
    .rounded .template-module.module12 .container .image,
    .rounded .template-module.module12 .container img{
        border-radius: 0px;
    }
}


.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;
    color: var(--black);
}

.template .template-module.search-results .listing{
    margin-top: 30px;
}

.template-module.fullwidth .image img{
    width: 100%;
    background: none;
}
.rounded .template-module.fullwidth .image{
    border-radius: 0;
}
@media(min-width: 768px) {
    .template {
        margin-bottom: 110px;
    }
    .template .button{
        font-size: 16px;
        line-height: 1.38;
    }
}


.typeParticular .template h2 strong,
.typeParticular .template .h2 strong,
.typeParticular .template h3 strong,
.typeParticular .template .h3 strong,
.typeParticular .template h4 strong,
.typeParticular .template .h4 strong,
.typeParticular .template h5 strong,
.typeParticular .template .h5 strong,
.typeParticular .template .template-module small a,
.typeParticular .template .template-module ul a,
.typeParticular .listing.module20 .image-item a:not(.button),
.typeParticular .template .template-module p a,
.typeParticular .template .template-module td a,
.typeParticular .template-module ol li::before,
.typeParticular .template .listing .file .link,
.typeParticular .template .listing .accordion.open > div:first-of-type > h1,
.typeParticular .template .listing .accordion.open > div:first-of-type > .h1,
.typeParticular .template .listing .accordion.open > div:first-of-type > h3,
.typeParticular .template .listing .accordion.open > div:first-of-type > .h3,
.typeParticular .template .listing .accordion.open > div:first-of-type > h2,
.typeParticular .template .listing .accordion.open > div:first-of-type > .h2,
.typeParticular .template .listing .accordion.active > div:first-of-type > h1,
.typeParticular .template .listing .accordion.active > div:first-of-type > .h1,
.typeParticular .template .listing .accordion.active > div:first-of-type > h3,
.typeParticular .template .listing .accordion.active > div:first-of-type > .h3,
.typeParticular .template .listing .accordion.active > div:first-of-type > h2,
.typeParticular .template .listing .accordion.active > div:first-of-type > .h2,
.typeParticular .listing .filter > div:hover,
.typeParticular .listing .filter > div.selected,
.typeParticular .listing .filter > div.active,
.typeParticular .listing .accordion.numbered > div:first-child::before,
.typeParticular .template .listing .accordion:hover > div:first-of-type > *:first-of-type,
.typeParticular .listing.module20 .image-item.number .image span,
.typeParticular .template-module .header p,
.typeParticular .template-module .phone-cta div span,
.typeParticular .card-item .category,
.typeParticular header.mobile .header-content > .header-menu > ul  li.active > a,
.typeParticular header.mobile .header-content>.header-menu>ul>li.active:has(.submenu-wrapper.open)>a,
.typeParticular header.mobile .header-content>.header-menu>ul>li.active>a+div+span::before,
.typeParticular header.mobile .header-menu ul>li .submenu-wrapper ul>li.active>a,
.typeParticular header .header-menu ul>li .submenu-wrapper ul li:hover>a,
.typeParticular header .header-menu .submenu-wrapper li:has(.subsubmenu-wrapper:hover)>a,
.typeParticular header.mobile .header-content>.header-menu>ul>li:hover>a,
.typeParticular header.mobile .header-menu ul>li .submenu-wrapper li a:hover{
    color: var(--typeRed);
}

.typeParticular .template blockquote::after,
.typeParticular .template p big::before,
.typeParticular big::after,
.typeParticular blockquote::before,
.typeParticular .template-module:not(.search-results) ul li::before,
.typeParticular .template-module .table-wrapper.swipe .swipeIcon::before,
.typeParticular .template .listing .file .link::after,
.typeParticular .listing .filter > div::before,
.typeParticular .listing .filter .line,
.typeParticular .listing .pagination ul li.prev a:before,
.typeParticular .listing .pagination ul li.next a:before,
.typeParticular .listing .file::before,
.typeParticular .template .listing .file .link::after,
.typeParticular .listing .accordion .toggle::before,
.typeParticular .listing .accordion .toggle::after,
.typeParticular .listing .accordion .description ul li::before,
.typeParticular .listing.module20 .image-item.bullet .image > div::before,
.typeParticular .listing.module20 .image-item.number .image > div::before,
.typeParticular .listing.module20 .image-item.icon .image > .icon,
.typeParticular .listing.module20 .image-item.bullet .image span::before,
.typeParticular .template-module .cta,
.typeParticular .template-module.module21 .title,
.typeParticular .listing.module25 .card-wrapper .card .tag-wrapper .tag,
.typeParticular .listing.module25 .card-wrapper .card .note:has(span),
.typeParticular .cards-module .tag-container .tag.selected,
.typeParticular footer > div:not(.newsletter)::before,
.typeParticular header.fixed .header-content>div>ul li.active a::after,
.typeParticular header.fixed .header-content>div>ul li:hover a::after, 
.typeParticular header.fixed .header-content>div .header-menu ul li:hover a::after, 
.typeParticular header.fixed .header-content>div .header-menu ul li.active a::after,
.typeParticular header.mobile .header-menu ul > li.active:has(.subsubmenu-wrapper.open)>span::before,
.typeParticular header.mobile .header-menu ul > li.active:has(.submenu-wrapper.open)>span::before,
.typeParticular header.mobile .header-menu ul>li .submenu-wrapper ul>li:active .submenu-arrow::before,
.typeParticular header.mobile .header-content>.header-menu>ul>li:hover>a+div+span::before,
.typeParticular header.mobile .header-menu ul>li .submenu-wrapper ul>li:hover .submenu-arrow::before,
.typeParticular header .menu ul li.sub .open-submenu span,
.typeParticular header .menu ul li.sub .open-menu span,
.typeParticular .button:before,
.typeParticular .testemunhos:not(.t_google) .slide > div:before{
    background-color: var(--typeRed);
}

.typeParticular .listing .file .image {
    background-image: linear-gradient(to left, var(--typeRed), var(--typeRed));
}

.typeParticular .template-module .thumbnail-slider .slide.tns-nav-active > div, 
.typeParticular .template-module .thumbnail-slider .slide:hover > div {
	border: 1px solid rgb(var(--typeRed));
}



.typeEmpresas .template h2 strong,
.typeEmpresas .template .h2 strong,
.typeEmpresas .template h3 strong,
.typeEmpresas .template .h3 strong,
.typeEmpresas .template h4 strong,
.typeEmpresas .template .h4 strong,
.typeEmpresas .template h5 strong,
.typeEmpresas .template .h5 strong,
.typeEmpresas .template .template-module small a,
.typeEmpresas .template .template-module ul a,
.typeEmpresas .listing.module20 .image-item a:not(.button),
.typeEmpresas .template .template-module p a,
.typeEmpresas .template .template-module td a,
.typeEmpresas .template-module ol li::before,
.typeEmpresas .template .listing .file .link,
.typeEmpresas .template .listing .accordion.open > div:first-of-type > h1,
.typeEmpresas .template .listing .accordion.open > div:first-of-type > .h1,
.typeEmpresas .template .listing .accordion.open > div:first-of-type > h3,
.typeEmpresas .template .listing .accordion.open > div:first-of-type > .h3,
.typeEmpresas .template .listing .accordion.open > div:first-of-type > h2,
.typeEmpresas .template .listing .accordion.open > div:first-of-type > .h2,
.typeEmpresas .template .listing .accordion.active > div:first-of-type > h1,
.typeEmpresas .template .listing .accordion.active > div:first-of-type > .h1,
.typeEmpresas .template .listing .accordion.active > div:first-of-type > h3,
.typeEmpresas .template .listing .accordion.active > div:first-of-type > .h3,
.typeEmpresas .template .listing .accordion.active > div:first-of-type > h2,
.typeEmpresas .template .listing .accordion.active > div:first-of-type > .h2,
.typeEmpresas .listing .filter > div:hover,
.typeEmpresas .listing .filter > div.selected,
.typeEmpresas .listing .filter > div.active,
.typeEmpresas .listing .accordion.numbered > div:first-child::before,
.typeEmpresas .template .listing .accordion:hover > div:first-of-type > *:first-of-type,
.typeEmpresas .listing.module20 .image-item.number .image span,
.typeEmpresas .template-module .header p,
.typeEmpresas .template-module .phone-cta div span,
.typeEmpresas .card-item .category,
.typeEmpresas header.mobile .header-content > .header-menu > ul  li.active > a,
.typeEmpresas header.mobile .header-content>.header-menu>ul>li.active:has(.submenu-wrapper.open)>a,
.typeEmpresas header.mobile .header-content>.header-menu>ul>li.active>a+div+span::before,
.typeEmpresas header.mobile .header-menu ul>li .submenu-wrapper ul>li.active>a,
.typeEmpresas header .header-menu ul>li .submenu-wrapper ul li:hover>a,
.typeEmpresas header .header-menu .submenu-wrapper li:has(.subsubmenu-wrapper:hover)>a,
.typeEmpresas header.mobile .header-content>.header-menu>ul>li:hover>a,
.typeEmpresas header.mobile .header-menu ul>li .submenu-wrapper li a:hover{
    color: var(--typeBlue);
}

.typeEmpresas .template blockquote::after,
.typeEmpresas .template p big::before,
.typeEmpresas big::after,
.typeEmpresas blockquote::before,
.typeEmpresas .template-module:not(.search-results) ul li::before,
.typeEmpresas .template-module .table-wrapper.swipe .swipeIcon::before,
.typeEmpresas .template .listing .file .link::after,
.typeEmpresas .listing .filter > div::before,
.typeEmpresas .listing .filter .line,
.typeEmpresas .listing .pagination ul li.prev a:before,
.typeEmpresas .listing .pagination ul li.next a:before,
.typeEmpresas .listing .file::before,
.typeEmpresas .template .listing .file .link::after,
.typeEmpresas .listing .accordion .toggle::before,
.typeEmpresas .listing .accordion .toggle::after,
.typeEmpresas .listing .accordion .description ul li::before,
.typeEmpresas .listing.module20 .image-item.bullet .image > div::before,
.typeEmpresas .listing.module20 .image-item.number .image > div::before,
.typeEmpresas .listing.module20 .image-item.icon .image > .icon,
.typeEmpresas .listing.module20 .image-item.bullet .image span::before,
.typeEmpresas .template-module .cta,
.typeEmpresas .template-module.module21 .title,
.typeEmpresas .listing.module25 .card-wrapper .card .tag-wrapper .tag,
.typeEmpresas .listing.module25 .card-wrapper .card .note:has(span),
.typeEmpresas .cards-module .tag-container .tag.selected,
.typeEmpresas footer > div:not(.newsletter)::before,
.typeEmpresas header.fixed .header-content>div>ul li.active a::after,
.typeEmpresas header.fixed .header-content>div>ul li:hover a::after, 
.typeEmpresas header.fixed .header-content>div .header-menu ul li:hover a::after, 
.typeEmpresas header.fixed .header-content>div .header-menu ul li.active a::after,
.typeEmpresas header.mobile .header-menu ul > li.active:has(.subsubmenu-wrapper.open)>span::before,
.typeEmpresas header.mobile .header-menu ul > li.active:has(.submenu-wrapper.open)>span::before,
.typeEmpresas header.mobile .header-menu ul>li .submenu-wrapper ul>li:active .submenu-arrow::before,
.typeEmpresas header.mobile .header-content>.header-menu>ul>li:hover>a+div+span::before,
.typeEmpresas header.mobile .header-menu ul>li .submenu-wrapper ul>li:hover .submenu-arrow::before,
.typeEmpresas header .menu ul li.sub .open-submenu span,
.typeEmpresas header .menu ul li.sub .open-menu span,
.typeEmpresas .button:before,
.typeEmpresas .testemunhos:not(.t_google) .slide > div:before{
    background-color: var(--typeBlue);
}

.typeEmpresas .listing .file .image {
    background-image: linear-gradient(to left, var(--typeBlue), var(--typeBlue));
}

.typeEmpresas .template-module .thumbnail-slider .slide.tns-nav-active > div, 
.typeEmpresas .template-module .thumbnail-slider .slide:hover > div {
	border: 1px solid rgb(var(--typeBlue));
}

