/*!
Theme Name: InGoodTime
Author: tpteam
Version: 1.0.0
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ingoodtime
*/

:root {
  --primary: #7214c1;
  --secondary: #2cff05;
}

.sbi_feedtheme_header_text h3 {
    font-family: sans-serif;
}

html {
  scroll-behavior: smooth;
}
/* Fonts Include Here */
/* -------------------------
   Avenir LT Pro Font Family
---------------------------- */
@font-face {
  font-family: "AvenirLTPro";
  src: url("fonts/avenir-lt-pro/AvenirLTProRoman.otf") format("opentype");
  font-weight: 400;
}

@font-face {
  font-family: "AvenirLTPro";
  src: url("fonts/avenir-lt-pro/AvenirLTProBook.otf") format("opentype");
  font-weight: 300;
}

@font-face {
  font-family: "AvenirLTPro";
  src: url("fonts/avenir-lt-pro/AvenirLTProMedium.otf") format("opentype");
  font-weight: 500;
}

@font-face {
  font-family: "AvenirLTPro";
  src: url("fonts/avenir-lt-pro/AvenirLTProLight.otf") format("opentype");
  font-weight: 200;
}

@font-face {
  font-family: "AvenirLTPro";
  src: url("fonts/avenir-lt-pro/AvenirLTProHeavy.otf") format("opentype");
  font-weight: 700;
}

@font-face {
  font-family: "AvenirLTPro";
  src: url("fonts/avenir-lt-pro/AvenirLTProBlack.otf") format("opentype");
  font-weight: 900;
}

/* -------------------------
      The Seasons Font 
---------------------------- */
@font-face {
  font-family: "TheSeasons";
  src: url("fonts/The Seasons Font/Fontspring-DEMO-theseasons-reg.otf") format("opentype");
  font-weight: 400;
}

@font-face {
  font-family: "TheSeasons";
  src: url("fonts/The Seasons Font/Fontspring-DEMO-theseasons-bd.otf") format("opentype");
  font-weight: 700;
}

@font-face {
  font-family: "TheSeasons";
  src: url("fonts/The Seasons Font/Fontspring-DEMO-theseasons-lt.otf") format("opentype");
  font-weight: 300;
}


body{
  font-family: "AvenirLTPro";
      font-weight: 300;
}
h1, h2, h3, h4, h5, h6{
  font-family: "TheSeasons";
      font-weight: 600;
}

   .goodtime-main .ingood-headerbtn {
    width: max-content;
    text-align: center;
    min-width: max-content;
}
  /* Sticky header */
   .goodtime-main  .sticky-active {
        background-color: white !important;
        color: black !important;
        transition: background-color 0.3s ease, color 0.3s ease, padding 0.3s ease;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        position:fixed!important;
    }

    /* Logo shrink */
   .goodtime-main .logo-small {
        width: 16% !important;
    }

    /* Mobile dropdown animation */
  .goodtime-main   .mobile-menu-open {
        max-height: 400px;
        opacity: 1;
    }
   .goodtime-main  .mobile-menu-close {
        max-height: 0;
        opacity: 0;
    }

/* Hero section css start here */
 .goodtime-main .goodtime-hero  .hero-left-col {
    padding: 0px  10vh 0px;
}

 /* play button styling */
    .goodtime-main  .play-btn {
      width: 120px;
      height: 120px;
      border-radius: 9999px;
      background: white;
      border: 6px solid var(--secondary);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    }
     .goodtime-main .play-btn:hover {
      transform: scale(1.05);
      transition: 0.2s;
    }

 /* Video Play Icon animation */
      @keyframes ping-ripple {
    0% {
        transform: scale(0.5);
        opacity: 1;
    }
    100% {
        transform: scale(1.2);
        opacity: 0.5;
    }
     0% {
        transform: scale(1);
         opacity: 0.5;
    }
}

.goodtime-main .animate-ping-ripple {
    animation: ping-ripple 1.5s linear infinite;
}

/* Gradient rotating border */
@keyframes rotateBorder {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.goodtime-main .play-gradient-border {
    position: relative;
}

.goodtime-main .play-gradient-border ::before {
    content: "";
    position: absolute;
    inset: -4px; /* border thickness */
    border-radius: 9999px;
    background: conic-gradient(
        #7214c1,
        #7214c1,
        #000000,
        #7214c1
    );
    animation: rotateBorder 3s linear infinite;
    z-index: 0;
}

/* Mask the inner area so border is visible */
.goodtime-main .play-gradient-border ::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    background: white;
    z-index: 1;
}

/* Prevent scrolling when popup is open */
  body.popup-open {
      overflow: hidden;
      height: 100vh;
  }
  
  /* Custom animations for popup */
  @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
  }
  
  @keyframes slideUp {
      from { transform: translateY(30px); opacity: 0; }
      to { transform: translateY(0); opacity: 1; }
  }
  
  .goodtime-main .animate-fade-in {
      animation: fadeIn 0.3s ease-out;
  }
  
  .goodtime-main .animate-slide-up {
      animation: slideUp 0.4s ease-out;
  }
  
  /* Responsive video container */
 .goodtime-main  .heropopup-video {
      position: relative;
      padding-bottom: 56.25%; /* 16:9 aspect ratio */
      height: 0;
      overflow: hidden;
  }
  
  .goodtime-main .heropopup-video iframe,
 .goodtime-main  .heropopup-video video {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
  }


/* Client Logo section css */
 .goodtime-main  section.client-logos {
    background-color: #f3fff0;
    opacity: 6;
    padding: 35px 50px;
}
.goodtime-main .scrollbar-hide::-webkit-scrollbar {
      display: none;
    }
   .goodtime-main  .scrollbar-hide {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }



/* Content Section css start here */

.goodtime-main .Artists-img-block img {
    border-radius: 400px 0px 0px 400px;
    border-left: 4px solid var(--primary);
}

.goodtime-main .Artists-img-block-2 img{
   border-radius: 0px 400px 400px 0px;
    border-right: 4px solid var(--primary);
}

/* Rotating 2-color Gradient Border Animation (No background fill) */
 .ingood_animateicon {
  position: relative;
  border-radius: 50%;
  padding: 6px;

  /* ONLY border rotates (green + purple) */
  animation: ingood_spin 6s linear infinite; /* slower rotation */

  /* remove background fill effect */
  background-clip: border-box;
}

.ingood_animateicon::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  padding: 6px;
  background: conic-gradient(
    #2CFF05,
    #7214c1,
    #2CFF05
  );

  /* MASK TO KEEP ONLY BORDER */
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}

@keyframes ingood_spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* Circle Play Button */
.goodtime-main .video-play-btn {
  width: 70px;
  height: 70px;
  background: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2CFF05;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  pointer-events: none; /* Only the icon is non-clickable */
}

.goodtime-main .video-play-btn svg {
  width: 30px;
  fill: #2CFF05;
}

/* Allow clicking THROUGH overlay */
.goodtime-main .play-overlay {
  pointer-events: none;   /* FIX: this makes controls clickable */
  transition: opacity 0.3s ease;
}

.goodtime-main .service-title{
  font-family: 'AvenirLTPro';
}

.goodtime-main .video-container {
    position: relative;
    padding-bottom: 56.25%;
}

.video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slick-prev:before, .slick-next:before {
    color: #3b82f6 !important;
}
.ingood-wp-form form input {
    padding: 15px!important;
    height: auto!important;
    border-radius: 5px!important;
    border: none!important;
}
.ingood-wp-form form textarea {
	 padding: 15px!important;
    border-radius: 5px!important;
    border: none!important;
}
.goodtime-main .ingood-wp-form button#wpforms-submit-40 {
    background-color: #2cff05;
    color: #000;
    text-transform: uppercase;
    padding: 18px 30px;
    height: auto;
    font-size: 18px;
    font-weight: bold;
    border-radius: 60px;
}





.ingoodtime-mailchimp form {
    display: flex!important;
    justify-content: space-between!important;
    align-items: center!important;
    width: 100%!important;
    background-color: #fff;
    padding: 5px !important;
    border-radius: 100px !important;
	overflow:hidden !important;
	background-color:#fff!important;
}

.ingoodtime-mailchimp div#wpforms-47-field_2-container {
    padding: 0px;
}
.ingoodtime-mailchimp .wpforms-submit-container {
    margin: 0px!important;
}
.ingoodtime-mailchimp button#wpforms-submit-47 {
    background-color: var(--primary);
    width: 45px;
    height: 45px;
    transform: rotate(-45deg);
    border-radius: 50%;
    text-align: center;
    font-size: 25px;
    display: flex;
    line-height: 30px;
    align-items: center;
    justify-content: center;
}

.ingoodtime-mailchimp input#wpforms-47-field_2 {
    width: 100%;
    max-width: 100%;
    border: none;
}
.ingoodtime-mailchimp input#wpforms-47-field_2:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}
.ingoodtime-mailchimp .wpforms-field-container {
    width: 100%!important;
}

.ingoodtime-mailchimp em#wpforms-47-field_2-error {
    margin: 0px 5px 0px 20px;
}


.video-slider-section button.gallery-prev.slick-arrow {
    position: absolute;
    top: 50%;
	left:-25px;
    transform: translateY(-50%);
    z-index: 20;
    width: 44px;
    height: 44px;
    background: #2CFF05;
    border-radius: 999px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.video-slider-section button.gallery-next.slick-arrow {
    position: absolute;
    top: 50%;
	right:-25px;
    transform: translateY(-50%);
    z-index: 20;
    width: 40px;
    height: 40px;
    background: #2CFF05;
    border-radius: 999px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
#galleryModal button.gallery-next.slick-arrow, #galleryModal button.gallery-prev.slick-arrow {
	position: absolute;
    top: 50%;
	right:-25px;
    transform: translateY(-50%);
    z-index: 20;
    width: 40px;
    height: 40px;
    background: #2CFF05;
    border-radius: 999px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

#galleryModal button.gallery-prev.slick-arrow {
	left:-25px; 
}

/* Contact us page form css */
.contact-form form input, .contact-form form textarea {
    border: 1px solid #d1d5db!important;
    border-radius: 10px!important;
}
.contact-form form button#wpforms-submit-454 {
    background-color: var(--secondary);
    font-family: AvenirLTPro;
    font-size: 18px;
    padding: 1rem 2rem;
    height: auto;
    border-radius: 60px;
	color:#000;
    text-transform: uppercase;
	font-weight:600;
}
.contact-form form button#wpforms-submit-454:hover {
	background-color: var(--primary);
	color:#fff;
}
@media only screen and (max-width:768px){

  header#mainHeader {
    padding: 5px 0px;
}
.goodtime-main .logo-small {
    width: 40% !important;
}
    .Artists-img-block img, .Artists-img-block-2 img {
      border-radius: 30px;
      border-bottom: 4px solid var(--primary);
      border-left:0px;
      border-right:0px;
  }

.goodtime-main .goodtime-hero  .hero-left-col {
    padding: 10vh  4vh;
}
.ingooodtime-social-flex {
    flex-direction: column-reverse;
}
section.goodtime-hero.w-full.grid.md\:grid-cols-2.h-screen {
    height: auto;
}
.goodtime-main  .play-btn {
    width: 80px;
    height: 80px;
}
.goodtime-main  section.client-logos {
    padding: 20px;
}
.goodtime-main .ingood-about-images {
    display: flex!important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px !important;
}
.goodtime-main .ingood-about-images  .ingood-about-col-1 {
    width: 48%;
    height: 270px;
}
.goodtime-main .ingood-cta-dots{
  display: none!important;
}
.goodtime-main .service-cta-main {
    flex-direction: column;
    display: flex;
    justify-content: center;
    align-items: center;
}

	
	/* About us page css */
.about-main-page .expert-slider .slick-prev {
    left: -10px;
  }

  .about-main-page .expert-slider .slick-next {
    right: -10px;
  }
.about-main-page .client-slider-section .client-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .igt-button-grid-col {
    grid-template-columns: repeat(1, 1fr)!important;
}
.about-main-page .client-slider-section .client-tile {
    height: 120px!important;
}
.client-slider-section button.gallery-prev.slick-arrow, .client-slider-section button.gallery-next.slick-arrow, .about-main-page .expert-slider .slick-prev, .about-main-page .expert-slider .slick-next {
    width: 30px!important;
    height: 30px!important;
}
.about-main-page .expert-slider {
    padding: 0px 15px!important;
}
.client-grid.mobile-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr)!important;
  gap: 15px;
}

.client-grid.mobile-grid .client-tile:nth-child(3) {
  grid-column: span 2!important;
}
	#galleryModal button.gallery-prev.slick-arrow {
	left:-15px; 
}
	#galleryModal button.gallery-next.slick-arrow {
	right:-15px; 
}
}

/* Ipad media query start here */
@media only screen and (min-width:768px) and (max-width:1024px){
  .goodtime-main section.goodtime-hero {
    display: flex;
    flex-direction: column;
    height: auto;
}
.goodtime-main .goodtime-hero  .hero-left-col {
    padding: 15vh  5vh 10vh;
}
.goodtime-main .ingood-hero-title {
  font-size: 5vw!important;
line-height: calc(5vw * 1.2);
} 
.goodtime-main  .play-btn {
    width: 110px;
    height: 110px;
}
.goodtime-main .ingood-headerbtn{
      max-width: fit-content;
    width: 50%;
}
.goodtime-main .logo-small {
    width: 12% !important;
}
.goodtime-main .ingood-cta-dots{
  display: none!important;
}
.goodtime-main .goodtime-logo-cta{
  display: flex;
  justify-content: center;
}
.goodtime-main .ingood-about-images {
    display: flex!important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px !important;
}
.goodtime-main .ingood-about-images  .ingood-about-col-1 {
    width: 48%;
    height: 270px;
}

.goodtime-main .Artists-img-block img, .goodtime-main .Artists-img-block-2 img {
    border-radius: 30px;
    border-bottom: 4px solid var(--primary);
    border-left: 0px;
    border-right: 0px;
}
	.about-main-page  .client-slider-section .client-grid {
    grid-template-columns: repeat(3, 1fr)!important;
    gap: 16px!important;
}
	.client-grid.mobile-grid{
		display:none!important;
	}
}

@media only screen and (min-width:1024px) and (max-width:1280px){
  .goodtime-main div#openVideoPopup {
    top: 50%;
    left: 0;
}
.goodtime-main .ingood-hero-title {
    font-size: 4vw;
}
	.goodtime-main .goodtime-hero .hero-left-col{
		padding:20vh  10vh;
	}
}

@media screen 
and (width: 1280px) 
and (height: 800px) {
  .goodtime-main .goodtime-hero .hero-left-col {
    padding: 5vh  10vh;
}
}



/* About us page css  */
.about-main-page .expert-slider {
  position: relative;
  padding: 0px 40px;
}

.about-main-page .expert-slider .slick-prev,
.about-main-page .expert-slider .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  width: 44px;
  height: 44px;
  background: #2CFF05;
  border-radius: 999px;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.about-main-page .expert-slider .slick-prev {
  left: 0px;
}

.about-main-page .expert-slider .slick-next {
  right: 0px;
}

.about-main-page .expert-slider .slick-prev:before,
.about-main-page .expert-slider .slick-next:before {
  display: none;
}

.igt-logo-cta{
      border: 4px solid transparent;
    border-radius: 12px;
    background: linear-gradient(#7e22ce, #7e22ce) padding-box, linear-gradient(365deg, #7214C1, #2CFF05) border-box;
    border-radius: 100%;
}


/* =====================================
   CLIENT FULL SLIDER FIX
===================================== */

.about-main-page .client-slider-section .client-slide {
  padding: 0 20px;
}

.about-main-page  .client-slider-section .client-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
  justify-items: center;
}



/* Tile (image + button same size) */
.about-main-page .client-slider-section .client-tile {
  width: 100%;
  max-width: 220px;
  height: 120px;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
}

/* Image tiles */
.about-main-page  .client-slider-section .client-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px;
}

.client-slider-section button.gallery-prev.slick-arrow, .client-slider-section button.gallery-next.slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 44px;
    height: 44px;
    background: #2CFF05;
    border-radius: 999px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.client-slider-section button.gallery-prev.slick-arrow{
  left:0px;
}
.client-slider-section button.gallery-next.slick-arrow{
  right:0px;
}

.about-main-page ul.slick-dots {
    display: none!important;
}

/* Desktop only */
.desktop-grid {
  display: grid;
}

/* Mobile hidden by default */
.mobile-grid {
  display: none !important;
}

/* Mobile view */
@media (max-width: 767px) {
  .desktop-grid {
    display: none !important;
  }

  .mobile-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 0 16px;
  }
}


/* Initial hidden state */
#galleryModal {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

/* Inner modal animation */
#galleryModal .modal-inner {
  transform: translateY(-60px);
  transition: transform 0.4s ease;
}

/* Active/open state */
#galleryModal.active {
  opacity: 1;
  pointer-events: auto;
}

#galleryModal.active .modal-inner {
  transform: translateY(0);
}

* Single service page css */
.faq-item {
      transition: all 0.3s ease;
  }
 
  .expand-icon {
      transition: transform 0.4s ease, color 0.3s ease;
  }
 
  .faq-item.expanded .expand-icon {
      transform: rotate(180deg);
      color:  var(--secondary) !important; /* Green color for active state */
  }
 
  .faq-content {
      overflow: hidden;
      transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  }
 
  .faq-item.expanded {
      border-color: var(--secondary);
      box-shadow: 0 4px 12px rgba(16, 185, 129, 0.1);
  }
 