html {
    background-repeat: no-repeat;
    background-size: cover;
    scroll-behavior: smooth;
}

:root {
    --white: #fffffc;
    --black: #111111;
    --grey: #4F4F4F;
    --light-grey: #CFCFCF;
    --blue-tint: rgba(72, 149, 191, 0.25);
    --magenta-tint: rgba(177, 141, 209, 0.25);
    --navy-tint: rgba(2, 24, 120, 0.25);
    --primary: #021878;
    --primary-hint: rgba(2, 24, 120, 0.08);
    --primary-fade: rgba(2, 24, 120, 0.75);
    --primary-gradient: linear-gradient(180deg, #66921F 0%, #4895BF 100%);
;
}


@keyframes slidein {
    from {
      margin-left: 25%;
      opacity: 0;
      /* width: 100%; */
    }
  
    to {
      margin-left: 0%;
      /* width: 100%; */
    }
}

@keyframes riseup {
    from {
      margin-top: 28vh;
      opacity: 0;
    }
  
    to {
      margin-top: 16vh;
    }
}

@keyframes homerise {
    from {
      margin-top: 100px;
      opacity: 0;
    }
  
    to {
      margin-top: 0px;
    }
}

@keyframes riseupM {
    from {
      margin-top: 100px;
      opacity: 0;
    }
  
    to {
      margin-top: 80px;
    }
}

body {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    color: var(--black);
    align-items: center;
    align-content: center;
    overflow-x: hidden;
    scroll-behavior: smooth;
    background-color: var(--white);
    font-weight: 400; 
}

main {
    overflow-x: hidden;
}

section {
    margin-top: 0;
}


/* TEXT STYLES */
    h1, h2, h3, h4 {
        font-family: 'Fraunces', serif;
        font-weight: 600; 
    }

    h1 {
        font-size: 3.75em; /* 63.96pt */
        line-height: 1em;
        margin-bottom: 20px;
    }

    h2 {
        font-size: 2.25em; /* 45.23pt */
        line-height: 1.2222em;
        margin-bottom: 10px;
    }

    h3 {
        font-size: 1.5em; /* 28pt */
        line-height: 1.3333em;
        margin-bottom: 10px;
    }

    .large-p {
        font-size: 1.25em;
        line-height: 1.5em;
        /* margin-bottom: 1em; */
    }

    p {
        line-height: 1.375em;
        margin-bottom: 1em;
    }

    .small-p {
        font-size: 0.875em;
        line-height: 1.375em;
        margin-bottom: 0;
        color: var(--grey);
    }

    a {
        color: Black;
        text-decoration: none;
        font-size: 1.125rem;
        font-weight: 500;
    }

    p a {
        text-decoration: underline;
        color: blue;
        font-family: 'Noto Sans', sans-serif;
    }
    
    /* ul {
        list-style-type: disc;
        padding-left: 40px;
    } */
    
    /* li {
        font-size: 1.125em;
        line-height: 1.5em;
        margin-bottom: 0.5em;
    } */
    
    /* strong {
        font-weight: 600;
    } */


/* HEADER */
    header {
        width: 100%;
        z-index: 1000;
    }

    #skiptocontent a {
        padding: 8px;
        position: absolute;
        top: 110px;
        left: -210px;
        color: white;
        border-right: 1px solid white;
        border-bottom: 1px solid white;
        border-top: 1px solid white;
        border-bottom-right-radius: 8px;
        border-top-right-radius: 8px;
        background: #BF1722;
        -webkit-transition: top 1s ease-out;
        transition: left 1s ease-out;
        z-index: 1000;
    }

    #skiptocontent a:focus {
        left:0px;
    }

    .header-container {
        max-width: 1440px;
        max-height: 100px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 20px;
    }

    .logo img {
        max-height: 82px;
    }

    .desk-wrapper {
        display: flex;
        flex-direction: row;
        padding: 0px;
        gap: 16px;
        align-items: center;
    }

    .mob-wrapper {
        display: none;
    }

    nav {
        /* margin-right: 25px; */
        padding-right: 20px;
    }


    .navButton{
        text-align: center;
        padding: 12px 16px 12px 16px;
        display: inline-block;
        position: relative;
        border-radius: 4px;
        border: 2px solid var(--white);
        /* max-width: 160px; */
    }

    .primaryButton {
        background-color: var(--primary);
        color: var(--white);
        border: 2px solid var(--primary);
    }
    
    .secondaryButton {
        background-color: var(--white);
        color: var(--primary);
        border: 2px solid var(--primary);
    }
    
    
    .navButton:hover, .navButton:focus {
        transition-duration: 0.25s;
        transition-timing-function: ease-out;
        /* border: 2px solid var(--light-grey); */
        background-color: var(--primary-hint);
    }
    
    .primaryButton:hover, .primaryButton:focus {
        transition-duration: 0.25s;
        transition-timing-function: ease-out;
        background-color: var(--primary-fade);
        /* border: 2px solid var(--primary-fade); */
    }
    
button, input[type="submit"], input[type="reset"] {
    border: 2px solid var(--primary);
	background: var(--primary);
	color: var(--white);
	border: none;
	padding: 0;
	font: inherit;
	cursor: pointer;
	outline: inherit;
}

input[type="submit"]:hover, input[type="submit"]:focus {
    transition-duration: 0.25s;
    transition-timing-function: ease-out;
    background-color: var(--primary-fade);
    /* border: 2px solid var(--primary-fade); */
}

.home-container {
    /* max-width: 860px; */
    min-height: 40vh;
    /* margin: 0 auto; */
    display: flex;
    justify-content: center;
    margin: 0 24px;
    gap: 48px;
    position: relative;
    align-items: center;
    padding: 136px 0;
}

.hero-textbox {
    width: 100%;
    max-width: 670px;
    /* margin: 24vh auto 10px auto; */
    padding-left: 20px;
    padding-right: 20px;
    strong {
        background-image: var(--primary-gradient);
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent;
    }
}

#how-it-works {
    margin: 80px 0;
}

#our-team {
    margin: 48px 0 122px 0;
}

.container {
    margin: 0 auto;
    /* max-width: 1280px; */
    display: flex;
    flex-direction: column;
    gap: 48px;
    /* justify-content: center; */
    align-items: center;
}

/* SUBSCRIBE SECTION */
    .subscribe-container {
        display: flex;
        margin: 0 auto;
        padding: 0 24px;
        text-align: center;
        justify-content: center;
        border-top: 1px solid var(--black);
        border-bottom: 1px solid var(--black);
    }

    #subscribe-textbox {
        width: 100%;
        max-width: 600px;
        text-align: right;
        padding: 48px;
        h3 {
            margin-bottom: 0px;
        }
    }

    .subscribeBox {
        display: flex;
        align-items: center;
        border-left: 1px solid var(--black);
        padding: 48px;
    }

    #mainSubscribe {
        display: flex;
        flex-direction: row;
        gap: 8px;
        justify-content: start;
        align-items: center;
        p {
            margin-bottom: 0;
        }
    }

    #subscribedMsg {
        margin-bottom: 0;
    }

    .emailInput {
        flex: 1;
    }

    input {
        /* font-weight: 400; */
        max-width: 180px;
        font-size: 16px;
        line-height: 1.175em;
        height: 28px;
        padding: 8px 12px;
        align-items: center;
        gap: 8px;
        border-radius: 4px;
        border: 2px solid var(--black);
    }
    
    input[type=submit] {
        height: 48px;
        min-width: 80px;
        min-height: auto;
        padding: 0 16px;
        /* margin: auto; */
        font-family: var(--special);
    }


/* VISUALS */
    #stars {
        position: absolute;
        top: -20px;
        right: -48px;
        width: 62px;
    }

    #squiggle {
        position: absolute;
        left: 15px;
        bottom: -12px;
        /* top: -20px; */
        /* right: -48px; */
        width: 140px;
    }

    #red_doodle {
        position: absolute;
        left: 0px;
        top: -80px;
        width: 80px;
    }

    #blue_doodle {
        position: absolute;
        right: 12px;
        bottom: -122px;
        width: 115px;
    }

    .wave {
        width: 100%;
    }


.heading {
    position: relative;
}

.textbox {
    max-width: 560px;
    padding-left: 16px;
    padding-right: 16px;
}

#tagline {
    max-width: 780px;
    text-align: center;
    margin: 40px 24px;
}

.mediabox {
    width: 100%;
    max-width: 420px;
    margin-top: auto;
    margin-bottom: auto;
    padding-left: 20px;
    padding-right: 20px;
    img {
        width: 100%;
        max-width: 420px;
        max-height: 420px;
    }
}

.step-container {
    width: 100%;
    max-width: 1120px;
    /* margin-bottom: 48px; */
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
}

#step-one {
    align-items: flex-start;
}

#step-three {
    align-items: flex-end;
}

.step-wrapper {
    max-width: 620px;
    display: flex;
    flex-direction: row;
    gap: 0px;
    justify-content: center;
    align-items: center;
    margin: 0 24px;
    img {
        max-width: 120px;
    }
    h3 {
        margin-bottom: 8px;
    }
    p {
        margin-bottom: 0;
    }
}


/* Cards */
    .card-container {
        position: relative;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin: 0 24px;
        gap: 48px;
    }
    
    .card {
        position: relative;
        width: 260px;
        padding: 16px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        border-radius: 8px;
        /* transform: translate(12px, -14px); */
        transition-duration: 0.25s;
        transition-timing-function: ease-out;
    }

    #lauren-card {
        background-color: var(--blue-tint);
    }
    #ryan-card {
        background-color: var(--magenta-tint);
    }
    #avintha-card {
        background-color: var(--navy-tint);
    }

    /* .card:hover {
        transition-duration: 0.25s;
        transition-timing-function: ease-out;
        transform: translate(0px, 0px);
    } */

    .cardImg {
        width: 100%;
        height: 346px;
        border-radius: 4px;
        overflow: hidden;
        object-fit: cover;
    }

    .cardLabel {
        width: 100%;
        h3 {
            margin-bottom: 0px;
        }
    }


/* FOOTER */
    footer {
        position: relative;
        background-color: var(--darkdirt);
        /* background-color: var(--sky); */
        z-index: 1000;
    }

    .footer-container {
        max-width: 1440px;
        margin: 0 auto;
        display: flex;
        gap: 16px;
        justify-content: space-around;
        align-items: center;
        padding: 48px 24px;
    }

    .contact-info p {
        font-weight: 400;
        margin-bottom: 0px;
    }

    .legal {
        text-align: center;
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

/* Medium Screen View */
@media (max-width: 976px) {
    .desk-wrapper {
        display: none;
    }

    .mob-wrapper {
        display: block;
    }

    nav {
        padding: 0px;
    }

    #mobile-nav {
        display: none;
        position: absolute;
        margin-top: 8px;
        right: 8px;
    }

    #burgermenu {
        padding: 0 20px;
        width: 32px;
    }

    .navButton {
        display: block;
        padding: 16px 16px;
        margin-top: -2px;
        margin-left: -50px;
        width: 108px;
        background-color: var(--white);
    }

    .primaryButton {
        background-color: var(--primary);
    }

    .container {
        flex-wrap: wrap;
    }

    .mobile-ordering {
        flex-direction: column-reverse;
    }

    /* .textbox {
        margin-bottom: 20px;
        max-width: 620px;
        padding-left: 40px;
        padding-right: 40px;
    }
     */
    .mediabox {
        margin-left: auto;
        margin-right: auto;
    }

}

/* Small Screen View */
@media (max-width: 740px) {
    h1 {
        font-size: 3em; /* 48pt */
        margin-bottom: 20px;
    }
    
    h2 {
        font-size: 2.28em; /* 36.48pt */
        margin-bottom: 10px;
    }
    
    h3 {
        font-size: 1.732em; /* 27.712pt */
        margin-bottom: 10px;
    }
    
    h4 {
        font-size: 1.316em; /* 21.06pt */
        margin-bottom: 10px;
    }
    
    p {
        font-size: 1.125em;
        margin-bottom: 1em;
    }

    .logo img {
        max-height: 48px;
    }
    
    .step-wrapper {
        align-items: start;
        img {
            max-width: 80px;
        }
    }
    
    .mediabox img{
        max-height: 100%;
    }

    .subscribe-container {
        flex-direction: column;
        align-items: center;
    }

    #subscribe-textbox {
        text-align: center;
    }

    .subscribeBox {
        border-left: none;
        padding-top: 0;
        /* padding-bottom: 80px; */
    }

    /* FOOTER */
        .footer-container {
            flex-wrap: wrap;
        }

        .contact-info {
            margin: 24px 0;
        }
}