/*
 Theme Name:   Understrap Child
 Theme URI:    https://understrap.com
 Description:  Understrap Child Theme
 Author:       the Understrap Contributors
 Author URI:   https://github.com/understrap/understrap-child/graphs/contributors
 Template:     understrap
 Version:      1.2.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  understrap-child
 Tags: one-column, custom-menu, featured-images, theme-options, translation-ready
 GitHub Theme URI: understrap/understrap-child
*/

body:has(.navbar-collapse.show){
	margin: 0; 
    height: 100%; 
    overflow: hidden
}

#main-nav:has(.navbar-collapse.show) {
	height: 100vh;
    align-items: start;
}

#main-nav #navbarNavDropdown.collapsing {
	-webkit-transition: none;
    transition: none;
    display: none;
}

.btn {
	border-radius: 500px !important;
    font-weight: bold !important;
    border-width: 2px !important;
    padding: 10px 30px;
  	font-size: 18px;
}

.btn-primary {
	background: #0c1b3e !important;
    border-color: #0c1b3e !important;
    color: white !important;
}

.btn-primary:hover {
	background: white !important;
    border-color: #0c1b3e !important;
    color: #0c1b3e !important;
}

.bg-primary {
	background: #0c1b3e !important;
}

.navbar-brand {
    margin: 0 !important;
    padding: 0 !important;
}

.navbar-brand img {
	max-width: 300px;
}

.mobile-navbar-brand img {
	max-width: 125px;
}
.navbar-branding-text {
	color: #0c1b3e !important;
    height: 100px;
}

.navbar-branding-text .description {
	color: grey;
}


#main-nav {
	background-color: white !important;
    color: black !important;
}

#main-nav .nav-link {
	color: black !important;
    font-weight: 600;
}

.top-ribbon-nav {
	background-color: #0c1b3e;
}

.top-ribbon-nav .left-side {
	color: #f3f3f4 !important;
}

.top-ribbon-nav .phone-link,
.top-ribbon-nav .email-link {
	color: #d8a824 !important;
    text-decoration: none !important;
    font-weight: bold;
}

#main-nav .nav-cta-button {
	background-color: #c9a74b !important;
    font-weight: bold !important;
}

.intro-card-container {
	background: #020024;
	background: linear-gradient(224deg, rgba(2, 0, 36, 1) 56%, rgba(166, 141, 72, 1) 97%);
}

.intro-card {
	text-align: center;
    background-color: #06172b;
    color: white !important;
    border-radius: 14px;
    border: 2px solid grey;
    min-height: 300px;
}

.golden-intro-card {
	background: #BD9348;
background: linear-gradient(37deg, rgba(189, 147, 72, 1) 29%, rgba(234, 203, 110, 1) 75%);
    color: #06172b !important;
}

.sidebar-container {
	.card {
	border-radius: 16px;
    position: sticky;
    top: 50px;
	}
    .card-title {
	background-color: #0c1b3e;
    font-weight: bold;
    color: white;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
	}

    .card-list {
        list-style: none;
        text-align: center;
        border-radius: 16px !important;
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
    }

    .card-list a {
        color: #0c1b3e !important;
    }

    .card-list a:not(.active) {
        text-decoration: none !important;
    }
}

.hero-wrapper {
	min-height: 400px;
    
    .hero {
    	min-height: 400px;
    }
}

.hero {
  background: 
    radial-gradient(ellipse 600px 400px at 20% 50%, 
      rgba(212, 175, 55, 0.4) 0%, 
      rgba(240, 217, 154, 0.2) 20%, 
      transparent 50%),
    radial-gradient(ellipse 500px 500px at 80% 20%, 
      rgba(212, 175, 55, 0.3) 0%, 
      transparent 40%),
    linear-gradient(135deg, 
      #0c1b3e 0%, 
      #1a2f5e 50%, 
      #0c1b3e 100%);
  background-attachment: fixed;
}

.site-footer {
	background-color: #0c1b3e;
}

.site-footer .footer-logo-section img {
	max-width: 150px
}

.site-footer .footer-links-section .footer-menu {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 20px;
}

.site-footer .menu-item {
	width: 50%;
}

.footer-menu .menu-item a{
	color: white !important;
    text-decoration: none !important;
}

.footer-copyright-section a {
	text-decoration: none;
}

.copyright-text a {
	color: white !important;
}

.card .list-group-item:hover {
	background-color: #13358612;
}

.hero-right {
	.wpcf7 .wpcf7-form p {
    	margin-bottom: 0;
    }
    .wpcf7-spinner {
    	display: none;
    }
    .wpcf7-submit {
    	margin-top: 20px !important;
    }
}

.review-section {
	background: linear-gradient(37deg, rgba(189, 147, 72, 0.83) 29%, rgba(234, 203, 110, 0.73) 75%);
    
    .testimonial-stars {
	color: #dfb741;
	}
}

.certification-section {
	.card-img-top {
    	max-height: 200px;
        max-width: 200px;
        object-fit: scale-down;
        aspect-ratio: 1/1;
        margin: auto;
    }
	
}
.gold-shimmer-btn {
border-radius: 14px !important;
border: 0px !important;
  background: linear-gradient(135deg, #bf953f 0%, #fcf6ba 25%, #b38728 50%, #fbf5b7 75%, #aa771c 100%);
  background-size: 200% auto;
  font-weight: 600;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 15px rgba(170, 119, 28, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
  overflow: hidden;
  transition: all 0.4s ease;
  color: black !important;
}

/* Hover & Active States */
.gold-shimmer-btn:hover {
  background-position: right center; /* Shifts the gold gradient slightly */
  box-shadow: 0 6px 20px rgba(170, 119, 28, 0.5);
  transform: translateY(-1px);
}

.gold-shimmer-btn:active {
  transform: translateY(1px);
}

/* The Shimmer Effect */
.gold-shimmer-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-25deg);
  transition: none;
}

/* Continuous loop animation */
.gold-shimmer-btn::before {
  animation: shimmer 3s infinite linear;
}

@keyframes shimmer {
  0% {
    left: -75%;
  }
  30% {
    left: 125%;
  }
  100% {
    left: 125%; /* Creates a nice pause before the next shimmer loops */
  }
}

.blaze-controls {
	justify-content: center;
	align-items: center;
	gap: .75rem;
	margin-top: 1rem;
	display: flex
}

.blaze-prev,
.blaze-next {
	border: 1px solid var(--color-fd-border);
	background: #fff0;
	width: 2rem;
	height: 2rem;
	color: #fff;
	cursor: pointer;
	border-radius: 6px;
	justify-content: center;
	align-items: center;
	transition: background .2s, border-color .2s;
	display: flex
}

.blaze-prev::before {
	margin-left: 2px;
	transform: rotate(135deg)
}

.blaze-prev::before,
.blaze-next::before {
	content: "";
	border-bottom: 2px solid;
	border-right: 2px solid;
	width: 14px;
	height: 14px
}

.blaze-next::before {
	margin-right: 2px;
	transform: rotate(-45deg)
}

.blaze-prev::before,
.blaze-next::before {
	content: "";
	border-bottom: 2px solid;
	border-right: 2px solid;
	width: 14px;
	height: 14px
}

.blaze-pagination {
	gap: .5rem;
	display: flex
}

.blaze-pagination button.active {
	opacity: 1;
	background: #fff;
	transform: scale(1.2)
}

.blaze-pagination button {
	background: #fff;
	opacity: .3;
	cursor: pointer;
	border: none;
	border-radius: 50%;
	width: 8px;
	height: 8px;
	padding: 0;
	font-size: 0;
	transition: opacity .2s, transform .2s
}

#navbarNavDropdown #main-menu > .menu-item {
	margin-right: 1em;
}

@media (max-width: 991.98px) {
  #navbarNavDropdown {
    background-color: #0f338826;
    margin: 20px 0;
    font-size: 1.25rem;
    height: 60vh;
    overflow-y: scroll;
    
    #main-menu > .menu-item {
    	margin-right: 0 !important;
    }
    
    .menu-item {
    	margin-bottom:20px;
        margin-right: 0;
        
        .dropdown-menu {
        	background-color: #ffffff75;
        	text-align: center;
            font-size: 1.15rem;
        	margin: 0px 10px;
            padding: 0;
            border-radius: 20px;
            max-height: 50vh;
            overflow-y: scroll;
            
            .menu-item {
            	margin-bottom: unset !important;
                border-bottom: 1px solid lightgrey;
                padding: 5px 0;
            }
        }
    }
  }
}