

html,body{
    scroll-padding-top: 180px !important;
}

.custom-container{
    padding-left: 15px;
    margin-left: auto;
    width: calc( ((100% - var(--custom-container)) / 2) + var(--custom-container) );
}

@media (min-width: 576px) {
    :root{
        --custom-container: 540px;
    }
}

@media (min-width: 768px) {
    :root{
        --custom-container: 720px;
    }
}

@media (min-width: 992px) {
    :root{
        --custom-container: 960px;
    }
}

@media (min-width: 1200px) {
    :root{
        --custom-container: 1140px;
    }
}

@media (min-width: 1400px) {
    :root{
        --custom-container: 1320px;
    }
}
:root{
    --bs-primary-rgb: 126, 32, 23;
    --primary-color: rgb(var(--bs-primary-rgb));
    --white-color: #fff;
    --gray-a: #7F7D7E;
    --gray-b: #5C5C6F;
    --gray-c: #424242;
    --head-title: 40px;
    --head-title-2: 48px;
    --space-a: 60px;
    --rounded-md: 20px;
    --color-a-light: #E9E9E9;
    --color-a-dark: #BCDCFF;
    --color-b-light: #FFF0F2;
    --color-b-dark: #FFCBD2;
    --color-c-light: #E0F2F1;
    --color-c-dark: #A9F6F2;
    --color-d-light: #F3E5F5;
    --color-d-dark: #CC8FD5;
    --color-e-light: #FFF8E1;
    --color-e-dark: #8D169E;
    --color-f-light: #E8F1FB;
    --color-f-dark: #028881;
    --color-g-dark: #114E92;
    --color-e-dark: #8B0B04;
    --color-f-dark: #B49428;
    --slider-btn: 50px;
}

.space-a{
    padding: var(--space-a) 0;
}

.space-a-t{
    padding-top: var(--space-a);
}

.space-a-b{
    padding-bottom: var(--space-a);
}

.text-gray-a{
    color: var(--gray-a);
}

.text-gray-b{
    color: var(--gray-b);
}

.text-gray-c{
    color: var(--gray-c);
}

.head-title{
    font-size: var(--head-title);
    font-family: 'gothammedium';
}

.head-title-2{
    font-size: var(--head-title-2);
}

.fw-bold{
    font-weight: normal !important;
    font-family: 'gothammedium';
}
p,li{
    line-height: 1.5;
}
/*  */

.s-custom-prev,.s-custom-next{
    height: var(--slider-btn);
    width: var(--slider-btn);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    transition: .5s ease;
}

.s-custom-prev path[stroke],.s-custom-next path[stroke]{
    stroke: currentColor;
}

.s-custom-prev path[fill],.s-custom-next path[fill]{
    fill: currentColor;
}

.s-custom-prev{
    color: #000;
    background: #8B0B041A;
}

.s-custom-prev:hover{
    color: var(--white-color);
    background: var(--primary-color);
}

.s-custom-next{
    color: var(--white-color);
    background: var(--primary-color);
}
.s-custom-next:hover{
    background: #7d6a55;
    color: #fff;
}
.swiper-button-lock{
    display: none !important;
}
.h-100-swiper .swiper-slide{
    height: auto !important;
}
/*  */
.custom-tabs{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.custom-tabs .cs-tb{
    color: var(--primary-color);
    background: none;
    border: 1px solid var(--primary-color);
    padding: 6px 30px;
    font-size: 18px;
    border-radius: 30px;
    font-family: 'gothammedium';
    transition: .5s ease;
}
.custom-tabs .cs-tb:not(.active):hover{
    background: rgb(126 32 23 / 24%);
}
.custom-tabs .cs-tb.active{
    background: var(--primary-color);
    color: #fff;
}
/*  */
.cs-banner .banner-figure{
    position: relative;
}
.cs-banner .banner-figure::before{
    position: absolute;
    content: '';
    inset: 0;
    z-index: 1;
    background: url(/static/web/images/lp/cancer-survivor/vector-1.png), linear-gradient(274.48deg, rgba(125, 106, 85, 0) 35.41%, #7D6A55 74.69%);
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: 18% auto, cover;
    background-position: 0 20%, 0 0;
}
.cs-banner .banner-wrapper{
    z-index: 2;
}
.cs-banner h1 span{
    font-family: 'gothammedium';
    font-weight: 900;
}
.cs-btn{
    color: var(--primary-color);
    background: var(--white-color);
    font-weight: 700;
    padding: 20px 40px;
    border-radius: 20px;
    transition: .3s ease;
}
.cs-btn:hover{
    background: var(--primary-color);
    color: var(--white-color);
}
/*  */
.bg-color-a-light{
    background: var(--color-a-light);
}
.bg-color-a-dark{
    background: var(--color-a-dark);
}
.bg-color-b-light{
    background: var(--color-b-light);
}
.bg-color-b-dark{
    background: var(--color-b-dark);
}
.bg-color-c-light{
    background: var(--color-c-light);
}
.bg-color-c-dark{
    background: var(--color-c-dark);
}
.bg-color-d-light{
    background: var(--color-d-light);
}
.bg-color-d-dark{
    background: var(--color-d-dark);
}
.bg-color-e-light{
    background: var(--color-e-light);
}
.bg-color-f-light{
    background: var(--color-f-light);
}
.pt-card{
    border-radius: var(--rounded-md);
    padding: 20px;
}
.pt-card .pt-figure{
    border-radius: var(--rounded-md);
    overflow: hidden;
    line-height: 0;
    position: relative;
}
.pt-card .pt-figure .pt-mnImg{
    aspect-ratio: 331/232;
    object-fit: cover;
    object-position: top;
}
.pt-card .pt-figure .play-btn{
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background: none;
    border: 0;
}
.pt-card .pt-figcaption .tip{
    font-size: 14px;
    color: #000;
    font-weight: 500;
    display: inline-block;
    padding: 8px 10px;
    border-radius: 12px;
    margin: 15px 0 10px;
}
.pt-card .pt-figcaption p{
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pt-card .pt-figcaption .btm-sgv h6{
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 3px;
    font-family: 'gothammedium';
}
.pt-card .pt-figcaption .btm-sgv p{
    font-size: 14px;
    color: var(--gray-a);
    font-weight: bold;
    margin: 0;
    
}
/*  */
.ldn-figure{
    aspect-ratio: 392/366;
    object-fit: cover;
    object-position: top;
}
/*  */
.serviceCard{
    padding: 30px 20px;
}
.serviceCard .srv-ico{
    height: 60px;
    width: 60px;
    border-radius: 50%;
    background: var(--white-color);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
}
.serviceCard p{
    margin-bottom: 0;
}
.serviceCard h6{
    min-height: 48px;
    margin-bottom: 8px;
}
/*  */
.latCard{
    --pad-t: 20px;
    --pad-b: 20%;
    --pad-x: 16px;
    padding: var(--pad-t) var(--pad-x) var(--pad-b);
}
.latCard .lat-figr{
    width: 45%;
    height: auto;
    position: absolute;
    bottom: 0;
    right: 0;
    pointer-events: none;
    z-index: 1;
}
.latCard p{
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 57%;
    width: 100%;
}
.latCard .lat-view{
    position: absolute;
    bottom: var(--pad-t);
    left: var(--pad-x);
    z-index: 1;
    transition: .2s ease;
}
.latCard .lat-view svg{
    transition: .2s ease;
}
.latCard .lat-view:hover svg{
    transform: rotate(36deg);
}
/*  */
.sys-card{
    background-image: url(/static/web/images/lp/cancer-survivor/vector-2.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: 20px 0;
}
.sys-card .sys-bdg{
    display: inline-block;
    background: rgb(255 255 255 / 30%);
    font-size: 13px;
    padding: 10px;
    border-radius: 12px;
    font-weight: bold;
    color: var(--white-color);
    margin-bottom: 20px;
}
.sys-form{
    display: flex;
    flex-direction: column;
    gap: 17px;
}
.sys-form label.error{
    position: absolute;
    line-height: 1.4;
    top: 100%;
    left: 0;
    right: 0;
    color: #fff;
    font-size: 13px;
}
.sys-form .form-group{
    position: relative;
}
.sys-form .form-control{
    background: rgb(255 255 255 / 50%);
    border: 0;
    border-radius: 30px;
    padding: 10px 20px;
    margin: 0;
}
.sys-form .form-control:not(textarea){
    height: 52px;
}
.sys-form textarea.form-control{
    min-height: 100px;
    resize: none;
}
.sys-form .sys-sbmt{
    padding: 14px 50px;
    border-radius: 30px;
}

/* YouTube Video Modal Styles */
.video-modal .modal-dialog{
    max-width: 800px;
}
.video-modal .modal-content{
    background: transparent;
    border: 0;
}
.video-modal .modal-body{
    padding: 0;
    position: relative;
}
.video-modal .btn-close{
    position: absolute;
    top: -40px;
    right: 0;
    z-index: 10;
    background: white;
    opacity: 1;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    padding: 0;
    color: var(--primary-color) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
}
.video-modal .btn-close:hover{
    transform: rotate(90deg);
}
.video-modal .video-wrapper{
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    border-radius: 12px;
    background: #000;
}
.video-modal .video-wrapper iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
/* Description Modal Styles */
.description-modal .modal-dialog{
    max-width: 700px;
}
.description-modal .modal-content{
    border-radius: var(--rounded-md);
    border: 0;
}
.description-modal .modal-header{
    border-bottom: 1px solid #e9ecef;
    padding: 1.5rem 2rem;
    background: linear-gradient(135deg, var(--primary-color) 0%, #9d2819 100%);
    border-radius: var(--rounded-md) var(--rounded-md) 0 0;
}
.description-modal .modal-title{
    color: white;
    font-size: 24px;
    font-family: 'gothammedium';
    margin: 0;
}
.description-modal .modal-header .btn-close{
    background: white;
    color: var(--primary-color) !important;
    opacity: 1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    filter: none;
    transition: transform 0.2s ease;
}
.description-modal .modal-header .btn-close:hover{
    transform: rotate(90deg);
}
.description-modal .modal-body{
    padding: 2rem;
    font-size: 16px;
    line-height: 1.8;
    color: var(--gray-c);
}
.description-modal .modal-body p{
    margin-bottom: 1rem;
}
.description-modal .modal-body p:last-child{
    margin-bottom: 0;
}
@media (max-width: 1200px) {
    :root{
        --head-title: 32px;
    }
    .cs-banner .banner-wrapper h1{
        font-size: var(--head-title);
    }
    .cs-btn {
        padding: 14px 30px;
        border-radius: 14px;
    }
}
@media (max-width: 991px) {
    :root{
        --head-title: 30px;
        --head-title-2: var(--head-title);
    }
    .sys-card .sys-bdg {
        padding: 7px 9px;
        border-radius: 8px;
    }
    .video-modal .modal-dialog{
        padding: 0 15px;
    }
}
@media (max-width: 767px) {
    .video-modal .modal-dialog{
        margin: 0;
    }
    .video-modal .btn-close{
        width: 28px;
        height: 28px;
        top: -35px;
    }
    .description-modal .modal-header,
    .description-modal .modal-body{
        padding: 1.25rem 1.5rem;
    }
    .description-modal .modal-title{
        font-size: 20px;
    }
    .description-modal .modal-body{
        font-size: 15px;
    }
}
@media (max-width: 675px) {
    .cs-banner .banner-figure::before {
        background: url(/static/web/images/lp/cancer-survivor/vector-1.png), linear-gradient(274.48deg, rgba(125, 106, 85, 0) -0.59%, #00000070 100%);
        pointer-events: none;
        background-repeat: no-repeat;
        background-size: 18% auto, cover;
        background-position: 0 20%, 0 0;
    }
}
@media (max-width: 575px) {
    :root {
        --head-title: 26px;
        --rounded-md: 16px;
        --space-a: 40px;
        --slider-btn: 40px;
    }
    .head-title br{
        display: none;
    }
    .custom-container{
        width: 100%;
    }
    .pt-card{
        padding: 12px;
    }

    .pt-card .pt-figcaption .tip {
        font-size: 12px;
        padding: 5px 8px;
        border-radius: 6px;
    }
    .custom-tabs .cs-tb {
        padding: 4px 15px;
        font-size: 13px;
    }
    .custom-tabs{
        gap: 8px;
    }
    .serviceCard .srv-ico {
        margin-bottom: 1rem;
    }
    .sys-card {
        border-radius: var(--rounded-md) !important;
    }
    .serviceCard {
        padding: 20px 15px;
    }
    .s-custom-prev svg, .s-custom-next svg{
        width: 8px;
        height: auto;
    }
    html, body {
        scroll-padding-top: 72px !important;
    }
}