/* Thin (100) */
@font-face {
    font-family: "Poppins";
    font-weight: 100;
    font-style: normal;
    src: url("../fonts/poppins/Poppins-Thin.ttf") format("truetype");
}
  
/* Extra Light (200) */
@font-face {
    font-family: "Poppins";
    font-weight: 200;
    font-style: normal;
    src: url("../fonts/poppins/Poppins-ExtraLight.ttf") format("truetype");
}

/* Light (300) */
@font-face {
    font-family: "Poppins";
    font-weight: 300;
    font-style: normal;
    src: url("../fonts/poppins/Poppins-Light.ttf") format("truetype");
}
  
/* Regular (400) */
@font-face {
    font-family: "Poppins";
    font-weight: 400;
    font-style: normal;
    src: url("../fonts/poppins/Poppins-Regular.ttf") format("truetype");
}
  
/* Medium (500) */
@font-face {
    font-family: "Poppins";
    font-weight: 500;
    font-style: normal;
    src: url("../fonts/poppins/Poppins-Medium.ttf") format("truetype");
}
  
/* Semi Bold (600) */
@font-face {
    font-family: "Poppins";
    font-weight: 600;
    font-style: normal;
    src: url("../fonts/poppins/Poppins-SemiBold.ttf") format("truetype");
}
  
/* Bold (700) */
@font-face {
    font-family: "Poppins";
    font-weight: 700;
    font-style: normal;
    src: url("../fonts/poppins/Poppins-Bold.ttf") format("truetype");
}
  
/* Extra Bold (800) */
@font-face {
    font-family: "Poppins";
    font-weight: 800;
    font-style: normal;
    src: url("../fonts/poppins/Poppins-ExtraBold.ttf") format("truetype");
}
  
/* Black (900) */
@font-face {
    font-family: "Poppins";
    font-weight: 900;
    font-style: normal;
    src: url("../fonts/poppins/Poppins-Black.ttf") format("truetype");
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}  
body {
    color: var(--black);
    line-height: 1.5 !important;
}  
:root {
    --pink:#ff367a;
    --blue: #4773b6;
    --yellow: #e8dc28;
    --white: #ffffff;
    --text-clr: #000000;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2;
}
h1{
    font-size: 60px;
    font-weight: 300;
}
h2 {
    font-size: 36px;
    font-weight: 500;
    line-height: 1.4;
}
  
h3 {
    font-size: 32px;
    font-weight: 400;
}
  
h4 {
    font-size: 28px;
    padding-bottom: 10px;
}
 
h5 {
    font-size: 24px;
    font-weight: 500;
}
  
h6 {
    font-size: 20px;
    font-weight: 400;
}
  
p {
    font-size: 16px;
}

.primary-button{
    padding: 12px 24px;
    background-color: var(--blue);
    border: 1px solid var(--blue);
    text-decoration: none;
    border-radius: 10px;
    color: var(--white);
    font-size: 16px;
    font-weight: 500;
}
.primary-button:hover{
    background-color: var(--pink);
    border-color: var(--pink);
    color: var(--white);
}
.secondary-button {
    padding: 12px 24px;
    background-color: var(--pink);
    border: 1px solid var(--pink); 
    border-radius: 10px;
    text-decoration: none;
    color: var(--white);
    font-size: 16px;
    font-weight: 600;
    margin-top: 16px;
}
.secondary-button:hover{
    /* border: 1px solid var(--blue); 
    background-color: var(--blue); */
    color: var(--white);
}
.yellow-button{
    background-color: var(--yellow);
    border: 1px solid var(--yellow);
    color: var(--text-clr);
}
.yellow-button:hover{
   background-color: var(--blue);
   border: 1px solid var(--blue);
}
.blue-text{color: var(--blue);}
.pink-text{color: var(--pink); font-weight: 600;}

.left-padding{padding-left: 8rem;}
.section-padding{padding: 60px 0}
.bottom-space{margin-bottom: 2rem;}
.mobile-banner, .top-header-mobile{display: none; list-style-type: none;}
.center-section{
    display: flex;
    justify-content: center;
}

  /* Navigation */
.top-header img{
    height: 24px;
    width: 24px;
    margin-right: 5px;
}
.nav-item{
    padding: 0 4px;
}
#navbarNav .menu-items {
    padding: 10px 0;
}
.nav-link{font-size: 16px; color: var(--black); font-weight: 500;border-bottom: 2px solid var(--white);}
.navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus{
    border-bottom: 2px solid var(--blue);
   color: var(--blue) !important;
   font-weight: 600;
}
.navbar-brand img{height: 4em;}
.navbar-nav{white-space: nowrap;}
.navbar-container .dropdown-menu{
    background-color: #e8dc28;
    border: none;
}
.navbar-container .dropdown-item:hover, .navbar-container .dropdown-item:active, .navbar-container .dropdown-item:focus {
    color: black;
    text-decoration: none;
    background-color: transparent;
}
/* homebanner */
.carousel-control-next, .carousel-control-prev {
    width: 8%;
}
.carousel-inner{
    max-height: 84vh;
}
.home-banner .carousel-indicators{z-index: 1;}
.home-banner .carousel-indicators .active{height:3px; width: 30px;}
.carousel-caption {
    position: absolute; /* Make the text overlay the image */
    color: black; /* Ensure visibility */
    text-align: left;
    display: flex;
    inset: 0;
    align-items: center;
    z-index: 0;
}
.home-banner .carousel-inner .carousel-item .carousel-caption .container{
    max-width: 1560px;
    width: 100%;
}
.carousel-caption .carousel-caption-content p{
    font-size: 28px;
    font-weight: 200;
    margin: 20px 0;
}
.carousel-caption .button-text{
    margin: 32px 0;
}
/* card section */
.telemedicine-card-section{
    padding: 7rem 6rem;
    background-color: #EDF1F8;
}
.telemedicine-card-section .card{
    padding: 30px 30px 40px 30px;
    border: 0px solid rgba(0, 0, 0, .125);
    border-radius: 1rem;
    box-shadow: 0 0 8px 1px #8080802b;
}
.telemedicine-card-section .img-container{
    position: relative;
    width: 100px;
     height: 84px;  
    margin-bottom: 16px;
}
.telemedicine-card-section .hover-icon {
    position: absolute;
    left: 0;
    opacity: 0; /* Hide hover icon initially */
}
.telemedicine-card-section .card-img-top{
    transition: opacity 0.3s ease-in-out;
    margin-bottom: 20px;
}
.telemedicine-card-section .card:hover{
    background-color: var(--blue);
    color: var(--white);
}
.telemedicine-card-section .card:hover .default-icon {
    opacity: 0; /* Hide default icon */
}
.telemedicine-card-section .card:hover .hover-icon {
    opacity: 1; /* Show hover icon */
}
.telemedicine-card-section .card:hover .secondary-button{
    border: 1px solid var(--white); 
    background-color: var(--white);
    color: var(--blue);
}
.telemedicine-card-section .card-title{font-size: 25px; margin-bottom: 0.8rem;}
.telemedicine-card-section .card-body{padding: 0;}
.telemedicine-card-section .card-footer {
    padding: 0;
    background-color: transparent;
    border-top: none;
}
/* testimoinal section */
.testimonial-section {
    text-align: center;
    padding: 6rem 0;
    background-image: url('https://cmcfresno.com/wp-content/uploads/2026/01/Rectangle-345-scaled.png');
    background-position: center top; 
    background-repeat: no-repeat;
    background-size: cover;
}
.testimonial-section .swiper-button-next, .testimonial-section .swiper-button-prev {
    color: var(--blue);
}
.highlight {
    color: var(--pink);
}
.testimonial-card {
    background: white;
    padding: 24px 45px;
    border-radius: 12px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.stars {
    margin-bottom: 24px;
}
.testimonial-card strong {
    display: block;
    margin-top: 10px;
    font-weight: bold;
}
/* Swiper Customizations */
.swiper {
    width: 100%;
    padding-bottom: 50px;
    height: 100%;
}
.swiper-button-next,
.swiper-button-prev {
    color: #333;
}
.mySwiper .swiper-button-next,
.mySwiper .swiper-button-prev {
    top: 40%;
    transform: translate(-50%);
}

/* welcome-section */
.new-welcome-section{
    padding: 8rem 10rem;
}
.new-welcome-section img{
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border-radius: 15px;
}

/* service-section */
.service-section{
    text-align: center;
    padding: 8rem 10rem;
    background-image: url('https://cmcfresno.com/wp-content/uploads/2026/01/Rectangle-348.png');
    background-position: center top; 
    background-repeat: no-repeat;
    background-size: cover;
}
.service-card{
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
    border: none;
    border-radius: 28px;
    padding: 20px;
}
.service-img{
    margin-bottom: 16px;
    border-radius: 28px;
}
.service-card .card-text{
    color: #878787;
    padding: 10px 0;
}
.service-card .card-footer{
    border: none;
    background: none;
}

/* appointment section */
.appointment-section{
    padding: 8rem 10rem;
}
.appointment_content{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 20px 16px;
    margin-bottom: 10px;
}
.appointment_content:hover{
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
    margin-bottom: 10px;
}
.provider-section{
    background-color: #EDF1F8;
    padding: 8rem 10rem;
}
.provider-content{
    text-align: right;
    margin-bottom: 40px;
}
/* Insurance Section */
.insurance-section{
    background-image: url('../../assets/img/papyrus.png');
    padding: 8rem 10rem;
}
.faq-section{
    background-color: #F9EFEF;
    padding: 8rem 12rem;
}
/* location */
.location-section{
    padding: 6rem;
}
.cmc-locations .tabs {
    display: flex;
    border-bottom: 1px solid #ddd;
    margin-bottom: 30px;
  }
  .cmc-locations .tab {
    background: none;
    border: none;
    padding: 8px 20px;
    margin-right: 10px;
    color: var(--blue);
    cursor: pointer;
  }
  .cmc-locations .tab.active {
    background: var(--pink);
    color: #fff;
    border-radius: 6px 6px 0 0;
    margin-bottom: -1px;
  }
  .contact-item {
    display: flex;
    margin-bottom: 20px;
  }
  .contact-item .icon {
    flex: 0 0 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd;
    border-radius: 50%;
    margin-right: 15px;
    font-size: 24px;
    color: #333;
  }
  .contact-item .details .label {
    font-weight: 600;
    margin-bottom: 5px;
    color: #444;
    font-size: 16px;
    padding: 0;
  }
  .contact-item .details p {
    margin: 2px 0;
  }
  .contact-item .details a {
    color: var(--blue);
    text-decoration: none;
  }
  .hours-table {
    background: var(--blue);
    border-radius: 6px;
    padding: 20px;
    color: #fff;
  }
  .hours-table table {
    width: 100%;
    border-collapse: collapse;
  }
  .hours-table td {
    border: 1px solid #fff;
    padding: 8px;
  }
  .hours-table td:first-child {
    font-weight: 600;
  }
  .hours-table .note {
    padding-top: 8rem;
    font-style: italic;
    text-align: left;
    padding-left: 0;
    }
/* blog */
.blog-section{
    padding: 2rem 4rem;
    background: #EDF1F8;
}
.blog-section .container{padding: 0 15px;}
.blog-card{
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.blog-card img{
    width: 100%;
    border-top-right-radius: 12px;
    border-top-left-radius: 12px;
}
.blog-content{
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.blog-title{
    margin-bottom: 10px;
}
.blog-description{
    margin-bottom: 24px;
}
.blog-section .read-more {
  margin-top: auto; /* pushes the button to the bottom */
   text-decoration: none;
    color: var(--blue);
    font-size: 18px;
}
.read-more:hover{
    color: var(--blue);
}

    .faq-banner {
      background-color: #4474b8;
      padding: 80px 20px;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .faq-container {
      display: flex;
      align-items: center;
      justify-content: start;
      max-width: 1200px;
      width: 100%;
      gap: 70px;
      flex-wrap: wrap;
    }
    .faq-image img {
      max-width: 245px;
      height: auto;
    }
    .faq-text h1 {
      color: #ffffff;
      font-size: 60px;
      font-weight: bold;
      line-height: 1.3;
    }
    .faq-content {
      padding: 80px 20px;
    }
    .faq-content .container, .child-appointment-section .container{padding:0 15px;}
    .faq-accordion{
      max-width: 100%;
      display: flex;
      flex-direction: column;
      margin: auto;
    }
    .faq-accordion-item {
      border: none;
      margin-bottom: 15px;
    }

    .faq-accordion-title {
      background-color: #f5f5f5;
      color: #000;
      padding: 18px 20px;
      font-weight: 600;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-radius: 8px;
      transition: 0.3s ease;
      font-size: 20px;
    }

    .faq-accordion-title.active {
      background-color: #eaf1f9;
      color: #3766b1;
      /* Blue title when active */
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }

    .faq-accordion-title span.icon {
      font-size: 24px;
      transition: transform 0.3s ease;
      color: #444;
    }

    .faq-accordion-content {
      display: none;
      padding: 20px;
      background-color: #eaf1f9;
      color: #444;
      border-bottom-left-radius: 8px;
      border-bottom-right-radius: 8px;
      line-height: 1.6;
    }
    .faq-accordion-content ul,ol{
      padding: 20px;
    }

    .faq-accordion-content a {
      color: #3766b1;
      text-decoration: underline;
    }

    .faq-accordion-content.open {
      display: block;
    }

    .faq-header {
      background-color: #4674BA;
    }

/* Responsive for mobile */
@media screen and (max-width: 400px){
    .home-banner .carousel-inner .carousel-caption-content h1 {
        font-size: 28px !important;
    }
    .home-banner .carousel-inner .carousel-caption-content p {
        font-size: 20px !important;
    }
    .primary-button {
        padding: 12px 16px !important;
    }
}
@media screen and (max-width: 500px){
    .section-padding {
        padding: 40px 0;
    }
    .top-header-mobile img{
        width: 40px;
        height: 40px;
    }
}
@media screen and (max-width: 600px) {
    .telemedicine-card-section, .appointment-section, .provider-section, .insurance-section,  .faq-section, .location-section, .new-welcome-section, .service-section{
        padding: 4rem 2rem !important;
    }
    .service-section {
        padding: 3rem 2rem !important;
    }
    .blog-section{
        padding: 2rem !important;
    }
    .faq-accordion{
      max-width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .top-header{
        display: none;
    }
    .top-header-mobile{
        display: block !important;
        padding-left: 0;
        text-align: center;
    }
    .top-header-icon{width: 30px !important; height:30px !important;}
    .mobile-banner{
        display: block !important;
        width: 100%;
        height: 90dvh;
    }
    .desktop-banner{
        display: none !important;
    }
    .navigation-bar{
        display: flex;
        flex-direction: column-reverse;
    }
    .top-header{
        flex-direction: column;
        justify-content: center;
    }
    .telemedicine-card-section .card {
        padding: 24px 24px 30px 24px;
    }
    .new-welcome-section, .service-section {
        padding: 4rem 2rem;
    }
    .testimonial-section h2,.appointment-section h2,.provider-section h2, .faq-section h2, .location-section h2,.blog-section h2, .new-welcome-section h2,.service-section h2{font-size: 28px;}
    .section-padding {
        padding: 20px 0;
    }
    .service-section {
        padding: 3rem 4rem;
    }
    .cmc-locations .tabs {
        flex-wrap: wrap;
    }
    .cmc-locations .tab {
        margin-bottom: 10px;
    }
    
      .faq-banner, .faq-content, .child-appointment-section{
        padding: 60px 30px !important;
      }
      .faq-container {
        flex-direction: column;
        text-align: center;
        gap:10px;
      }

      .faq-text h1 {
        font-size: 30px;
      }
      .faq-image img {
        max-width: 120px;
      }
      .mb-20{margin-bottom: 20px;}
      .mb-24{margin-bottom: 24px;}
      .mySwiper .swiper-button-next, .mySwiper .swiper-button-prev {display: none;}
}
@media screen and (min-width: 992px) {
    #navbarNav .menu-items{
        display: flex;
    }
}
@media screen and (max-width: 992px) {
    .primary-button{
        padding: 12px 24px;
    }
    .carousel-caption .button-text {
        margin: 12px 0;
    }
    .home-banner .carousel-inner .carousel-caption{
        display: block;
        padding: 0 16px;
    }
    .home-banner .carousel-inner .carousel-caption-content h1{
        font-size: 32px !important;
    }
    .carousel-caption .carousel-caption-content p{font-size: 20px;}
    .provider-content{
        text-align: left !important;
    }
    .left-padding {
        padding-left: 20px !important;
    }
    #navbarNav .menu-items {
        text-align: center;
    }
    .nav-item{border-bottom: 1px solid #f3f3f3;}
    .image-col, .text-col{
        flex: 0 0 100% !important;
    }
}
@media screen and (min-width: 993px) and (max-width: 1024px) {
    .home-banner .carousel-inner .carousel-caption-content h1{
        font-size: 36px !important;
    }
    .home-banner .carousel-inner .carousel-caption-content p{
        font-size: 18px !important;
    }
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
    .home-banner .carousel-inner .carousel-caption-content h1{
        font-size: 44px !important;
    }
    .home-banner .carousel-inner .carousel-caption-content p{
        font-size: 20px !important;
    }
    .appointment_content img{
        height: 56px;
        width: 56px;
    }
}

@media screen and (max-width: 1440px){
    .left-padding {
        padding-left: 4rem;
    }
    .telemedicine-card-section, .new-welcome-section, .service-section, .appointment-section, .provider-section, .insurance-section, .faq-section, .location-section {
        padding: 4rem;
    }
}
@media screen and (min-width: 1200px) and (max-width: 1600px){
    .home-banner .carousel-inner .carousel-caption-content h1{font-size: 40px !important;}
    .home-banner .carousel-inner .carousel-caption-content p{
        font-size: 22px !important;
    }
}
@media screen and (min-width:768px) and (max-width: 992px){
    .faq-text h1{font-size: 40px;}
    .faq-image img {max-width: 180px;}
    .faq-container{
        justify-content: center;
    }
}
@media (min-width: 768px) {
    .home-banner .carousel-caption .container {
        max-width: 720px;
    }
}
@media (min-width: 992px) {
    .home-banner .carousel-caption .container {
        max-width: 960px;
    }
}
@media (min-width: 1200px) {
    .home-banner .carousel-caption .container {
        max-width: 1140px;;
    }
}
@media (min-width: 1400px) {
    .home-banner .carousel-caption .container {
        max-width: 1560px;
    }
}
/*faq page support section*/
.child-appointment-section{
    padding:80px 20px;
    background-color: #f3f3f3;
}
 .section-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    max-width: 1200px;
    margin: auto;
  }
  .image-col {
    flex: 1 1 400px;
    text-align: center;
  }
  .image-col img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
  }
  .text-col {
    flex: 1 1 400px;
  }
  .text-col h3 {
    margin-bottom: 20px;
    margin-top: 0;
  }
  .text-col p {
    margin-bottom: 15px;
  }
  .child-appointment-section .section-wrapper .text-col .button-text{
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 100%;
  }