:root {
    --primary-color: #60906e;
    --secondary-color: #b8a3ad;
    /*--tertiary-color: #703a2a;*/
    --tertiary-color: #232150;
    --quaternary-color: #703a2a;
}

@media only screen and (max-width: 768px){
    .desktop-only {
        display: none;
    }
}

@media only screen and (min-width: 769px){
    .mobile-only {
        display: none;
    }
}

body {
    margin: 0;
    overflow-y: hidden;
}

.body-container {
    display: flex;
    flex-direction: row;
    min-height: 100vh;
    padding-left: 0%;
    padding-right: 0%;
    max-width: 100vw;
    overflow-x: hidden;
    max-height: 100vh;
    overflow-y: scroll;
    overscroll-behavior: none;
}

@font-face {
    font-family: 'Updock';
    src: url('Updock-Regular.ttf');
}

@font-face {
    font-family: 'Lora';
    src: url('Lora-Regular.ttf');
}

h1 {
    font-size: 10vw;
    text-align: center;
    margin: 0;
    font-family: 'Updock';
    z-index: 1;

    @media only screen and (max-width: 768px) {
        font-size: 20vw;
    }
}

h2 {
    font-size: 2vw;
    text-align: center;
    margin: 0;
    font-family: 'Lora';

    @media only screen and (max-width: 768px) {
        font-size: 6vw;
    }
}

h3 {
    font-size: 1.5vw;
    text-align: center;
    margin: 0;
    font-family: 'Lora';

    @media only screen and (max-width: 768px) {
        font-size: 4vw;
    }
}

p {
    font-size: 1.5vw;
    text-align: center;
    margin: 0;
    font-family: 'Lora';

    @media only screen and (max-width: 768px) {
        font-size: 4vw;
    }
}

.mobile-small-text{
    @media only screen and (max-width: 768px) {
        font-size: 2vw;
    }
}

p.left-aligned{
    text-align: left;
}

h1.primary{
    color: var(--secondary-color);
}

h1.secondary{
    color: var(--tertiary-color);
}

h2.primary{
    color: var(--tertiary-color);
}

h2.secondary {
    color: var(--tertiary-color);
}

h2.tertiary {
    color: var(--secondary-color);
}

h2.quaternary {
    color: var(--secondary-color);
}

p.primary {
    color: var(--tertiary-color);
}

p.secondary {
    color: var(--tertiary-color);
}

p.tertiary {
    color: var(--secondary-color);
}

p.quaternary {
    color: var(--secondary-color);
}

h3.primary{
    color: var(--secondary-color);
}

.runner{
    display: flex;
    flex-grow: 1;
    height: auto;
    min-height: 100%;
    width: 1vw;
    /*background-color: #703a2a;*/
    background-color: #596aa8;
    border-left: solid 1vw #ffffff00;
    border-right: solid 1vw #ffffff00;
}

.content-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.section { 
    position: relative;
    flex: 1;
}

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

.section-secondary {
    background-color: var(--secondary-color);
}

.section-tertiary {
    background-color: var(--tertiary-color);
}

.section-quaternary {
    background-color: var(--quaternary-color);
}

.panel-primary {
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*background-color: #edc0d7;*/
    background-color: #eab4cf;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-image: url('Flower_BG.png');
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: right bottom;
}

.panel-secondary {
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*background-color: #639371;*/
    background-color: #4bc06e;
    border-radius: 1vw;
    padding: 2vw;
    margin: 1vw;
    width: 80%;
    height: 80%;
    border: solid 1vw #aa82aa;
}

.centered-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.mobile-top-content {
    @media only screen and (max-width: 768px) {
        width: 100%;
        justify-content:flex-start;
        padding-top: 10vw;
        padding-bottom: 10vw;
        gap: 5vw;
     }
}

.full-screen {
    width: 100%;
    height: auto;
    min-height: 100vh;
}

.mobile-double-full-screen {
    @media only screen and (max-width: 768px) {
        width: 100%;
        height: 155vh;
        min-height: 155vh;
    }
}

.section-separator {
    position: relative;
    bottom: 0;
    width: 100%;
    height: 1vw;
    background-color: #703a2a;
    margin-top: 1vw;
    margin-bottom: 1vw;
}

.panel-bg-flower{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    height: 50%;
    background-image: url('Flower_BG.png');
    background-size: contain;
    background-repeat: no-repeat;   
}

.bg {
    position:absolute;
    background-size: 20%;
    background-repeat: no-repeat;   
    background-attachment: fixed;
    filter: sepia(100%) saturate(800%) hue-rotate(260deg) brightness(90%) opacity(40%);
    z-index: 0;
    width: 100vw;
    height: 100vh;
    mix-blend-mode: multiply;
    pointer-events: none;

    @media only screen and (max-width: 768px) {
        left: 0;
        right: 0;
        background-attachment: local;
    }
}

.bg-daffodil{
    background-image: url('Daffodil_BG.png');
    background-position: center right 2vw;
    z-index: 0;

    @media only screen and (max-width: 768px) {
        left: 0;
        right: 0;
        background-position: center left 77vw;
    }
}

.bg-leek {
    background-image: url('Leek_BG.png');
    background-size: 19%;
    background-position: center right 2vw;
    z-index: 0;

    @media only screen and (max-width: 768px) {
        left: 0;
        right: 0;
        background-position: center left 77vw;
    }
}

.bg-rose{
    background-image: url('Rose_BG.png');
    background-size: 16%;
    background-position: center left 2vw;

    @media only screen and (max-width: 768px) {
        left: 0;
        right: 0;
    }
}

.bg-wine{
    background-image: url('Wine_BG.png');
    background-size: 8%;
    background-position: center left 6vw;

    @media only screen and (max-width: 768px) {
        left: 0;
        right: 0;
    }
}

.introduction-text-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 90%;
    gap: 2vh;
}

.location-container{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 90%;

    @media only screen and (max-width: 768px) {
        flex-direction: column-reverse;
    }
}

.text-map{
    width: 100%;
    padding-left: 50%;
    text-align: left;
    text-justify: center;
}

.location-text-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 100%;
    text-align: left;

    @media only screen and (max-width: 768px) {
        width: 100%;
        max-width: 100%;
        align-items: flex-end;
        padding-left: 20vw;
    }
}

.map-container{
    width: 50vw;
    height: 90vh;
    min-height: 80vh;
    display: flex;
    justify-content: center;
    align-items: center;

    @media only screen and (max-width: 768px) {
        width: 90%;
        height: 80vh;
        min-height: 80%;
    }
}

.map {
    width: 90%;
    height: 90%;
    z-index: 1;
    border-radius: 1vw;
    border: solid 1vw #aa82aa;
}

.location-and-accomodation-text-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 90vh;
    width: 50%;
    gap: 2vh;

    @media only screen and (max-width: 768px) {
       width: 80%;
    }
}

.gift-text-container{
   height: 90vh;
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2vh;

    @media only screen and (max-width: 768px) {
        width: 80%;
     }
}

.form {
    height: 90vh;
    z-index: 1;

    @media only screen and (max-width: 768px) {
        height: 140vh;
        min-height: 140vh;
    }
}

.zig-zag {
    position: absolute;
    padding: 8px 8px 32px 8px;
    background: transparent;
    width: 100%;
    bottom:0;
}

.zig-zag:after {
    background-position: left-bottom;
    background-repeat: repeat-x;
    background-size: 32px 32px;
    content: " ";
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 32px;
}

.zig-zag-secondary:after{
    background: linear-gradient(-45deg, #b8a3ad 16px, transparent 0), linear-gradient(45deg, #b8a3ad 16px, transparent 0);
    background-position: left-bottom;
    background-repeat: repeat-x;
    background-size: 32px 32px;
    content: " ";
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 32px;
}

.zig-zag-primary:after{
    background: linear-gradient(-45deg, #60906e 16px, transparent 0), linear-gradient(45deg, #60906e 16px, transparent 0);
    background-position: left-bottom;
    background-repeat: repeat-x;
    background-size: 32px 32px;
    content: " ";
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 32px;
}

.zig-zag-quaternary:after{
    background: linear-gradient(-45deg, #232150 16px, transparent 0), linear-gradient(45deg, #232150 16px, transparent 0);
    background-position: left-bottom;
    background-repeat: repeat-x;
    background-size: 32px 32px;
    content: " ";
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 32px;
}

.zig-zag-tertiary:after{
    background: linear-gradient(-45deg, #703a2a 16px, transparent 0), linear-gradient(45deg, #703a2a 16px, transparent 0);
    background-position: left-bottom;
    background-repeat: repeat-x;
    background-size: 32px 32px;
    content: " ";
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 32px;
}