section.content {
    min-height: calc(100vh - 487px);
    /* overflow: hidden; */
    position: relative;
}

.container.container-tmp {
    max-width: 1120px;
}

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:not(:has(.listing,.template-module)){
    display: none;
} */


.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: 12px;
    line-height: 1.45;
}

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: 768px) {

        
    .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: 768px) {

    .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;
}


.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: 768px) {
    .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;
    }
}