﻿:root {
    --color-light: #ffffff;
    --color-light-shade: #fafffd;
    --color-dark: #1f577e;
    --color-dark-light: #55a1d5;
    --color-primary: #ab0c09;
    --color-primary-shade: #dbacab;
    --color-dark-text: #333333;
}

body {
    line-height: 1.5;
    font-weight: 400;
    margin: 0;
    font-family: "Inter", 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

header {
    background-color: var(--color-primary);
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 7em;
    margin-top: 1em;
    color:var(--color-light);
}

header a, #dropdownNav a {
    color: var(--color-light);
    padding-bottom: 1em;
}

#navlinks {
    display:flex; 
    align-self: center;
    position: relative;
    padding-left: 2em;
}

#navlinks div {
    margin-right: 1.5em;
    display:none;
}

#navlinks div.subnav {
    display: none;
    position:absolute;
    background: var(--color-dark);
    padding:.25em 0;
}

#navlinks div.subnav div {
    font-size: 1.25rem;
    padding:.25rem 1em;
    margin-right:0;
}

#navlinks div.subnav div:hover {
    background:var(--color-dark-light);
}
 
/* to create the dropdown */
#navlinks div:hover .subnav {
    display: block;
}

#dropdownNav {
    background:var(--color-dark);
}

#dropdownNav div {
    margin-left: 1em;
}

#dropdownNav .about
{
    padding-top:1em;
}

#dropdownNav .lessons
{
    padding-bottom: 1em;
}

#dropdownNav .hamburger {
    display:none;
}

#rightNav {
    text-align: right;
    align-self: center;
    margin-right: 2em;
}

img.logo {
    position: absolute;
    width: 150px;
    height: 150px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    min-width: auto;
    z-index: 99;
}

.body-content {
    padding: 0 1em;
    max-width: 1024px;
    margin: 0 auto;
}

.invite {
    /* Set the parent container to relative position for positioning the title */
    position: relative;
    float: right;
    border: 5px solid var(--color-dark); /* Add a border to the main div */
    border-radius: 25px; /* Optional: adds rounded corners */
    padding: 20px; /* Add padding for content spacing */
    margin: 1.5em 0 0 2em;
    background-color: #f9f9f9; /* Optional: adds a background color */
}

.top-invite {
    position: absolute;
    top: 1.5em;
    right: 1.5em;
    display:none;
}

.mobile-invite {
    display:block;
    width: 100%;
    margin-top:1em;

}

.right {
    float:right;
}

.invite h2 {
    /* Position the header absolutely within the wrapper */
    position: absolute;
    top: -1.5rem; /* Pull the title up so it sits partially over the top border */
    left: 1.5rem; /* Position the title from the left edge */
    background: var(--color-dark); /* Match the background of the wrapper or page to "cut out" the border */
    padding: .35em 1em; /* Add padding around the text */
    margin: 0; /* Reset default margin */
    color: var(--color-light); /* Style the header text color */
    border-radius: 20px;
}

.invite p {
    color: var(--color-dark-text);
}

.two-col {
    position: relative;
}

.standout {
    color: var(--color-light);
    border-radius: 20px;
    padding: .5em 1em;
    font-weight:bold;
    font-size:1.25em;
    text-align: center;
    margin: 1em 1.5em 0 2em;
}

.red-back {
    background: var(--color-primary);    
}

.blue-back {
    background: var(--color-dark);    
}

.standout a {
    color: var(--color-light);
    text-decoration:none;
}

.red-box {
    border: 5px solid var(--color-primary); 
    border-radius: 25px; 
    padding: 20px; 
}

.red-box h2 {
    position: absolute;
    top:-1.25rem;
    left: 1.5rem;
    background: var(--color-primary);
    padding: .35em 1em;
    margin: 0;
    color: var(--color-light);
    border-radius: 20px
}

.hamburger {
    display: block;
    font-size: 2em;
    cursor: pointer;
}

footer {
    margin-top: 2.5em;
    background-color: var(--color-dark);
    color: var(--color-light);
    padding: 1em 2em 2em 2em;
}

footer a {
    color: var(--color-light);
}

footer a:hover {
    color: var(--color-primary);
}



@media (min-width: 50em) {

    #navlinks div {
        display: block;
        font-size: 1.25em;
    }

    .top-invite {
        display:block;
    }
    
    .mobile-invite {
        display:none;
    }

    .hamburger {
        display: none;
    }

    .row {
        display: grid;
        gap: 2em 1.5em;
    }

    .two-col {
        grid-template-columns: 1fr 1fr;
    }

    .three-col {
        grid-template-columns: 1fr 1fr 1fr;
    }
}