/*! HTML5 Boilerplate v7.3.0 | MIT License | https://html5boilerplate.com/ */

@import url('https://fonts.cdnfonts.com/css/bulgatti');
@import url('https://fonts.cdnfonts.com/css/lora');

/* main.css 2.0.0 | MIT License | https://github.com/h5bp/main.css#readme */


/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */


/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}


/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}


/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}


/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}


/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}


/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}


/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */


/* ==========================================================================
   section */

section {
    padding: 8px 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

section h1.section-title {
    font-size: 48px;
    color: var(--primary-color);
    font-family: 'Bulgatti', sans-serif;
}

#header {
    height: 100vh;
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/bg.jpg);
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    -ms-background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
    min-height: 350px;
    position: relative;
}

#couple {
    min-height: 50vh;
    background: var(--section-background-portrait);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#love {
    min-height: 50vh;
    background: var(--section-background-portrait);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    display: flex;
    align-content: center;
    align-items: center;
}

#event {
    min-height: 100vh;
    background: var(--section-background-portrait);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#gallery {
    min-height: 100vh;
    background: var(--section-background-portrait);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#game {
    min-height: 100vh;
    background: var(--section-background-portrait);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding-bottom: 16px;
}

#gift-form {
    padding: 5%;
    min-height: 50vh;
    min-width: 80vw;
    flex: 1 1 auto;
}

#wishes {
    min-height: 100vh;
    background: var(--section-background-portrait);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#gift {
    min-height: 70vh;
    background: var(--section-background-portrait);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#comment {
    padding: 5%;
    min-height: 50vh;
    min-width: 80vw;
    flex: 1 1 auto;
}

#foot {
    margin-bottom: 48px;
    background: var(--momerit-primary-color-light)
}

@font-face {
    font-family: 'Bulgatti', sans-serif;
}


/* ==========================================================================*/

:root {
    --momerit-primary-color: #b95a26;
    --momerit-primary-color-light: #f08852;
    --momerit-primary-color-dark: #832d00;
    --primary-color: #1e497a;
    --primary-color-light: #5274a9;
    --primary-color-dark: #00224e;
    --bottom-nav-inactive: #5274a9;
    --bottom-nav-active: #00224e;
    --title-white: white;
    --section-background-portrait: url(../assets/Background.svg);
}


/* ============== Header ================== */

.header-container {
    width: 100%;
    height: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
}

.video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--primary-color);
}

.video-container video {
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.video-container:after {
    content: '';
    z-index: 1;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
}

.header-container h1 {
    font-size: 38px;
    color: var(--title-white);
    font-family: 'Bulgatti', sans-serif;
}

.header-container span {
    font-size: 18px;
    color: var(--title-white);
    font-family: 'Lora', sans-serif;
}

.header-container h1.mempelai {
    font-size: 80px;
    color: var(--title-white);
    font-family: 'Bulgatti', sans-serif;
}

.header-container-content {
    z-index: 2;
    align-items: center;
    justify-content: center;
}

.header-container-content h3 {
    font-size: 30px;
    color: var(--title-white);
    max-width: 100%;
}


/* ============= couple ================== */

.couple-container {
    min-height: 50vh;
    flex: 0 0 auto;
    margin: 32px;
    padding: 16px;
    background: #fff;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    display: flex;
}

.couple-content {
    min-height: 50vh;
    flex: 1 1 auto;
    border: 3px solid var(--primary-color);
    height: 100%;
    padding-top: 5%;
    padding-bottom: 10%;
    align-items: center;
    display: flex;
    text-align: center;
    flex-direction: column;
    justify-content: space-evenly;
}

.couple-content h2 {
    color: #000;
    font-size: 16px;
    margin-bottom: 32px;
    font-family: 'Lora', sans-serif;
}

.couple-content h1.couple-name {
    color: #000;
    font-size: 60px;
    font-weight: 500;
    margin-bottom: 1.5rem;
    text-align: center;
    font-family: 'Bulgatti', sans-serif;
}
.couple-content span {
    color: #000;
    font-size: 26px;
    font-weight: 900;
    margin-bottom: 1.5rem;
    text-align: center;
    font-family: 'Bulgatti', sans-serif;
}


@media (max-width: 480px) {
    .couple-content h1.couple-name {
        font-size: 22px;
    }
    .couple-content span {
        font-size: 12px;
    }
}


.couple-content img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
}

.couple-content p.couple-desc {
    color: #000;
    font-size: 20px;
    max-width: 85%;
    font-family: 'Lora', sans-serif;
}


/* =========== Love Story =============== */

.love-story-title {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.love-story-container {
    /* The actual timeline (the vertical ruler) */
    position: relative;
    max-width: 1200px;
    width: 100%;
}

.love-story-container::after {
    /* The actual timeline (the vertical ruler) */
    content: '';
    position: absolute;
    width: 6px;
    background-color: var(--primary-color-dark);
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -3px;
}

.love-story-card {
    /* Container around content */
    padding: 10px 40px;
    position: relative;
    background-color: inherit;
    width: 100%;
}

.love-story-card::after {
    /* The circles on the timeline */
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    right: -13px;
    background-color: white;
    border: 4px solid var(--primary-color);
    top: 15px;
    border-radius: 50%;
    z-index: 1;
}

.card-left {
    /* Place the container to the left */
    left: 0;
    max-width: 50%;
}

.card-right {
    /* Place the container to the right */
    left: 50%;
    max-width: 50%;
}

.card-left::before {
    /* Add arrows to the left container (pointing right) */
    content: " ";
    height: 0;
    position: absolute;
    top: 22px;
    width: 0;
    z-index: 1;
    right: 30px;
    border: medium solid var(--primary-color-light);
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent var(--primary-color-light);
}

.card-right::before {
    /* Add arrows to the right container (pointing left) */
    content: " ";
    height: 0;
    position: absolute;
    top: 22px;
    width: 0;
    z-index: 1;
    left: 30px;
    border: medium solid var(--primary-color-light);
    border-width: 10px 10px 10px 0;
    border-color: transparent var(--primary-color-light) transparent transparent;
}


/* Fix the circle for containers on the right side */

.card-right::after {
    left: -13px;
}


/* The actual content */

.card-content {
    padding: 20px 30px;
    background-color: var(--primary-color-light);
    position: relative;
    border-radius: 6px;
}

.card-content p {
    color: white;
}
.card-content h2 {
    color: white;
}


/* Media queries - Responsive timeline on screens less than 600px wide */

@media screen and (max-width: 600px) {
    /* Place the timelime to the left */
    .love-story-container::after {
        left: 31px;
    }
    /* Full-width containers */
    .love-story-card {
        width: 100%;
        padding-left: 70px;
        padding-right: 25px;
    }
    /* Make sure that all arrows are pointing leftwards */
    .love-story-card::before {
        left: 60px;
        border: medium solid var(--primary-color-light);
        border-width: 10px 10px 10px 0;
        border-color: transparent var(--primary-color-light) transparent transparent;
    }
    /* Make sure all circles are at the same spot */
    .card-left::after,
    .card-right::after {
        left: 19px;
    }
    /* Make all right containers behave like the left ones */
    .card-right {
        left: 0%;
        max-width: 100%;
    }
    .card-left {
        max-width: 100%;
    }
}


/* ============= event ================== */

.event-container {
    width: 100%;
    min-height: 40vh;
    justify-content: center;
    align-items: stretch;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-direction: column;
}

.event-container img {
    max-width: 80%;
}

.event-container p.bln {
    color: #0C0C0C;
    font-size: 20px;
    font-weight: 500;
    font-family: 'Lora', sans-serif;
    margin-bottom: 0px;
}

.event-container p.har {
    color: #0C0C0C;
    font-size: 23px;
    font-weight: 400;
    font-family: 'Lora', sans-serif;
}

.event-container p.dat {
    color: #0C0C0C;
    font-size: 70px;
    font-family: 'Lora', sans-serif;
    margin-bottom: 0px;
}

.event-container p.time {
    color: #0C0C0C;
    font-size: 28px;
    font-weight: 400;
    font-family: 'Lora', sans-serif;
}

.event-container p.lok {
    color: #0C0C0C;
    font-size: 16px;
    font-weight: 400;
    font-family: 'Lora', sans-serif;
    margin-top: 32px;
}

.event-row {
    flex: 1 0 auto;
    flex: 100%;
    display: flex;
    flex-wrap: wrap;
    /* align horizontal */
    justify-content: center;
    /* align vertical */
    align-items: center;
}

.event-row-wrap {
    display: flex;
    flex-wrap: wrap;
    /* align horizontal */
    justify-content: center;
    /* align vertical */
    align-items: center;
    padding: 0 4px;
    text-align: center;
    margin-bottom: 18px;
}

.event-row-item {
    display: flex;
    flex-wrap: wrap;
    /* align horizontal */
    justify-content: center;
    /* align vertical */
    align-items: center;
    padding: 0 4px;
    text-align: center;
    margin-bottom: 0px;
}

.event-col {
    height: 100%;
    flex: 1 1 33%;
    max-width: 33%;
    flex-direction: column;
    display: flex;
    /* align horizontal */
    justify-content: center;
    /* align vertical */
    align-items: center;
    text-align: center;
}


/* ============= map ================== */

.map-container {
    min-height: 400px;
    width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    padding-bottom: 32px;
    display: flex;
}

.map-iframe {
    width: 100%;
    box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.4);
}

.responsive-iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}


/* ============= gallery ================== */

.gallery-title-container {
    display: flex;
    flex: 1 1 auto;
    width: 100%;
    align-items: center;
    justify-content: center;
}

.gal-group {
    display: flex;
    flex-wrap: wrap;
    padding: 0 4px;
    align-items: center;
}

.gal-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    flex: 1 0 auto;
}

.gal-col {
    flex: 50%;
    max-width: 90%;
    padding: 0 4px;
    display: flex;
    flex-direction: column;
}

.gal-col img {
    margin-top: 8px;
    vertical-align: middle;
    width: 100%;
    display: flex;
}


/* =================== Game ===================== */

.game-title-container {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.wrap {
    display: flex;
    flex: 1 0 auto;
    height: 80vh;
    min-height: 500px;
    padding-bottom: 20px;
}

.game-container {
    display: flex;
    flex: 1 0 auto;
    flex-wrap: wrap;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-perspective: 500px;
    perspective: 500px;
    min-height: 100%;
    height: 100%;
    width: 100%;
}

@-webkit-keyframes matchAnim {
    0% {
        background: #bcffcc;
    }
    100% {
        background: white;
    }
}

@keyframes matchAnim {
    0% {
        background: #bcffcc;
    }
    100% {
        background: white;
    }
}

.card {
    float: left;
    width: 20%;
    height: 40%;
    padding: 4px;
    text-align: center;
    display: block;
    -webkit-perspective: 500px;
    perspective: 500px;
    position: relative;
    cursor: pointer;
    z-index: 50;
    margin-bottom: 8px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@media (max-width: 800px) {
    .card {
        width: 30%;
        height: 20%;
    }
}

.card .inside {
    width: 100%;
    height: 100%;
    display: block;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    background: white;
}

.card .inside.picked,
.card .inside.matched {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}

.card .inside.matched {
    -webkit-animation: 1s matchAnim ease-in-out;
    animation: 1s matchAnim ease-in-out;
    -webkit-animation-delay: .4s;
    animation-delay: .4s;
}

.card .front,
.card .back {
    border: 1px solid black;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px;
}

.card .front img,
.card .back img {
    max-width: 100%;
    display: block;
    margin: 0 auto;
    max-height: 100%;
    height: 100%;
    object-fit: cover;
}

.card .front {
    -webkit-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
}

@media (max-width: 800px) {
    .card .front {
        padding: 5px;
    }
}

.card .back {
    -webkit-transform: rotateX(0);
    transform: rotateX(0);
}

@media (max-width: 800px) {
    .card .back {
        padding: 10px;
    }
}

.modal-overlay {
    display: none;
    background: rgba(0, 0, 0, 0.8);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9998;
}

.modal {
    display: none;
    position: relative;
    width: 500px;
    max-height: 90%;
    max-width: 90%;
    min-height: 380px;
    margin: 0 auto;
    background: white;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 30px 10px;
}

.modal .winner {
    font-size: 60px;
    text-align: center;
    font-family: 'Lora', sans-serif;
    color: #4d4d4d;
}

@media (max-width: 480px) {
    .modal .winner {
        font-size: 40px;
    }
}

.modal .restart {
    font-family: 'Lora', sans-serif;
    margin: 30px auto;
    padding: 20px 30px;
    display: block;
    font-size: 30px;
    border: none;
    background: #4d4d4d;
    background: -webkit-gradient(linear, left top, left bottom, from(#4d4d4d), to(#222));
    background: linear-gradient(#4d4d4d, #222);
    border: 1px solid #222;
    border-radius: 5px;
    color: white;
    text-shadow: 0px 1px 0 black;
    cursor: pointer;
}

.modal .restart:hover {
    background: -webkit-gradient(linear, left top, left bottom, from(#222), to(black));
    background: linear-gradient(#222, black);
}

.modal .message {
    text-align: center;
}

.modal .message a {
    text-decoration: none;
    color: #28afe6;
    font-weight: bold;
}

.modal .message a:hover {
    color: #56c0eb;
    border-bottom: 1px dotted #56c0eb;
}


/* ============= Friend Wishes ================== */

.form-row {
    margin-left: -15px;
    margin-right: -15px;
}

.form-row .form-group {
    padding: 15px 15px 0;
    align-self: flex-end;
}

.form-group {
    position: relative;
    padding-top: 15px;
    margin-bottom: 30px;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    border: 1px #00000000;
    -webkit-text-fill-color: #000;
    -webkit-box-shadow: 0 0 0px 0px #00000000 inset;
    transition: background-color 5000s ease-in-out 0s;
}

.form-control {
    border: 0;
    border-radius: 0;
    padding: 10px 10px;
    background-color: transparent;
    position: relative;
    z-index: 2;
    font-size: 0.9rem;
    color: #000;
}

.form-control:not(textarea) {
    height: 44px;
}

.form-control+label {
    position: absolute;
    z-index: 1;
    top: 25px;
    margin: 0;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    pointer-events: none;
    left: 10px;
    right: 10px;
    color: #000;
}

.form-control:focus {
    box-shadow: none;
    background-color: transparent;
    color: #000;
}

.form-control:focus+label {
    color: #000;
}

.form-control:focus+label,
.form-control.has-value+label {
    font-size: 0.75rem;
    top: 0;
}

.no-js .form-control+label {
    font-size: 0.75rem;
    top: 0;
    color: #000;
}

.form-row .form-control+label {
    left: 25px;
    right: 25px;
    color: #000;
}

.form-row .line {
    left: 15px;
    right: 15px;
}

.form-button-group {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: space-around;
    justify-content: space-evenly;
    height: 150px;
}

.line {
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background-color: #0A0A0A;
    background-image: -o-linear-gradient(left, #EBEFF3 0%, #CBCFD3 100%);
    background: -webkit-gradient(linear, left top, right top, from(#EBEFF3), to(#CBCFD3));
    background: linear-gradient(to right, #EBEFF3 0%, #CBCFD3 100%);
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='$from', endColorstr='$to', GradientType=1);
}

.line:after {
    content: "";
    height: 2px;
    position: absolute;
    display: block;
    background: #1099AB;
    left: 0;
    right: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform 0.2s ease-in-out;
    transition: -webkit-transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
}

.form-control:focus~.line:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

select.form-control:not([size]):not([multiple]) {
    height: 44px;
}

.wishes-item {
    display: flex;
    width: 100%;
    min-width: 50%;
    min-height: 25vh;
    padding: 20px;
    text-align: center;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.content-wish {
    display: flex;
    min-width: 80vw;
    min-height: 60vh;
    background: rgba(255, 255, 255, 0.5);
    text-align: center;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.content-wish h2,
h3 {
    font-family: 'Lora', sans-serif;
    color: #000;
    max-width: 70vw;
}

.content-wish p {
    font-family: 'Lora', sans-serif;
    color: #000;
    max-width: 70vw;
}

.content-wish h2 {
    /* message */
    font-size: 22px;
}

.content-wish h3 {
    /* name */
    font-size: 20px;
    font-weight: 500;
}

.content-wish p {
    /* ig */
    font-size: 18px;
}

.wishes-container .wishes-group img {
    flex: 0 1 auto;
    max-width: 30vw;
    height: auto;
}

.wishes-group {
    display: flex;
    flex-wrap: wrap;
    padding: 0 4px;
    align-items: center;
}

.wishes-container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    padding: 0 4px;
    align-items: center;
    justify-content: center;
}

.wishes-container img {
    max-width: 50vw;
    display: flex;
    flex-wrap: wrap;
    padding: 0 4px;
    flex: 1 0 auto;
}


/* ============= foot ======================== */

.foot-container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.foot-container img {
    width: 50%;
    max-width: 100px;
}

.foot-container h2 {
    font-size: 16px;
}


/* ============= Bottom Nav ================== */

.mobile-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    will-change: transform;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    display: -webkit-box;
    display: flex;
    flex-direction: row;
    height: 60px;
    padding-top: 16px;
    box-shadow: 0 -2px 5px -2px #333;
    background-color: #fff;
}

.mNav {
    -webkit-box-flex: 1;
    flex-grow: 1;
    text-align: center;
    font-size: 12px;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
}

.mNav a {
    color: var(--bottom-nav-inactive);
}

.mNav svg {
    fill: var(--bottom-nav-inactive);
}

.mNavActive {
    color: var(--bottom-nav-active);
}

.mNavActive svg {
    fill: var(--bottom-nav-active);
}

.mNavActive p {
    color: var(--bottom-nav-active);
}

.navli {
    height: 100%;
    width: 100%;
    flex: 1 1 auto;
    flex-direction: row;
}

.mNavContent {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    align-items: center;
}


/* ============= overlay ================== */

.overlay {
    /* Height & width depends on how you want to reveal the overlay (see JS below) */
    height: 100%;
    width: 100%;
    /* Stay in place */
    position: fixed;
    /* Sit on top */
    z-index: 9999;
    left: 0;
    top: 0;
    /* Black fallback color */
    background-color: rgb(0, 0, 0);
    /* Black w/opacity */
    background-color: rgba(0, 0, 0, 0.8);
    /* Disable horizontal scroll */
    overflow-x: hidden;
    transition: 0.5s;
    display: flex;
    align-content: center;
    justify-content: center;
    padding-top: 20vh;
    padding-bottom: 20vh;
    /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}

.overlay-container {
    width: 50%;
    flex-direction: column;
    display: flex;
    background-color: rgb(222, 222, 222);
    border-radius: 32px;
    /* align horizontal */
    justify-content: center;
    text-align: center;
    align-content: center;
}

@media (max-width: 480px) {
    .overlay-container {
        width: 75%;
    }
}

.overlay-container h1 {
    font-size: 20px;
    color: #000000;
}

.guest-name h1{
    font-size: 26px;
    font-weight: bold;
    color: #000000;
    margin: 8px 16px;
    max-lines: 4;
}

.overlay-container h2 {
    font-size: 16px;
    color: #000000;
}

.overlay-container p {
    font-size: 12px;
    color: #000000;
}

.overlay-container img {
    width: 15%;
}

.loader {
    display: flex;
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid var(--momerit-primary-color);
    width: 120px;
    height: 120px;
    -webkit-animation: spin 2s linear infinite; /* Safari */
    animation: spin 2s linear infinite;
}

.loading-container{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Safari */
@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.audio-container {
    flex-direction: column;
    display: flex;
    width: 100%;
    padding-top: 16px;
    margin-bottom: 32px;
    align-items: center;
    justify-content: center;
}

.audio-container img {
    margin-top: 80px;
    margin-bottom: 70px;
}

@media only screen and (min-width: 768px) {
    .gal-col {
        flex: 12.5%;
        max-width: 12.5%;
        padding: 0 4px;
        display: flex;
        flex-direction: column;
    }
}

@media only screen and (min-width: 35em) {}


/* ==========================================================================
   Helper classes
   ========================================================================== */


/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}


/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
*    causes content to wrap 1 word per line:
*    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/

.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
    /* 1 */
}


/*
* Extends the .sr-only class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/

.sr-only.focusable:active,
.sr-only.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: inherit;
    width: auto;
}


/*
* Hide visually and from screen readers, but maintain layout
*/

.invisible {
    visibility: hidden;
}


/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
*    `contenteditable` attribute is included anywhere else in the document.
*    Otherwise it causes space to appear at the top and bottom of elements
*    that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
*    `:before` to contain the top-margins of child elements.
*/

.clearfix:before,
.clearfix:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}

.clearfix:after {
    clear: both;
}


/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}


/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        /* Black prints faster */
        box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]:after {
        content: " (" attr(href) ")";
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }
    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }
    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    /*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
    thead {
        display: table-header-group;
    }
    tr,
    img {
        page-break-inside: avoid;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}