/* Global Styles */
:root {
    --primary-color: #6a0dad; /* A deep purple */
    --secondary-color: #9370db; /* A lighter purple */
    --dark-color: #2c003e; /* Even darker purple for text/bg */
    --light-color: #f8f9fa;
    --text-color: #333;
    --white-color: #fff;
}

body {
    font-family: 'Open Sans', sans-serif;
    color: var(--text-color);
    line-height: 1.6;
    background-color: var(--light-color);
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6, .site-title {
    font-family: 'Merriweather', serif;
    color: var(--dark-color);
}

.site-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
}

/* Responsive Typography for Headings */
@media (min-width: 1024px) {
    h1 {
        font-size: 2.8rem;
    }
    h2 {
        font-size: 2.2rem;
    }
    h3 {
        font-size: 1.8rem;
    }
    .site-title {
        font-size: 2.0rem;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    h1 {
        font-size: 2.4rem;
    }
    h2 {
        font-size: 2.0rem;
    }
    h3 {
        font-size: 1.6rem;
    }
    .site-title {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    h1 {
        font-size: 1.75rem; /* ~28px */
    }
    h2 {
        font-size: 1.5rem; /* ~24px */
    }
    h3 {
        font-size: 1.25rem; /* ~20px */
    }
    .site-title {
        font-size: 1.25rem; /* ~20px */
    }
    .navbar-brand img {
        height: 25px;
    }
}

/* Box-sizing for all elements */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Buttons */
.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--white-color);
    text-decoration: none;
}

.btn-primary:hover {
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
    color: var(--white-color);
}

.btn-outline-primary {
    color: var(--primary-color);
    border-color: var(--primary-color);
    text-decoration: none;
}

.btn-outline-primary:hover {
    background-color: var(--primary-color);
    color: var(--white-color);
}

.btn-outline-light {
    color: var(--white-color);
    border-color: var(--white-color);
    text-decoration: none;
}

.btn-outline-light:hover {
    background-color: var(--white-color);
    color: var(--primary-color);
}

.btn {
    white-space: normal;
    word-break: break-word;
    text-align: center;
    display: inline-block;
}

/* Navbar */
.navbar-brand img {
    height: 40px;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.85);
}

.navbar-dark .navbar-nav .nav-link:hover {
    color: var(--white-color);
}

.offcanvas.show {
    transform: translateX(0);
}

.offcanvas-header .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Hero Section */
.hero-section {
    background-image: url('img/content/programming-code-computer-script-software-code-abstract-developer.jpg');
    background-size: cover;
    background-position: center;
    min-height: 100vh;
    height: auto !important;
    padding-top: 130px !important; /* Adjust for fixed header */
    padding-bottom: 50px;
}

.hero-overlay {
    background-color: rgba(0, 0, 0, 0.6);
}

.trigger-item {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    font-weight: 600;
    background-color: rgba(255, 255, 255, 0.15);
    padding: 10px 20px;
    border-radius: 50px;
}

/* About Us Section */
#about img {
    max-height: 400px;
    object-fit: cover;
    width: 100%;
}

#about ul li {
    margin-bottom: 10px;
}

/* Statistics Section */
#statistics .statistic-item {
    padding: 20px;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.1);
    transition: background-color 0.3s ease;
}

#statistics .statistic-item:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

/* Courses Section */
.course-card {
    border: none;
    transition: transform 0.3s ease;
}

.course-card:hover {
    transform: translateY(-5px);
}

.course-img {
    height: 200px;
    object-fit: cover;
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}

.course-card .card-title {
    color: var(--primary-color);
}

/* How It Works Section */
.how-it-works-card {
    border: none;
    background-color: var(--white-color);
}

.icon-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: var(--primary-color);
}

/* Instructors Section */
.instructor-card {
    border: none;
    background-color: var(--white-color);
}

.instructor-img {
    height: 100%;
    object-fit: cover;
}

@media (max-width: 767px) {
    .instructor-img {
        width: 100%;
        height: 200px;
        object-position: top;
        border-bottom-left-radius: 0 !important;
        border-top-right-radius: inherit !important;
    }
}

/* Student Results Section */
.testimonial-card {
    border: 1px solid #e0e0e0;
    background-color: var(--white-color);
}

.avatar-img {
    width: 60px;
    height: 60px;
    object-fit: cover;
}

.case-card {
    border: 1px solid #e0e0e0;
    background-color: var(--white-color);
}

.case-img {
    height: 200px;
    object-fit: cover;
    width: 100%;
}

/* Free Opportunities Section */
.free-opportunity-card {
    border: none;
    background-color: var(--white-color);
    color: var(--text-color);
}

.free-opportunity-card .icon-circle {
    background-color: var(--white-color);
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
}

/* FAQ Section */
.accordion-button:not(.collapsed) {
    color: var(--white-color);
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.accordion-button:focus {
    box-shadow: none;
    border-color: var(--primary-color);
}

.accordion-button::after {
    filter: invert(1);
}

.accordion-item {
    border: 1px solid #e0e0e0;
    margin-bottom: 10px;
    border-radius: 0.25rem;
}

.accordion-body {
    background-color: var(--light-color);
}

/* Contact Section */
#contact .card {
    border: none;
}

.word-break-all {
    word-break: break-all;
}

/* Modals */
.modal-header {
    background-color: var(--primary-color);
    color: var(--white-color);
}

.modal-header .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 100px);
}

/* Cookie Banner */
.cookie-banner {
    z-index: 1060; /* Higher than Bootstrap modals (1050) */
    max-width: 350px;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.cookie-banner .btn-sm {
    padding: 0.4rem 0.8rem;
}

/* Cookie Settings Modal */
#cookieSettingsModal {
    z-index: 1070; /* Higher than cookie banner */
}

/* Utility for smooth scrolling links */
.smooth-scroll-link {
    cursor: pointer;
}
/* Parent container styling */
.rightsCloudWrap {
    margin-top: 60px; /* Top spacing for the content block */
    padding-left: 30px; /* Left padding for content */
    padding-right: 30px; /* Right padding for content */
    /* You might want to add max-width and margin: 0 auto; here for centering on larger screens */
}

/* Heading styles */
.rightsCloudWrap h1 {
    font-size: 2em; /* Moderate size for main heading */
    line-height: 1.2; /* Tighter line height for headings */
    margin-top: 0; /* Remove default top margin for first element */
    margin-bottom: 0.8em; /* Space after the heading */
    font-weight: 600; /* Slightly bolder than default */
}

.rightsCloudWrap h2 {
    font-size: 1.75em; /* Secondary heading size */
    line-height: 1.3;
    margin-top: 1.5em; /* Space before heading */
    margin-bottom: 0.7em;
    font-weight: 600;
}

.rightsCloudWrap h3 {
    font-size: 1.25em; /* Tertiary heading size */
    line-height: 1.4;
    margin-top: 1.2em;
    margin-bottom: 0.6em;
    font-weight: 500; /* Slightly less bold */
}

.rightsCloudWrap h4 {
    font-size: 1.1em; /* Sub-heading size */
    line-height: 1.4;
    margin-top: 1em;
    margin-bottom: 0.5em;
    font-weight: 500;
}

.rightsCloudWrap h5 {
    font-size: 1em; /* Smallest heading, often same as body but bold */
    line-height: 1.5;
    margin-top: 1em;
    margin-bottom: 0.4em;
    font-weight: 500;
}

/* Paragraph style */
.rightsCloudWrap p {
    font-size: 1rem; /* Standard body text size */
    line-height: 1.6; /* Good readability for body text */
    margin-bottom: 1em; /* Space between paragraphs */
}

/* List styles */
.rightsCloudWrap ul {
    list-style-type: disc; /* Default bullet style */
    margin-left: 20px; /* Indent the list */
    padding-left: 0; /* Often reset padding, then use margin-left for indentation */
    margin-bottom: 1em; /* Space after the list */
}

.rightsCloudWrap ol {
    list-style-type: decimal; /* Default numbered style */
    margin-left: 20px;
    padding-left: 0;
    margin-bottom: 1em;
}

.rightsCloudWrap li {
    font-size: 1rem; /* List item text size */
    line-height: 1.6; /* Line height for list items */
    margin-bottom: 0.5em; /* Space between list items */
}

#hero h1{
    color: #fff;
}
.list-group-item strong {
  flex: 0 0 205px;
}

@media (max-width: 767px){
    .list-group-flush>.list-group-item{
        flex-direction: column;
        text-align: center;
    }

    .list-group-item strong{
        flex: 0;
    }
}

.modal-title,
.bg-primary h2{
    color: #fff;
}

.wr{
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    main{
        flex: 1;
    }
}