

body .side-pp h2:first-child,
body .side-pp h3:first-child,
body .side-pp h4:first-child,
body .side-pp ul:first-child,
body .side-pp ol:first-child {
	margin-top: 0;
}

body .side-pp h2:last-child,
body .side-pp h3:last-child,
body .side-pp h4:last-child,
body .side-pp p:last-child,
body .side-pp ul:last-child,
body .side-pp ol:last-child {
	margin-bottom: 0;
}

.template hr {
    background-color: #ebe9e9;
    height: 1px;
    border: none;
}



/***************************/
/*******  Template *********/
/***************************/

.template {

    /* width: 100%; */
    margin-inline: auto;
}
.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: 600;
    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 h2 strong,
.template .h2 strong{
    color: var(--primary);
    font-weight: 600;
}

.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: 600;
}

.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, .play),
.template .listing .accordion a:not(.button, .play),
.template .template-module p a,
.template .template-module td a,
.template p strong > a,
.template a strong,
.template a b {
    display: inline-flex;
    font-weight: 600;
    transition: var(--transition);
    color: var(--primary);
    position: relative;
}

.template .template-module td a,
.template .template-module p a,
.template .listing .accordion a:not(.button, .play),
.template .listing .accordion strong a,
.listing.module20 .image-item a:not(.button, .play),
.template .listing .accordion a strong,
.template p strong > a,
.template a strong,
.template a b {
    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 small a:hover,
.template ul a:hover,
.template p a:hover {
    color: var(--primary);
}


.template small, 
p small {
    font-size: 14px;
    display: inline-block;
     
}

.template strong small,
p b small {
    font-weight: bold;
}

/* .template small {
    margin: 0.8em 0;
}  */

.template small.text-center {
    width: 100%;
} 

.template blockquote > *,
.template p big {
    font-family: var(--font-family);
    position: relative;
    display: block;
    font-size: 1.375rem !important;
    font-weight: 600;
    line-height: 1.45 !important;
    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{
    content: ' ';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: var(--primary);
    opacity: 0.07;
}

.contacts .template blockquote::after{
    opacity: 0.1;
}

.rounded .template blockquote::after{
    border-radius: 30px;
}

.template p sup,
.template p sub{
    font-size: 13px;
}


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: 26px;
    counter-reset: item;
    padding-left: 26px;
}

.template ul li::before {
    content: "";
    display: inline-block;
    height: 6px;
    display: inline-flex;
    width: 6px;
    border-radius: 100%;
    margin-left: -25px;
    margin-right: 20px;
    background-color: var(--primary);
    align-items: center;
}


.template ul li ul, 
.template ol li ol,
.template ul li ol,
.template ol li ul{
    padding-left: 30px;
}


.template 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: -25px;
    margin-right: 8px;
    width: 16px;
}


/***************************************************/
/***************** MODULE TABLE ********************/
/**************************************************/



.template-module .table-wrapper{
    display: inline-block;
    width: 100%;
}

.template-module .table-wrapper table {
    min-width: 100%;
}

.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);
}



.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;
}




@media(max-width: 768px) {

    .template h2, .template .h2 {
        font-size: 26px;
        line-height: 1.16;
    }

    .template h3, .template .h3 {
        font-size: 24px;

    }
    .template h4, .template .h4 {
        font-size: 20px;
        font-weight: bold;
        line-height: normal;
    }

    .template ul,
    .template ol,
    .template p {
        font-size: 18px;
        line-height: 1.61;
        margin-block: 11px;
    }

    .template blockquote small,
    .template small, 
    p small {
        font-size: 13px;
        line-height: 1.45;
    }

    .template blockquote p, .template p big {
        font-size: 22px;
        line-height: 1.33;
    }

    .template p big {
        padding: 30px 0px 30px 30px;
    }

    .template p:has(big), .template blockquote {
        border-radius: 0px;
        margin-inline: -20px;
        margin-block: 24px;
    }


    .template table, 
    .template table td, 
    .template table tr, 
    .template table th {
        font-size: 18px;
        line-height: 1.66;
        padding: 13px 17px;
    }

    




    .template ol li::before {
        font-size: 18px;
        font-weight: 600;
    }


    .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;
    }
}