

/** Reset CSS **/


.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0;
}

/* Universal Reset: Apply to all elements */
* {
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box; /* Essential for modern layouts */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* HTML Element Resets */
html {
    font-size: 100%; /* Ensures base font size consistency */
    scroll-behavior: smooth;
}

body {
    background-color: #fff; /* Default background to white */
    line-height: 1.5; /* Standard line spacing */
    font-family: "Open Sans", sans-serif;
}

/* Typography Resets */
article, aside, details, figcaption, figure, 
footer, header, hgroup, main, menu, nav, section {
    display: block;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 1em; /* Resets headings to 1em initially */
    font-weight: normal; /* Resets bolding */
    line-height: 1.2;
    margin: 0;
}

h1 { font-size: 2em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.17em; }
h4 { font-size: 1em; }
h5 { font-size: 0.83em; }
h6 { font-size: 0.75em; }

p {
    margin: 0 0 1em 0; /* Standard paragraph margin */
}

a {
    text-decoration: none; /* Removes default underline */
    color: inherit; /* Inherits text color */
}

img {
    max-width: 100%; /* Makes images responsive by default */
    height: auto;
    display: block; /* Removes common baseline spacing issue */
}

ul, ol {
    list-style: none; /* Removes default bullet/numbering */
    margin: 0;
    padding: 0;
}

/* Form Element Resets */
button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button {
    overflow: visible; /* Fixes display issues in some browsers */
}

button, [type="button"], [type="reset"], [type="submit"] {
    -webkit-appearance: button; /* Corrects appearance on iOS */
}

/** Header Styling **/


.header .top-header {
    background-color: #0a2e76;
    padding: 10px 20px;
}

.header .top-header .contact-text {
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: 20px;
}

.header .top-header .contact-text li {
    color: #fff;
    font-size: 14px;
}

.header .top-header .contact-text li:last-child {
    text-align: right;
}

.main-header {
    background-color: rgb(255 255 255 / 60%);
    padding: 16px 20px;
}

.main-header .container {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 20px;
    align-items: center;
}

.main-header h1 img {
    max-width: 178px;
    border-radius: 10px;
}

.main-header .main-nav {
    margin: 0 auto;
}

#ubermenu-nav-main-2{
	background-color:#fff;
}

#ubermenu-nav-main-2 .ubermenu-item .ubermenu-submenu{
	background-color:#fff;
}

#ubermenu-nav-main-2 .ubermenu-item .ubermenu-sub-indicator{
	padding-left:10px;
}

.main-header .main-nav li a {
    font-size: 16px;
    font-weight: 600;
    color: #1d2430;
}

.main-header .main-nav li a:hover {
    color: #0a2e76;
}

.main-header .book-lesson {
    background-color: #041b49;
    color: #ffffff;
    border-radius: 10px;
    padding: 10px 10px;
    font-size: 14px;
    font-weight: 600;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 10px;
}

.main-header .hamburger-menu {
    display: none;
}



/** End Header Styling **/




/** Footer Styling **/


.footer {
    background-color: #1e3a8a;
}

.footer .main-footer {
    padding: 0 20px;
}

.footer .main-footer .container {
    display: grid;
    grid-template-columns: repeat(6,auto);
    gap: 20px;
    padding: 3rem 0;
}

.footer .contact-details img {
    max-width: 125px;
    border-radius: 10px;
    display: block;
    margin-bottom: 25px;
}

.footer .contact-details p {
    color: #dbeafe;
    font-size: 14px;
    max-width: 318px;
    margin-bottom: 25px;
}

.footer .grid-list h4 {
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px;
    align-items: center;
    margin-bottom: 20px;
}

.footer .grid-list svg {
    color: #93c5fd;
}

.footer .grid-list li {
    font-size: 14px;
    color: #bfdbfe;
    margin-bottom: 8px;
}

.footer .contact-info li a,
.footer .contact-info li:last-child {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    color: #dbeafe;
}

.footer .social-links {
    display: grid;
    grid-template-columns: repeat(3,auto);
    gap: 20px;
    max-width: 160px;
    margin-top: 30px;
}

.footer .social-links li a {
    display: block;
    font-size: 0;
    background-color: #ffffff;
    border-radius: 10px;
    max-width: 40px;
    padding: 10px;
    border: 1px solid #2563eb;
    text-align: center;
}

.footer .social-links li a svg {
    color: #e5e7eb;
}

.footer .social-links li a:hover {
    background-color: #1d4ed8;
}

.footer .grid-list:last-child ul {
    display: grid;
    grid-template-columns: repeat(2,1fr);
}

.footer .grid-list:last-child ul li {
    font-size: 12px;
}

.footer-bottom {
    border-top: 1px solid #1e40af;
    padding: 0 20px;
}

.footer-bottom .container {
    padding: 1.5rem 0;
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: 20px;
    align-items: center;
}

.footer-bottom .container ul li {
    display: inline-block;
    margin-right: 20px;
}

.footer-bottom .container ul li a {
    color: #e5e7eb;
    font-size: 14px;
}

.footer-bottom .container p {
    text-align: right;
    font-size: 14px;
    color: #e5e7eb;
    margin: 0;
}


/** End Footer Styling **/



/** ================================ Homepage Styling ============================================== **/



.homepage .carousel-inner .carousel-item {
    position: relative;
    height: 100vh;
}

.homepage .carousel-inner .carousel-item img {
    height: 100%;
    object-fit: cover;
}

.homepage .carousel-inner .carousel-item::before {
    display: block;
    content: "";
    background-color: #00000080;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.homepage .carousel-caption {
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-height: fit-content;
    padding: 50px 20px;
}


.homepage .carousel-caption .tag-line {
    background-color: #5abff2e6;
    color: #1d2330;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 25px;
    max-width: fit-content;
    margin: 0 auto 30px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
}

.homepage .carousel-caption h1 {
    font-size: 72px;
    font-weight: 700;
}


.homepage .carousel-caption h1 span {
    display: block;
    -webkit-background-clip: text;
    -moz-background-clip: text;
    color: transparent;
    max-width: 460px;
    margin: 0 auto;
    background-image: linear-gradient(to right, #5abff2, #041b49);
}

.homepage .carousel-caption p {
    font-size: 24px;
    max-width: 768px;
    margin: 30px auto 0;
}

.homepage .carousel-caption ul {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 20px;
    align-items: center;
    max-width: fit-content;
    margin: 30px auto 0;
}

.homepage .carousel-caption ul li {
    font-size: 16px;
}

.homepage .carousel-caption ul li svg {
    color: #5abff2 !important;
}

.homepage .carousel-caption .cta-buttons {
    display: grid;
    grid-template-columns: repeat(2,auto);
    gap: 20px;
    align-items: center;
    max-width: fit-content;
    margin: 40px auto 0;
}

.homepage .carousel-caption .cta-buttons .book-lesson {
    background-color: #041b49;
    color: #ffffff;
    border-radius: 10px;
    padding: 25px;
    font-size: 18px;
    font-weight: 600;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 20px;
    border: 2px solid #041b49;
}

.homepage .carousel-caption .cta-buttons .book-lesson:hover {
    background-color: #03153a;
    border: 2px solid #03153a;
}

.homepage .carousel-caption .cta-buttons .learn-btn {
    background-color: #ffffff;
    color: #0a2e76;
    border-radius: 10px;
    padding: 25px;
    font-size: 18px;
    font-weight: 600;
    align-items: center;
    gap: 20px;
    border: 2px solid #ffffff;
}

.homepage .carousel-caption .cta-buttons .learn-btn:hover {
    background-color: #0a2e76;
    color: #ffffff;
    border: 2px solid #ffffff;
}


.homepage .training-progs {
    background-color: #daf0fb80;
    padding: 5rem 20px;
}

.homepage .training-progs .tag-line {
    background-color: #ffffff00;
    color: #1d2330;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 25px;
    max-width: fit-content;
    margin: 0 auto 30px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    border: 1px solid #e5e7eb;
}

.homepage .training-progs .video-info h3 {
    font-size: 48px;
    font-weight: 700;
    color: rgb(29, 36, 48);
    text-align: center;
    margin-bottom: 20px;
}

.homepage .training-progs .video-info h3 span {
    color: rgb(10, 46, 118);
}

.homepage .training-progs .video-info p {
    text-align: center;
    font-size: 20px;
    color: rgb(107, 114, 128);
    max-width: 768px;
    margin: 0 auto 30px;
}

.homepage .training-progs .video-info video {
    display: block;
    margin: 0 auto;
    border-radius: 20px;
    max-width: 896px;
}

.homepage .training-progs .grid-box {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
    margin-top: 60px;
}

.homepage .training-progs .box {
    position: relative;
}

.homepage .training-progs .box .badge1 {
    background-color: #0a2e76;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    width: fit-content;
    border-radius: 20px;
    position: absolute;
    top: 0;
    right: 0;
    padding: 4px 8px;
}

.homepage .training-progs .box .badge2 {
    background-color: #5abff2;
    color: rgb(29, 35, 48);
    font-size: 12px;
    font-weight: 600;
    width: fit-content;
    border-radius: 20px;
    position: absolute;
    top: 0;
    right: 0;
    padding: 4px 8px;
}

.homepage .training-progs .box .icon {
    background-color: #d4e0f7;
    padding: 12px;
    border-radius: 12px;
    display: block;
    max-width: 48px;
    margin-bottom: 20px;
}

.homepage .training-progs .box .icon svg {
    color: #0a2e76 !important;
}

.homepage .training-progs .box h4 {
    color: rgb(29, 36, 48);
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
}

.homepage .training-progs .box p {
    color: rgb(107, 114, 128);
    font-size: 16px;
}

.homepage .training-progs .box ul {
    list-style-type: disc;
    padding-left: 20px;
}

.homepage .training-progs .box ul li {
    font-size: 14px;
    color: rgb(29, 36, 48);
;
}

.homepage .training-progs .box ul li::marker {
    color: #16a249;
}

.homepage .training-progs .box .learn-btn {
    border: 1px solid #e5e7eb;
    background-color: #ffffff;
    border-radius: 10px;
    color: rgb(29, 36, 48);
    font-size: 14px;
    font-weight: 500;
    display: block;
    padding: 10px 20px;
    text-align: center;
    margin-top: 30px;
}

.homepage .training-progs .box .learn-btn:hover {
    background-color: #041b49;
    color: #ffffff;
}

.homepage .training-progs .center-text-cta {
    margin-top: 100px;
}

.homepage .training-progs .center-text-cta .icon svg {
    text-align: center;
    color: #5abff2 !important;
    display: block;
}

.homepage .training-progs .center-text-cta h3 {
    font-size: 30px;
    font-weight: 700;
    color: rgb(29, 36, 48);
    text-align: center;
    margin-bottom: 15px;
}

.homepage .training-progs .center-text-cta p {
    text-align: center;
    font-size: 16px;
    color: rgb(107, 114, 128);
    max-width: 672px;
    margin: 0 auto 20px;
}

.homepage .training-progs .center-text-cta .cta-btn {
    background-color: #5abff2;
    border-radius: 10px;
    color: rgb(29, 35, 48);
    font-size: 16px;
    font-weight: 500;
    padding: 15px 30px;
    text-align: center;
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    max-width: fit-content;
    margin: 30px auto 0;
    gap: 10px;
}

.homepage .training-progs .center-text-cta .cta-btn:hover {
    background-color: #2badee;
}

.homepage .twocol-textimg {
    background-color: #ffffff;
    padding: 5rem 20px;
}

.homepage .twocol-textimg .container {
    display: grid;
    grid-template-columns: repeat(2,auto);
    gap: 30px 50px;
}

.homepage .twocol-textimg .text-col .tag-line {
    background-color: #ffffff;
    color: #1d2330;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 25px;
    max-width: fit-content;
    margin: 0 0 20px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    border: 1px solid #e5e7eb;
}

.page-title{
	font-size: 48px;
    font-weight: 700;
    color: rgb(29, 36, 48);
	margin-bottom: 20px;
}

.homepage .twocol-textimg .text-col h2 {
    font-size: 48px;
    font-weight: 700;
    color: rgb(29, 36, 48);
    margin-bottom: 20px;
    max-width: 700px;
}

.homepage .twocol-textimg .text-col h2 span {
    color: rgb(10, 46, 118);
}

.homepage .twocol-textimg .text-col p {
    font-size: 20px;
    color: rgb(107, 114, 128);
    margin-bottom: 30px;
    max-width: 700px;
}

.homepage .twocol-textimg .quote-box {
    padding: 30px;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    border-left: 4px solid #0a2e76;
    box-shadow: 1px 1px 13px 0px #1d243014;
    max-width: 700px;
}

.homepage .twocol-textimg .quote-box svg {
    color: #0a2e76 !important;
}

.homepage .twocol-textimg .quote-box blockquote {
    color: rgb(29, 36, 48);
    font-size: 18px;
    font-style: italic;
    margin-bottom: 20px;
    line-height: 28px;
}

.homepage .twocol-textimg .quote-box span {    
    color: rgb(10, 46, 118);
    font-size: 16px;
    font-weight: 500;
}

.homepage .twocol-textimg .text-col .cta-buttons {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 20px;
    align-items: center;
    max-width: fit-content;
    margin: 40px 0 0;
}

.homepage .twocol-textimg .text-col .cta-buttons .book-btn {
    background-color: #041b49;
    color: #ffffff;
    border-radius: 10px;
    padding: 10px 25px;
    font-size: 16px;
    font-weight: 600;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 20px;
    border: 2px solid #041b49;
}

.homepage .twocol-textimg .text-col .cta-buttons .book-btn:hover {
    background-color: #03153a;
}

.homepage .twocol-textimg .text-col .cta-buttons .learn-btn {
    background-color: #ffffff;
    color: rgb(29, 36, 48);
    border-radius: 10px;
    padding: 10px 25px;
    font-size: 16px;
    font-weight: 600;
    align-items: center;
    display: grid;
    gap: 20px;
    grid-template-columns: auto 1fr;
    border: 2px solid #e5e7eb;
}

.homepage .twocol-textimg .text-col .cta-buttons .learn-btn:hover {
    background-color: #0a2e76;
    color: #ffffff;
}

.homepage .twocol-textimg .img-col figure {
    border-radius: 1rem;
    overflow: hidden;
    max-height: 320px;
}

.homepage .twocol-textimg .img-col figure img {
    object-position: center;
}


.homepage .twocol-textimg .img-col .grid-count {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 50px;
    margin: 50px 0 0;
}

.homepage .twocol-textimg .img-col .grid-count li {
    font-size: 30px;
    font-weight: 700;
    color: rgb(10, 46, 118);
    text-align: center;
}

.homepage .twocol-textimg .img-col .grid-count li span {
    font-size: 12px;
    font-weight: 400;
    color: rgb(107, 114, 128);
    text-align: center;
    display: block;
}


@media (max-width: 1024px) {


    .homepage .carousel-caption h1 {
        font-size: 60px;
    }

    .homepage .carousel-inner .carousel-item {
       height: 800px;
    }

    .homepage .training-progs .grid-box {
        grid-template-columns: repeat(2,1fr);
    }

    .homepage .twocol-textimg .container {
        grid-template-columns: 1fr;
    }

    .homepage .twocol-textimg .text-col h2,
    .homepage .twocol-textimg .text-col p,
    .homepage .twocol-textimg .quote-box blockquote,
    .homepage .twocol-textimg .quote-box  {
        max-width: 100%;
    }


}


@media (max-width: 767px) {
	
	.container .main{
		padding-left:20px;
		padding-right:20px;
	}

    .homepage .carousel-caption h1 {
        font-size: 36px;
    }

    .homepage .carousel-caption p {
        font-size: 20px;
    }

    .homepage .carousel-caption ul {
        grid-template-columns: 1fr;
    }

    .homepage .carousel-caption .cta-buttons {
        grid-template-columns: 1fr;
    }

    .homepage .carousel-caption {
        max-height: fit-content;
    }

    .homepage .training-progs h3 {
        font-size: 30px;
    }

    .homepage .training-progs .grid-box {
        grid-template-columns: 1fr;
    }

    .homepage .training-progs .center-text-cta h3 {
        font-size: 24px;
    }

    .homepage .twocol-textimg .text-col h2 {
        font-size: 30px;
    }

    .homepage .twocol-textimg .text-col .cta-buttons {
        grid-template-columns: 1fr;
    }


}


/** ================================ End Homepage Styling ============================================== **/



/** Responsive Styling **/



@media (max-width: 1024px) {

    .main-header .container {
        grid-template-columns: 1fr auto auto;
    }
	
	.main-header{
		position:relative;
	}
	
	.main-nav{
		position:absolute;
		width:100%;
		top:30px;
		left: 0;
	}
	
	button.ubermenu-responsive-toggle-align-full{
		position: absolute;
        width: 60px !important;
        padding: 10px;
        right: 10px;
        font-size: 1.6rem;
	}
	
	#ubermenu-main-2{
		position:absolute;
		left:0;
		top:60px;
	}

    .footer .main-footer .container {
        grid-template-columns: repeat(4,auto);
    }

    .footer .grid-list:nth-child(1) {
        grid-column: 1 / span 4;
    }

    .footer .contact-details p {
        max-width: 100%;
    }

    .footer .grid-list:nth-child(6) {
        grid-column: 1 / span 4;
    }    

    .footer-bottom .container {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .footer-bottom .container p {
        text-align: center;
    }

    .footer-bottom .container ul {
        margin: 0 auto;
        text-align: center;
    }

}


@media (max-width: 767px) {


    .header .top-header .contact-text li:last-child{
        display: none;
    }
	
	.main-header .book-lesson {
		position:absolute;
		top:-52px;
		right:10px;
	}
	
    .main-header .container {
        grid-template-columns: 1fr auto;
    }

    .footer .main-footer .container {
        grid-template-columns: repeat(2,auto);
    }

    .footer .grid-list:nth-child(1) {
        grid-column: 1 / span 2;
    }

    .footer .grid-list:nth-child(6) {
        grid-column: 1 / span 2;
    }

}


@media (max-width: 639px) {


    .footer .main-footer .container {
        grid-template-columns: 1fr;
    }

    .footer .grid-list:nth-child(1) {
        grid-column: unset;
    }

    .footer .grid-list:nth-child(6) {
        grid-column: unset;
    }


}


@media (max-width: 400px)  {


    .header .top-header .contact-text {
        grid-template-columns: 1fr;
        gap: 0;
    }


}


/** End Responsive Styling **/




