/*
Theme Name: 	Brightboy Child
Theme URI: 		http://themes.brightboy.co.za
Author: 		Brightboy
Author URI: 	https://brightboy.co.za
Description:	Whitelabel child theme for Brightboy
Template:		hello-elementor
Version: 		1.0.1
*/

/* **Table of contents - Desktop **
 
    1. Header & Menu
    2. Forms
    3. Pages 
    4. Buttons and icons
    5. Page Headings & text elements
    6. Animations
    7. Woocommerce
    8. Footer */

/*---------------------------*/
/*- DESKTOP CSS -------------*/
/*---------------------------*/

/* Theme customization starts here
-------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
 * 1. Header & menu
 * --------------------------------------------------------------------------- */

.top-header.elementor-sticky--effects .mainlogo img {
  max-width: 150px !important;
  height: auto;
  transition: all 1s ease-in-out !important;
}

.mainlogo img {
  transition: all 1s ease-in-out !important;
}

.top-header.elementor-sticky--effects {
  background-color: rgba(255, 255, 255, 0.9) !important;
}

.top-header {
  transition: background-color 2s ease-in-out !important;
}

.top-header.elementor-sticky--effects > .elementor-container {
  min-height: 80px !important;
}

.top-header > .elementor-container {
  transition: min-height 0.5s ease-in-out !important;
}

.top-header .has-sub-mmenu .sub-menu, .sub-arrow {
  fill: #2370A9;
}

.top-header .elementor-nav-menu--main .loginbutton.menu-item a.elementor-item {
  padding: 10px 33px;
  background: #2370A9;
  transition: 0.4s ease-in-out;
  color: #ffffff;
}

.top-header .elementor-nav-menu--main .loginbutton.menu-item a.elementor-item:hover {
  background: #041E42;
  color: #ffffff;
}

/* ---------------------------------------------------------------------------
 * 2. Forms
 * --------------------------------------------------------------------------- */


/* Target Elementor form select options specifically */
.elementor-field-type-select select option {
  background-color: #041E42;
  color: white;
}

/* ---------------------------------------------------------------------------
 * 3. Pages
 * --------------------------------------------------------------------------- */

/* News */

.news .elementor-post__excerpt p:after {
  content: "...";
}


/* Our Courses page */

.course-card-container {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}

.course-card-container .elementor-column {
    margin: 0 !important;
    padding: 0 !important;
}

/* Image section specific - this creates the positioning context */
.course-image-section {
    position: relative;
    z-index: 1;
    overflow: hidden;
    height: 162px !important; /* Match the image height */
}

.course-image-section .elementor-column {
    height: 162px !important; /* Ensure column matches */
}

.course-image-section .elementor-widget-image {
    height: 162px !important;
}

.course-image-section img {
    width: 100%;
    height: 162px !important; /* Match Elementor setting */
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

/* Overlay section specific - constrain to image height */
.course-card-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important; /* Change from bottom: 0 */
    height: 162px !important; /* Match image height exactly */
    background-color: rgba(4, 30, 66, 0.95) !important;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.course-card-overlay .elementor-column {
    height: 162px !important; /* Match the height */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}

/* Icon List styling */
.course-card-overlay .elementor-icon-list-items {
    color: white;
    text-align: center;
    width: 100%;
}

.course-card-overlay .elementor-icon-list-item {
    margin-bottom: 8px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.course-card-overlay .elementor-icon-list-item:last-child {
    border-bottom: none;
}

.course-card-overlay .elementor-icon-list-icon {
    color: #D69A2D !important;
    margin-right: 8px;
    font-size: 14px; /* Smaller icons for compact space */
}

.course-card-overlay .elementor-icon-list-text {
    color: white !important;
    font-size: 14px; /* Smaller text for compact space */
}

/* Hover Effects */
.course-image-section:hover + .course-card-overlay {
    opacity: 1;
}

.course-image-section:hover img {
    transform: scale(1.1);
}

.course-card-overlay:hover {
    opacity: 1;
}

/* ---------------------------------------------------------------------------
 * 4. Buttons and icons
 * --------------------------------------------------------------------------- */

/* Circle Navigation */

.circle-nav-link {
  text-decoration: none; 
  display: inline-flex; 
}

.custom-circle-widget {
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-circle-widget-left {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.circle-nav {
  width: 64px;
  height: 64px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: transform 0.3s ease; /* Smooth movement on hover */
}

.circle-nav:hover {
  transform: translateX(10px); 
}

.arrow-nav {
  width: 32px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  transition: background-color 0.3s ease; 
}

.circle-nav:hover .arrow-nav {
  background-color: #D69A2D;
}

.arrow-nav::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 2px solid #ffffff;
  border-top: 2px solid #ffffff;
  position: absolute;
  top: -3px;
  right: -1px;
  transform: rotate(45deg);
  transition: border-color 0.3s ease; 
}

.circle-nav:hover .arrow-nav::after {
  border-color: #D69A2D;
}

/* ---------------------------------------------------------------------------
 * 5. Page Headings & text elements
 * --------------------------------------------------------------------------- */
 
/* Main slider */

.slider-heading {
  font-family: 'proxima-nova', sans-serif !important;
  font-weight: 600;
}

.slider-text {
  font-family: 'proxima-nova', sans-serif !important;
  font-weight: 500;
}

/* ---------------------------------------------------------------------------
 * 6. Animations
 * --------------------------------------------------------------------------- */

/* Slider & button hovers */

/* Wobble Horizontal */
@-webkit-keyframes hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }
  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }
  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.hvr-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-horizontal:hover,
.hvr-wobble-horizontal:focus,
.hvr-wobble-horizontal:active {
  -webkit-animation-name: hvr-wobble-horizontal;
  animation-name: hvr-wobble-horizontal;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Card hovers */

/* Panel hovers */

.blockfloat .jet-carousel__item {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.blockfloat .jet-carousel__item:hover,
.blockfloat .jet-carousel__item:focus,
.blockfloat .jet-carousel__item:focus,
.blockfloat .jet-carousel__item:active {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}

.blockbkg .jet-carousel__item-inner {
  background-color: #ffffff;
}

.blockfloat {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.blockfloat:hover,
.blockfloat:focus,
.blockfloat:focus,
.blockfloat:active {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}

.blockbkg .jet-carousel__item-inner:hover {
  -webkit-box-shadow: 0px 0px 24px 4px rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0px 0px 24px 4px rgba(0, 0, 0, 0.12);
  box-shadow: 0px 0px 24px 4px rgba(0, 0, 0, 0.12);
  -o-transition: 0.5s;
  -ms-transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.blockfloat .jet-carousel-wrap.jet-equal-cols .jet-carousel__item img {
  height: 395px;
  object-fit: cover;
}

/* ---------------------------------------------------------------------------
 * 7. Woocommerce
 * --------------------------------------------------------------------------- */


.product-quantity {
  display: none;
}

.woocommerce .woocommerce-order {
  font-family: 'proxima-nova', sans-serif;
}

.woocommerce .order-again {
  display: none;
}

/* ---------------------------------------------------------------------------
 * 8. Footer styling
 * --------------------------------------------------------------------------- */

 .footerlinks a {
  color: #ffffff;
  text-decoration: underline;
  transition: 0.3s ease-in-out;  
 }

 .footerlinks a:hover {
  color: #D69A2D;
  transition: 0.3s ease-in-out;
 }


.elementor-element.footerlinks.elementor-icon-list--layout-traditional.elementor-widget-icon-list
  .elementor-icon-list-text {
  transition: 0.3s ease-in-out;
}

.elementor-element.footerlinks.elementor-icon-list--layout-traditional.elementor-widget-icon-list
  .elementor-icon-list-text:hover {
  color: #b4b4b4;
}

a.footermenu {
  transition: 0.4s ease-in-out;
  color: #ffffff;
}

a.footermenu:hover {
  color: #9cb24d;
}

.socialfooter .elementor-social-icon {
  transition: 0.3s ease-in-out;
}

.socialfooter .elementor-social-icon:hover {
  transition: 0.3s ease-in-out;
}


a.footerlink {
  color: #E2E2E2;
  transition: 0.3s ease-in-out;
}

a.footerlink:hover {
  color: #D69A2D;
  transition: 0.3s ease-in-out;
}




/* **Table of contents - Responsive **
 
    1. Header & Menu
    2. Forms
    3. Pages 
    4. Buttons and icons
    5. Page Headings & text elements
    6. Animations
    7. Woocommerce
    8. Footer */

/*--------------------------------------------*/
/*- Responsive CSS Small devices (phones etc)
/*--------------------------------------------*/

@media (max-width: 768px) {
  /* ---------------------------------------------------------------------------
 * 1. Header & menu
 * --------------------------------------------------------------------------- */

  .mobilemenu
    .jet-mobile-menu__item.contactbutton.jet-mobile-menu__item--sub-trigger-item
    .jet-mobile-menu__item-inner
    .jet-menu-label {
    text-transform: none;
    color: #9cb24d;
    border: 1px solid #9cb24d;
    border-radius: 5px;
    padding: 4px 22px;
  }

  /* ---------------------------------------------------------------------------
 * 2. Forms
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 3. Pages
 * --------------------------------------------------------------------------- */

/* Courses */

.elementor-section.coursecard {
  width: 263px;
  max-width: 263px;
  margin: 0 auto;
}

    .course-image-section:hover img {
        transform: scale(1.05);
    }
    
    .course-card-overlay .elementor-column {
        padding: 15px !important;
    }
    
    .course-card-overlay .elementor-icon-list-icon {
        font-size: 12px;
    }
    
    .course-card-overlay .elementor-icon-list-text {
        font-size: 12px;
    }



  /* ---------------------------------------------------------------------------
 * 4. Buttons and icons
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 5. Page Headings & text elements
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 6. Animations
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 7. Woocommerce
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 8. Footer styling
 * --------------------------------------------------------------------------- */
}

/*--------------------------------------------*/
/*- Larger devices (tablets, 1025px and up)
/*--------------------------------------------*/
@media (max-width: 1025px) {
  /* ---------------------------------------------------------------------------
 * 1. Header & menu
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 2. Forms
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 3. Pages
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 4. Buttons and icons
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 5. Page Headings & text elements
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 6. Animations
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 7. Woocommerce
 * --------------------------------------------------------------------------- */

  /* ---------------------------------------------------------------------------
 * 8. Footer styling
 * --------------------------------------------------------------------------- */
}
