/* Base styles */

* {
    box-sizing: border-box;
}

html {
    font-size: 18px;
}

html,
body {
    height: 100%;
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}

body,
h1 p,
a {
    margin: 0;
    padding: 0;
}


/* Main content styles */

main {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 20px;
    flex: 1;
}

/* Header styles */

header {
    background-color: #000;
    color: #eded1b;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25em 2.375em;
}


/* Logo styles */

header .logo-container {
    display: flex;
    align-items: left;
    margin-left: 0;
}

header .logo-container a {
    text-decoration: none;
}

header .logo-container img {
    height: 62px;
}

header .logo-container h1 {
    margin-left: 24px !important;
    font-size: 27px;
    cursor: pointer;
    color: #eded1b;
}

.text-content h2 {
    font-size: 37px;
}

.text-content h3 {
    font-size: 26px;
}

.text-content p {
    font-size: 18px;
}

/* Navigation styles */

nav ul.nav-links {
    list-style: none;
    display: flex;
    padding: 0;
    flex-direction: row;
    justify-content: center;
    font-size: 1.35rem;
}

nav ul.nav-links>li {
    position: relative;
    padding: 0 11px;
}

nav .dropdown-content ul,
nav .dropdown-content li {
    list-style-type: none;
    /* Removes bullets */
    margin: 0;
    /* Removes default margin, which could affect layout */
    padding: 0;
    /* Removes default padding, ensuring alignment */
    background-color: #fff;
    /* Ensures the background matches dropdown styling */
}

nav .dropdown-content a {
    display: block;
    padding: 10px 15px;
    color: black;
    text-decoration: none;
    background-color: #fff;
    transition: background-color 0.3s;
}

nav .dropdown-content a:hover {
    background-color: #f0f0f0;
}

nav ul.nav-links a {
    color: #eded1b;
    text-decoration: none;
    transition: text-decoration 0.3s ease;
}

nav ul.nav-links a svg {
    fill: #eded1b;
    text-decoration: none;
    transition: text-decoration 0.3s ease;
}

nav ul.nav-links a:hover,
nav ul.nav-links a:focus {
    text-decoration: underline;
}

nav .dropdown-content {
    display: none;
    position: absolute;
    background-color: #fff;
    box-shadow: 0px 8px 17.6px 0px rgba(0, 0, 0, 0.2);
    z-index: 1;
    min-width: 176px;
    padding: 0;
}

nav .dropdown-content a {
    color: black !important;
    text-decoration: none;
    padding: 10px 15px;
    display: block;
    transition: background-color 0.3s ease;
}

nav .dropdown-content a:hover {
    background-color: #f0f0f0;
}

nav .dropdown:hover .dropdown-content {
    display: block;
}

/* Strategy description styles */

.strategies-container {
    column-count: 2;
}

.hidden {
    display: none;
}

/* Footer styles */

footer {
    background-color: black;
    color: #eded1b;
    font-size: 18px;
    text-decoration: underline;
    text-align: right;
    padding: 22px 55px;
    box-sizing: border-box;
}

footer p {
    display: inline;
    margin-right: 11px;
}

footer a {
    color: inherit;
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
}

/* Yellow section styles */

.yellow-section {
    background-color: #eded1b;
    padding: 0;
}

.yellow-section .container {
    display: grid;
    grid-template-columns: 20% auto;
}

.yellow-section .logo-container {
    grid-column: 1;
    grid-row: 1;
}

.yellow-section .logo-container img {
    width: 100%;
}

.yellow-section .text-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 36px;
    grid-column: 2;
    grid-row: 1;
    padding: 0 8%;
}

.yellow-section .text-content * {
    margin: 0;
}


/* Accordian */

.accordion {
    background-color: #eee;
    color: #444;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    transition: 0.4s;
    display: flex;
    justify-content: space-between;
}

.accordion.active,
.accordion:hover {
    background-color: #ccc;
}

.strategy-list-item a {
    text-decoration: none;
}


/* Strategy tile styles */

.strategies-container {
    column-count: 2;
}

#strategiesList {
    list-style-type: none;
    margin-top: inherit;
    padding-left: 0;
}

.strategy-list-item {
    margin-bottom: 20px;
}

.strategy-list-item a {
    font-size: 18px;
    color: black;
    text-decoration-thickness: 2px;
    transition: text-decoration-thickness 500ms ease-in;
}

.strategy-list-item a:hover {
    text-decoration-thickness: 3px;
}

.strategy-list-item a:visited {
    color: black;
}

.strategy-list-item a:active {
    color: black;
}

.strategy-list-item-impairment {
    color: #333;
}

.back-link {
    color: black;
    text-decoration-thickness: 2px;
    transition: text-decoration-thickness 500ms ease-in;
}

.back-link:hover {
    text-decoration-thickness: 3px;

}

.back-link:active {
    color: black;

}

.back-link:visited {
    color: black;
}

/* styles for individual strategy pages */
.strategy-title {
    margin-bottom: 0;
    font-size: 3rem;
    text-decoration: underline;
}

.strategy-sub-impairment {
    color: #333;
    font-weight: lighter;
    margin: 4px 0 32px 0;
}

.strategy-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.strategy-content img, .strategy-content iframe {
    display: block;
    max-height: 400px;
    margin: 12px auto 12px auto;
}

.accordion a {
    text-decoration: none;
}

/* Adjust text container if video is not present */

.filters label,
.filters input[type="checkbox"] {
    margin-right: 10px;
}


/* Custom checkbox styling */

input[type="checkbox"] {
    display: none;
    /* Hide the default checkbox */
}


/* Container for checkboxes */

.filters {
    display: flex;
    /* Aligns children (checkboxes) in a row */
    flex-wrap: wrap;
    /* Allows wrapping to next line if screen size is small */
    justify-content: start;
    /* Aligns checkboxes to the start of the container */
    gap: 10px;
    /* Adds space between each checkbox */
    padding: 5px 0;
    /* Padding around the entire container for better spacing from other elements */
    margin-bottom: 20px;
    /* Space below the filter container */
}


/* Individual checkbox container styling */

.checkbox-container {
    display: flex;
    /* Ensures the label and hidden checkbox are in line */
    align-items: center;
    /* Vertically centers the label with the checkbox */
    cursor: pointer;
    /* Indicates that the element is clickable */
}


/* Custom checkbox label styling */


/* Custom checkbox label styling */

.checkbox-label {
    background-color: #ddd;
    /* Default background color for unchecked state */
    color: #333;
    /* Default text color for unchecked state */
    padding: 10px 10px 5px 10px;
    /* Padding inside the label for spacing */
    border: 2px solid transparent;
    /* Border to enhance button appearance */
    border-radius: 5px;
    /* Rounded corners for aesthetics */
    transition: background-color 0.3s, color 0.3s;
    /* Smooth transitions for interactions */
    cursor: pointer;
    /* Indicates that the element is clickable */
}


/* Style when checkbox is checked */

.custom-checkbox:checked+.checkbox-label {
    background-color: #4CAF50;
    /* Background color for checked state */
    color: white;
    /* Text color for checked state */
    border-color: #4CAF50;
    /* Border color for checked state */
}


/* Hover effect on unchecked checkbox label */

.checkbox-label:hover {
    background-color: #ccc;
    /* Darker background on hover for unchecked state */
}


/* Hover effect on checked checkbox label */

.custom-checkbox:checked+.checkbox-label:hover {
    background-color: #ddd;
    /* Change to unchecked background color on hover */
    color: #333;
    /* Change to unchecked text color on hover */
}


/* Responsive adjustments */

@media (max-width: 900px) {
    main {
        padding: 10px;
    }
}

@media (max-width: 600px) {
    main {
        padding: 5px;
    }
}

@media (max-width: 768px) {

    body,
    html {
        margin-right: 0 !important;
        padding-right: 0;
        width: 100%;
    }

    main {
        padding: 15px;
    }

    header {
        flex-direction: column;
        padding: 10px;
    }

    .logo-container img {
        height: 40px;
        margin-right: 0;
    }

    .logo-container h1 {
        font-size: 22px;
    }

    nav ul.nav-links {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        padding: inherit;
        justify-content: right;
        box-sizing: border-box;
        margin: 0 10px;
    }

    nav ul.nav-links>li {
        font-size: 26px;
        padding: 5px 0;
        margin: 0 10px;
    }

    nav .dropdown-content {
        position: static;
        width: 100%;
    }

    footer {
        font-size: 1em;
    }

    .yellow-section .container {
        flex-direction: column;
    }

    .yellow-section .logo-container {
        margin-bottom: 20px;
    }

    .yellow-section .text-content {
        text-align: left;
        padding: 15px;
    }

    .yellow-section .text-content h2 {
        font-size: 40px;
        margin-bottom: 10px;
    }

    .yellow-section .text-content h3 {
        font-size: 36px;
        margin-bottom: 18px;
    }

    .yellow-section .text-content p {
        font-size: 30px;
        padding: 0 3%;
        word-break: break-word;
    }

    .yellow-section .text-content h2,
    h3 {
        padding: 0 3%;
    }
}