/* *** *** Core sytles *** *** */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond&family=MonteCarlo&display=swap');

:root {
    --gold: #A7863E;
    --blush: #F08C87;
    --navy: #333D5B;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 100%;
}

body {
    font-family: 'Cormorant Garamond', serif;
    /*background: url("images/pink_bg.png");*/
    background-image: linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)),
                  url("images/pink_bg.png");
    background-repeat: repeat;
    color: var(--navy);
    text-align: center;
}

img {
    display: block;
    height: auto;
}

p {
    margin: 0;
    padding: 1rem 0;
}

hr {
    margin-bottom: 1rem;
}

.btn {
    display: inline-block;
    background: var(--navy);
    color: #fff;
    text-decoration: none;
    padding: 0.75rem 2.5rem;
    border: 2px solid var(--navy);
    margin: 1rem 0;
    border-radius: 10px;
    transition: 0.3s;
}

.btn:hover {
    background: #fff; 
    color: var(--navy);
}

.title {
    font-size: 2rem;
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem;
}

/* *** *** Header styles *** *** */

header {
    margin: 0.5rem 0.25rem;
}

#title_home_page h1, #title h1 {
    font-size: 2rem;
}

#title_home_page a, #title a {
    color: var(--navy);
    text-decoration: none;
}

#title_home_page a:hover h1, #title a:hover h1 {
    opacity: 0.5;
}

#countdown {
    margin: 0.5rem;
}

.cd_element {
    display: inline-block;
    padding: 0 0.5rem;
}

/* *** *** Bannner image *** *** */
#banner_img {
    width: 100vw;
    max-width: 100%
}

/* *** *** Nav bar *** *** */
nav {
    padding: 1rem 0;
    font-size: 1rem;
    position: sticky;
    top: 0;
    background: rgb(261,241,239);
    /*background: url("images/grey_bg.png");
    background-repeat: repeat;
    background-position: right bottom;*/
    border-bottom: 1px solid #333;
    border-top: 1px solid #333;
}

nav ul {
    display: flex;
    flex-direction: row;
    list-style: none;
    justify-content: center;
}

nav ul a {
    color: var(--navy);
    text-decoration: none;
    padding: 0 0.5rem;
}

nav ul a:hover {
    opacity: 0.5;
}

nav > ul li + li:before {
    content: "\2022";
}

#hammy-icon {
    margin: auto 0;
    display: none;
    cursor: pointer;
}

#hammy-icon div {
    width: 35px;
    height: 3px;
    background-color: var(--navy);
    margin: 3px 0;
    transition: 0.3s;
}

.open .hammy-bar1 {
    -webkit-transform: rotate(-45deg) translate(-6px, 6px);
    transform: rotate(-45deg) translate(-6px, 6px);
}

.open .hammy-bar2 {
    opacity: 0;
}

.open .hammy-bar3 {
    -webkit-transform: rotate(45deg) translate(-6px, -8px);
    transform: rotate(45deg) translate(-6px, -8px);    
}

.open .hammy-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.hammy-nav {
    display: none;
    position: absolute;
    top: 50px;
    left: 0;
    height: calc(100vh - 50px);
    width: 100%;
    background: rgb(261,241,239);
}

.hammy-nav li {
    margin-bottom: 10px;
    font-size: 24px;
}

@media (max-width: 700px) {
/*    nav {
        font-size: 1.15rem;
    }

    nav ul a {
        padding: 0 0.5rem;
    }*/

    nav > ul {
        display: none;
    }

    #hammy-icon {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        padding: 0 1rem;    
    }
}

/* *** *** Home page content *** *** */
.rsvp-btn {
    margin-bottom: 0;
}

#home_page {
    padding: 0 0.5rem;
}

#home_page p {
    padding: 0;
}

/* heart */
#home_page_L1, #home_page_L8 { 
    color: var(--blush);
    font-size: 1.5rem;
    margin-top: 1rem;
}

/* together with their families */
#home_page_L2 {
    font-family: 'MonteCarlo', cursive;
    font-size: 1.5rem;
    color: var(--gold);
}

/* amanda and daniel */
#home_page_L3 { 
    font-size: 2rem;
}

/* joyfully invite you... */
#home_page_L4{
    font-size: 1rem;
    color: var(--gold);
}

/* m-dash */
#home_page_L5{
    color: var(--blush);
}

/* date */
#home_page_L6{
    font-size: 1.5rem;
}

/* location */
#home_page_L7{
    font-size: 1rem;
    color: var(--gold);
}

/* *** *** About us page *** *** */
#about_us h2, #proposal h2, #bios h2, #dogs h2{
    text-align: left;
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

#about_us p, #proposal p, #bios p, #dogs p {
    text-align: left;
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

#proposal_gallery {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
}

#proposal_gallery img {
    width: 90%;
    max-width: 400px;
    border-radius: 10px;
    margin: 1rem;
}

#kodah_pic, #ellie_pic {
    display: flex;
    justify-content: center;
}

#dog_bios img {
    width: 300px;
    border-radius: 10px;
    margin: 1rem;
}

/* *** *** Wedding party *** *** */
#wedding_party_flower_container {
    margin-bottom: 1rem;
}

#wedding_party {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    justify-items: center;
    align-items: center;
    grid-row-gap: 1rem;
}

#wedding_party img {
    height: 120px;
    border-radius: 10px;
    margin-right: 2rem;
    grid-column: 2;
}

#wedding_party span {
    grid-column: 3;
}

.wp-gold {
    color: var(--gold);
}

.wp-pink {
    color: var(--blush);
}

.wp-navy {
    color: var(--navy);
}

.nick {
    background-image: url("images/nick.jpg");
    background-size: contain;
    height: 120px;
    width: 120px;
    border-radius: 10px;
    margin-right: 2rem;
    grid-column: 2;
}

.nick:hover {
    background-image: url("images/nick-alt.jpg");
    background-size: contain;
}

/* *** *** Lodging *** *** */
#hotel_grid {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 1rem;
    padding-right: 1rem;
}

#hotel_grid ul {
    text-align: left;
    padding-left: 2rem;
    margin-top: 1rem;
}

#hotel_grid iframe {
    width: 300px;
    height: 300px;
    margin-bottom: 2rem;
}


/* *** *** Registry *** *** */
.registry_link {
    display: inline-block;
}

.registry_link img {
    width: 100%;
    border: 1px solid #000;
    border-radius: 10px;
    transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
    margin: 1rem;
    max-width: 300px;
}

.registry_link:hover img {
      opacity: 0.5;
}

.registry_link a {
    margin: -1rem;
}

#registry_text p {
    padding: 0 1rem;
}

/* *** *** FAQ *** *** */
#faq {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 1rem;
    text-align: left;
}

/* *** *** To do day of *** *** */
#to-do-day-of {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 1rem;
    text-align: left;
}

#to-do-day-of li {
    display: list-item;
}

#to-do-day-of ul {
    display: block;
    list-style-type: disc;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    margin-left: 0;
    margin-right: 0;
    padding-left: 40px;
}

#to-do-day-of ul ul {
    list-style-type: circle;
    margin-top: 0;
    margin-bottom: 0;
}

#to-do-day-of img {
    object-fit: contain;
    width: 100%;
    max-width: 500px;
    border-radius: 10px;
    margin: 0 auto;
    padding: 1rem;
    text-align: center;
}

/* *** *** To do weekend *** *** */
#to-do-weekend {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 1rem;
    text-align: left;
}

#to-do-weekend li {
    display: list-item;
}

#to-do-weekend ul {
    display: block;
    list-style-type: disc;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    margin-left: 0;
    margin-right: 0;
    padding-left: 40px;
}

#to-do-weekend ul ul {
    list-style-type: circle;
    margin-top: 0;
    margin-bottom: 0;
}

.to-do-weekend-imageflex {
    display: flex;
    flex-wrap: wrap;
}

.to-do-weekend-imageflex img {
    object-fit: contain;
    width: 100%;
    max-width: 400px;
    border-radius: 10px;
    padding: 1rem;
}

.to-do-weekend-imageflex-v img {
    max-width: 300px;
}

/* *** *** RSVP *** *** */
.rsvp-form {
    width: 95%;
    margin: 0 auto;
}

/* *** *** Footer *** *** */
footer {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    text-align: right;
    padding: 0 1rem;
}


/* *** *** Media queries except for nav *** *** */
@media (min-width: 700px) {
    .grid_home {
        display: grid;
        grid-template-columns: 0.5fr 2fr 2fr 0.5fr;
    }

    #title_home_page {
        grid-column: 2;
        align-self: center;
        text-align: left;
    }

    #countdown {
        grid-column: 3;
        align-self: center;
        text-align: right;
    }

    #proposal_gallery {
        grid-template-columns: 2fr repeat(6, 1fr) 2fr;
    }

    #pg-img-1 {
        grid-row: 1;
        grid-column: 2/5;
        align-self: center;
    }

    #pg-img-2 {
        grid-row: 1;
        grid-column: 5/8;
        align-self: center;
    }

    #pg-img-3 {
        grid-row: 2;
        grid-column: 2/4;
        align-self: center;
    }

    #pg-img-4 {
        grid-row: 2;
        grid-column: 6/8;
        align-self: center;
    }

    #pg-img-5 {
        grid-row: 2;
        grid-column: 4/6;
        align-self: center;

    }

    #dogs {
        max-width: 1024px;
        margin-left: auto;
        margin-right: auto;
    }

    #dog_bios {
        display: flex;
        justify-content: center;
    }
}

@media (min-width: 1024px) {
    html {
        font-size: 125%;
    }

    .grid_home {
        grid-template-columns: 1fr 2fr 2fr 1fr;
    }

    #home_page {
        max-width: 960px;
        background-color: #F0EFEF;
        background-image: 
            url("images/home_image_bg_L.png"),
            url("images/home_image_bg_R.png"),
            linear-gradient(to right, #F4F4F4, #ECECEC);
        background-repeat: no-repeat, no-repeat, no-repeat;
        background-position: left top, right bottom, center; 
        border-radius: 10px;
        margin-left: auto;
        margin-right: auto;
    }

    #wedding_party {
        grid-auto-flow: column;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
        justify-items: center;
        align-items: center;
        grid-row-gap: 1rem;
    }

    .boys {
        grid-column: 5 !important;
    }

    .boys-span {
        grid-column: 6 !important;
    }

    #hotel_grid {
        max-width: 1024px;
        margin-left: auto;
        margin-right: auto;
        display: grid;
        grid-auto-flow: column;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: 2fr 1fr 2.5fr;
        align-items: start;
    }

    #to-do-day-of img {
        float: right;
    }

    footer {
        font-size: 0.8rem;
    }
}