.pointer {
    cursor: pointer;
}
.position-absolute {
    position: absolute;
}

.position-bottom {
    bottom: 0;
}

.media {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.media-body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: auto;
}
.media, .media-body {
    overflow: visible;
}

.pills {
    display: block;
    margin-bottom: 30px;
}
.pills .pill {
    font-family: var(--heading-fonts);
    display: inline-flex;
    padding: 13px 20px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 50px;
    color: var(--font-color);
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 80%; /* 17.6px */
    }

.pills .pill.active, .pills .pill:hover {
    
    background: var(--primary-color);
    color: white;
}

.image img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.position-unset {
    position: unset;
}

.mute {
    color: var(--font-light);
}
.text-color {
    color: var(--primary-color);
}
.h-100 {
    height: 100%;
} 
.h-auto {
    height: auto;
}
.text-left {
    text-align: left;
}
.text-right {
    text-align: right;
}
.text-underline {
    text-decoration: underline;
    text-decoration-skip-ink: none;
}
.img-center {
    width: 100%;
    text-align: center;
}
.text-uppercase {
    text-transform: uppercase;
}
.uppercase {
    text-transform: uppercase;
}
.justify-center {
    justify-content: center;
    display: flex;
}
.justify-start {
    justify-content: start!important;
}
.justify-end {
    justify-content: end!important;
}
.d-block {
    display: block;
}
.d-inline-block {
    display: inline-block;
}
.align-items-top {
    align-items: start!important;
}
.align-items-bottom {
    align-items: end;
}
.align-items-center {
    align-items: center;
}
.d-none {
    display: none;
}

.d-flex {
    display: flex;
    flex-wrap: wrap;
}
.flex-nowrap {
    flex-wrap: nowrap;
}
.flex-1 {
    flex: 1;
}
.align-left {
    align-items: start;
}
.align-right {
    align-items: end;
}
.align-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.justify-content-space-between, .justify-between {
    justify-content: space-between;
}
.justify-content-start {
    justify-content: start;
}
.justify-content-end {
    justify-content: end;
}
.border-0 {
    border: 0!important;
}
.border {
    border: 1px solid var(--border-color)!important;
}
/* flex gap upto 60px */
.gap-0 {
    gap: 0;
}
.gap-3 {
    gap: 3px;
}
.gap-5 {
    gap: 5px;
}
.gap-10 {
    gap: 10px;
}
.gap-15 {
    gap: 15px;
}
.gap-20 {
    gap: 20px;
}
.gap-25 {
    gap: 25px;
}
.gap-30 {
    gap: 30px;
}
.gap-35 {
    gap: 35px;
}
.gap-40 {
    gap: 40px;
}
.gap-45 {
    gap: 45px;
}
.gap-50 {
    gap: 50px;
}
.gap-55 {
    gap: 55px;
}
.gap-60 {
    gap: 60px;
}
.gap-90 {
    gap: 90px;
}
.col-gap-90, .gap-col-90 {
    column-gap: 90px;
}
.gap-col-40 {
    column-gap: 40px;
}
.col-gap-20, .gap-col-20 {
    column-gap: 20px;
}
.gap-row-10 {
    row-gap: 10px;
}
.gap-row-20 {
    row-gap: 20px;
}
.gap-row-30 {
    row-gap: 30px;
}
.gap-row-40 {
    row-gap: 40px;
}
.flex-column {
    flex-direction: column;
}
.flex-row {
    flex-direction: row;
}
.flex-children-1 > * {
    flex: 1;
}
.fs-12 {
    font-size: 12px;
}
.fs-14 {
    font-size: 14px;
}
.fs-16 {
    font-size: 16px;
}
.fs-18 {
    font-size: 18px;
}
.fs-20 {
    font-size: 20px;
}
.fs-24 {
    /*font-size: 24px;*/
    font-size: clamp(18px, 2vw, 24px);
}
.fs-26 {
    font-size: clamp(16px, 2vw, 26px);
}
.fs-100 {
    font-size: clamp(30px, 5vw, 100px);
}
.fw-500 {
    font-weight: 500;
}
.fw-600 {
    font-weight: 600;
}
.fw-700, .bold {
    font-weight: 700;
}

.margin-auto {
    margin: 0 auto;
}
/* margin-top upto 60px */
.mt-0{
    margin-top: 0;
}
.mt-5{
    margin-top: 5px;
}
.mt-10{
    margin-top: 10px;
}
.mt-15{
    margin-top: 15px;
}
.mt-20{
    margin-top: 20px;
}
.mt-25{
    margin-top: 25px;
}
.mt-30{
    margin-top: 30px;
}
.mt-35{
    margin-top: 35px;
}
.mt-40{
    margin-top: 40px;
}
.mt-45{
    margin-top: 45px;
}
.mt-50{
    margin-top: 50px;
}
.mt-55{
    margin-top: 55px;
}
.mt-60{
    margin-top: 60px;
}
/* margin-bottom upto 60px */
.mb-0{
    margin-bottom: 0;
}
.mb-5{
    margin-bottom: 5px;
}
.mb-10{
    margin-bottom: 10px;
}
.mb-15{
    margin-bottom: 15px;
}
.mb-20{
    margin-bottom: 20px;
}
.mb-25{
    margin-bottom: 25px;
}
.mb-30{
    margin-bottom: 30px;
}
.mb-35{
    margin-bottom: 35px;
}
.mb-40{
    margin-bottom: 40px;
}
.mb-45{
    margin-bottom: 45px;
}
.mb-50{
    margin-bottom: 50px;
}
.mb-55{
    margin-bottom: 55px;
}
.mb-60{
    margin-bottom: 60px;
}
.mb-130{
    margin-bottom: 130px;
}
/* margin-right upto 20px */
.mr-0 {
    margin-right: 0px;
}
.mr-10 {
    margin-right: 10px;
}
.mr-15 {
    margin-right: 15px;
}
.mr-20 {
    margin-right: 20px;
}
.mr-40 {
    margin-right: 40px;
}

.ml-auto {
    margin-left: auto;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

/* padding upto 0 */
.p-0 {
    padding: 0!important;
}




.p-30 {
    padding: 30px;
}
.p-35 {
    padding: 35px;
}
.p-50 {
    padding: 50px;
}
/* padding-bottom upto 40px */
.pb-0 {
    padding-bottom: 0;
}
.pb-5 {
    padding-bottom: 5px;
}
.pb-10 {
    padding-bottom: 10px;
}
.pb-15 {
    padding-bottom: 15px;
}
.pb-20 {
    padding-bottom: 20px;
}
.pb-25 {
    padding-bottom: 25px;
}
.pb-30 {
    padding-bottom: 30px;
}
.pb-35 {
    padding-bottom: 35px;
}
.pb-40{
    padding-bottom: 40px;
}
.pb-45{
    padding-bottom: 45px;
}
.pb-50{
    padding-bottom: 50px;
}
.pb-60{
    padding-bottom: 60px;
}
.pb-70{
    padding-bottom: 70px;
}
/* padding-top upto 50px */
.pt-0 {
    padding-top: 0;
}
.pt-5 {
    padding-top: 5px;
}
.pt-10 {
    padding-top: 10px;
}
.pt-15 {
    padding-top: 15px;
}
.pt-20 {
    padding-top: 20px;
}
.pt-25 {
    padding-top: 25px;
}
.pt-30 {
    padding-top: 30px;
}
.pt-35 {
    padding-top: 35px;
}
.pt-40 {
    padding-top: 40px;
}
.pt-45 {
    padding-top: 45px;
}
.pt-50 {
    padding-top: 50px;
}
.pt-75 {
    padding-top: 75px;
}

.pt-115 {
    padding-top: 115px;
}
/* padding horizontal */
.px-0 {
    padding-left: 0px;
    padding-right: 0px;
}
.px-20 {
    padding-left: 20px;
    padding-right: 20px;
}
.px-40 {
    padding-left: 40px;
    padding-right: 40px;
}
.px-45 {
    padding-left: 45px;
    padding-right: 45px;
}
.px-50 {
    padding-left: 50px;
    padding-right: 50px;
}
.px-70 {
    padding-left: 70px;
    padding-right: 70px;
}
.px-110 {
    padding-left: 110px;
    padding-right: 110px;
}
/* padding vertical */
.py-15 {
    padding-top: 15px;
    padding-bottom: 15px;
}
.py-35 {
    padding-top: 35px;
    padding-bottom: 35px;
}
.py-50 {
    padding-top: 50px;
    padding-bottom: 50px;
}
.py-75 {
    padding-top: 75px;
    padding-bottom: 75px;
}
.py-130 {
    padding-top: 130px;
    padding-bottom: 130px;
}
.py-150 {
    padding-top: 150px;
    padding-bottom: 150px;
}
.p-20 {
    padding: 20px;
}
.p-110 {
    padding-top: 110px;
    padding-right: 110px;
    padding-bottom: 110px;
    padding-left: 110px;
} 

.pr-15 {
    padding-right: 15px;
}
.pr-20 {
    padding-right: 20px;
}
.pr-30 {
    padding-right: 30px;
}

/* line-height */
.lh-1 {
    line-height: 100%;
}
.lh-110 {
    line-height: 110%;
}
.lh-115 {
    line-height: 115%;
}
.lh-120 {
    line-height: 120%;
}
.lh-130 {
    line-height: 130%;
}
.lh-150 {
    line-height: 150%;
}
.lh-1-5 {
    line-height: 150%;
}
.lh-190 {
    line-height: 190%;
}
.lh-2 {
    line-height: 200%;
}


.box-shadow-none {
    box-shadow: none!important;
}

.w-50px {
    width: 50px!important;
}
.wh-50px {
    width: 50px!important;
    height: 50px!important;
}

.w-100 {
    width: 100%;
}
.w-auto {
    width: auto!important;
}
.space {
    padding-top: var(--space);
    padding-bottom: var(--space);
}
.space-sm {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
}

.space-top {
    padding-top: var(--space);
}

.space-bottom {
    padding-bottom: var(--space);
}

.space-top-sm {
    padding-top: var(--space-sm);
}

.space-bottom-sm {
    padding-bottom: var(--space-sm);
}

.text-center {
    text-align: center;
}
.text-white, 
.section-text-white * {
    color: #fff;
}
.underline {
    text-decoration: underline!important;
    text-decoration-skip-ink: none;
    text-decoration-thickness: 1px!important;
}

.color-dark {
    color: var(--font-color);
}
a.color-dark:hover {
    color: var(--primary-color);
}
.color {
    color: var(--primary-color);
}
/*
a.underline {
    text-decoration: none;
    position: relative;
    display: inline-block;
    width: fit-content;
}


a.underline:after {
    content: '';
    height: 1px;
    position: absolute;
    background: var(--primary-color);
    width: 100%;
    left: 0;
    bottom: 2px;
}*/

.dashed {
    position: relative;
}

.dashed::after {
    content: '';
    border-bottom: 1px dashed #cbcbcb;
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 30px;
}
a.mute.underline:after{
    background: var(--font-light);
}
a.mute.underline:hover, a.mute.underline:focus {
    color: var(--primary-color);
}
a.mute.underline:hover::after, a.mute.underline:focus::after {
    background: var(--primary-color);
}
.border-bottom-dotted {
    border-bottom: 2px dotted;
    border-color: var(--heading-color);
}
.bg {
    background-color: var(--bg-color) !important;
}
.bg-primary {
    background-color: var(--primary-color) !important;
}
.bg-secondary {
    background-color: var(--secondary-color) !important;
}
.bg-tertiary {
    background-color: var(--tertiary-color) !important;
}
.bg-color {
    background-color: var(--bg-color) !important;
}
.bg-white {
    background-color: white !important;
}
.bg-dark {
    background-color: var(--bg-dark) !important;
}
.bg-cool {
    background: url(../img/bg/bg-cool.jpg) no-repeat center !important;
    background-size: cover!important;
}
.primary-color {
    color: var(--primary-color);
}
.secondary-color {
    color: var(--secondary-color);
}
.rounded {
    border-radius: var(--border-radius);
    overflow: hidden;
}
.flat {
    border-radius: 0;
    overflow:auto;
}

.no-break {
        white-space: nowrap;
}

.bg-absolute {
    position: absolute;
    display: flex;
    height: 100%;
    align-items: center;
    z-index: -1;
}

.col-2 > * {
    flex: 0 1 calc( 100% / 2 - ( var(--gap) / 2 ) );
}
.col-3 > * {
    flex: 0 1 calc( 100% / 3 - ( var(--gap)*2 / 3 ) );
}
.col-4 > * {
    flex: 0 1 calc( 100% / 4 - ( var(--gap)*3 / 4 ) );
}

.col-5 > * {
    flex: 0 1 calc( 100% / 5 - ( var(--gap)*4 / 5 ) );
}

.z-1 {
    z-index: -1;
}
.z0 {
    z-index: 0;
}
.z1 {
    z-index: 1;
}
.z2 {
    z-index: 2;
}

.p-relative {
    position: relative;
    z-index: 1;
}

/* col-xl-* upto 100% */
.col-xl-0 {
    width: 0%;
}
.col-xl-5 {
    width: 5%;
}
.col-xl-10 {
    width: 10%;
}
.col-xl-15 {
    width: 15%;
}
.col-xl-20 {
    width: 20%;
}
.col-xl-25 {
    width: 25%;
}
.col-xl-30 {
    width: 30%;
}
.col-xl-35 {
    width: 35%;
}
.col-xl-40 {
    width: 40%;
}
.col-xl-45 {
    width: 45%;
}
.col-xl-50 {
    width: 50%;
}
.col-xl-55 {
    width: 55%;
}
.col-xl-60 {
    width: 60%;
}
.col-xl-65 {
    width: 65%;
}
.col-xl-70 {
    width: 70%;
}
.col-xl-75 {
    width: 75%;
}
.col-xl-80 {
    width: 80%;
}
.col-xl-85 {
    width: 85%;
}
.col-xl-90 {
    width: 90%;
}
.col-xl-95 {
    width: 95%;
}
.col-xl-100 {
    width: 100%;
}
.col-auto {
    flex: 1 0 0%;
}

.order-1 {
    order: 1;
}
.order-2 {
    order: 2;
}

.d-table {
    display: table;
}