:root {
    /* Wedding Palette: Olive, Sage, Ivory, White */
    --green: #5B6B46;              
    --light-green: #8E9F77;        
    --yellow: #C2CBB2;             
    --yellow-down: #E6EAD9;        
    --beige: #FAF8F5;              
    --white: #FFFFFF;              
    --red: #8B5E4B;                
    --text: #2D3A24;               
    
    /* Softened Earthy Shadows */
    --shadow-color: 82deg 18% 50%;
    --shadow-1-elevation-low: 0px 0.2px 0.2px hsl(var(--shadow-color) / 0.18), 0px 0.4px 0.5px -1.2px hsl(var(--shadow-color) / 0.18), 0px 0.9px 1px -2.5px hsl(var(--shadow-color) / 0.18);
    --shadow-1-elevation-medium: 0px 0.2px 0.2px hsl(var(--shadow-color) / 0.20), 0px 0.7px 0.8px -0.8px hsl(var(--shadow-color) / 0.20), 0px 1.8px 2px -1.7px hsl(var(--shadow-color) / 0.20), 0.1px 4.5px 5.1px -2.5px hsl(var(--shadow-color) / 0.20);
    --shadow-1-elevation-high: 0px 0.2px 0.2px hsl(var(--shadow-color) / 0.22), 0px 1.3px 1.5px -0.4px hsl(var(--shadow-color) / 0.22), 0.1px 2.4px 2.7px -0.7px hsl(var(--shadow-color) / 0.22), 0.1px 4px 4.5px -1.1px hsl(var(--shadow-color) / 0.22), 0.1px 6.4px 7.2px -1.4px hsl(var(--shadow-color) / 0.22), 0.2px 10px 11.3px -1.8px hsl(var(--shadow-color) / 0.22);
    
    --shadow-color-2: 82deg 18% 40%;
    --shadow-2-elevation-low: 0px 0.2px 0.2px hsl(var(--shadow-color-2) / 0.18), 0px 0.4px 0.5px -1.2px hsl(var(--shadow-color-2) / 0.18), 0px 0.9px 1px -2.5px hsl(var(--shadow-color-2) / 0.18);
    --shadow-2-elevation-medium: 0px 0.2px 0.2px hsl(var(--shadow-color-2) / 0.20), 0px 0.7px 0.8px -0.8px hsl(var(--shadow-color-2) / 0.20), 0px 1.8px 2px -1.7px hsl(var(--shadow-color-2) / 0.20), 0.1px 4.5px 5.1px -2.5px hsl(var(--shadow-color-2) / 0.20);
    --shadow-2-elevation-high: 0px 0.2px 0.2px hsl(var(--shadow-color-2) / 0.22), 0px 1.3px 1.5px -0.4px hsl(var(--shadow-color-2) / 0.22), 0.1px 2.4px 2.7px -0.7px hsl(var(--shadow-color-2) / 0.22), 0.1px 4px 4.5px -1.1px hsl(var(--shadow-color-2) / 0.22), 0.1px 6.4px 7.2px -1.4px hsl(var(--shadow-color-2) / 0.22), 0.2px 10px 11.3px -1.8px hsl(var(--shadow-color-2) / 0.22);
}

@font-face {
    font-family: 'Amalfi-Coast';
    src: url('assets/fonts/Amalfi-Coast.ttf.woff') format('woff'),
        url('assets/fonts/Amalfi-Coast.ttf.svg#Amalfi-Coast') format('svg'),
        url('assets/fonts/Amalfi-Coast.ttf.eot'),
        url('assets/fonts/Amalfi-Coast.ttf.eot?#iefix') format('embedded-opentype');
    font-weight: normal;
    font-style: normal;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    margin: 0px;
    background-color: var(--beige);
    color: var(--text);
    font-family: 'Work Sans', sans-serif;
}

section,
div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
}

section {
    overflow: hidden;
    min-height: 80vh;
}

h1,
h2,
h3,
p {
    font-family: 'Work Sans', sans-serif;
    color: var(--text);
    font-weight: 400;
}

h1 a,
h1 a:visited {
    color: var(--text);
    display: inline-block;
    transition: all 0.75s ease-in-out;
}

h1 a:hover {
    color: var(--red);
}

/* Background Image restored with dark overlay for text contrast */
section.hero {
    background-color: var(--beige);
    background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.4)), url('assets/lavender-hero.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100vh;
}

section.standard {
    padding: 4rem 12rem;
    z-index: 2;
    background-color: var(--white);
}

.img-over {
    display: block;
    position: absolute;
    pointer-events: none;
}

section.hero .img-over {
    z-index: 1;
}

.img-top { top: 0%; }
.img-bottom { bottom: 0%; }
.img-right { right: 0%; }
.img-left { left: 0%; }

.home h1 {
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    text-align: center;
    line-height: 1.1em;
    font-size: 4.5rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--white);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
}

.home .fancy-subtitle {
    font-family: 'Amalfi-Coast', cursive, sans-serif;
    font-size: 3.5rem;
    color: var(--white);
    margin-bottom: 0.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
    line-height: 1.2;
}

.home .hero .img-top.img-left { height: 45vh; }
.home .hero .img-top.img-right { height: 45vh; }
.home .hero .img-bottom.img-left { height: 60vh; }
.home .hero .img-bottom.img-right { height: 60vh; }

.home .date {
    color: var(--white);
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 3px;
    margin-top: 1.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
}

.rsvp {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 4;
}

.rsvp a img {
    height: 80px;
    transition: all 0.8s ease-in-out;
    box-shadow: var(--shadow-2-elevation-medium);
    border-radius: 100px;
}

.rsvp a:hover img {
    transform: scale(1.1);
    box-shadow: var(--shadow-2-elevation-high);
}

div.box {
    padding: 4rem;
}

h1, p.bigtext {
    font-size: 3rem;
    line-height: 1.3;
    padding: 0px;
    margin: 0px;
}

p.hugetext {
    font-size: 3.5rem;
    line-height: 1.25;
    padding: 0px;
    margin: 0px;
}

.daje {
    font-weight: 600;
    font-style: normal;
    color: var(--green);
}

div.divider {
    width: 25%;
    border-bottom: solid 1.5px var(--light-green);
}

div.divider.top {
    margin-bottom: 3rem;
    margin-top: 1.5rem;
}

div.divider.bottom {
    margin-bottom: 1.5rem;
    margin-top: 3rem;
}

p.subtext {
    font-size: 1.3rem;
    line-height: 1.6;
    margin: 0px;
}

a:visited {
    color: var(--text);
}

p.details a, p.details a:visited, p.details a:any-link,
.column a, .column a:visited, .column a:any-link {
    font-size: 1rem;
    font-family: 'Work Sans', sans-serif;
    text-decoration: none;
    border-bottom: solid 1px var(--light-green);
    color: var(--green);
    transition: all 1s ease-in-out;
}

p.details a:hover, .column a:hover {
    color: var(--red);
}

/* Soft Lavender Tint for Alternative Sections */
section.alt {
    background-color: #F2EEF5;
    padding: 4rem 10em;
}

.video iframe {
    margin-top: 2rem;
    width: 90%;
    box-shadow: var(--shadow-1-elevation-high);
    width: 1100px;
    height: 620px;
}

section.video { position: relative; }
section.video img.img-top.img-left { height: 80vh; }
section.video img.img-top.img-right { height: 100vh; }
section.video img.img-bottom.img-left { height: 60vh; }
section.video img.img-bottom.img-right { height: 40vh; }

p.bigtext a, p.hugetext a {
    font-weight: 600;
    font-style: normal;
    display: inline-block;
    position: relative;
    color: var(--text);
    text-decoration: underline;
    transition: all .5s ease-in-out;
}

p.subtext a {
    color: var(--text);
    font-weight: 600;
    font-style: normal;
}

p.bigtext a:hover, p.hugetext a:hover, p.subtext a:hover {
    color: var(--red);
}

img.img-remark { width: 40vw; }
img.remark-top { margin-bottom: 3rem; }

a.button {
    font-family: 'Work Sans', sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    margin-top: 2rem;
    text-decoration: none;
    color: var(--white);
    background: var(--green);
    padding: 16px 28px;
    border-radius: 500px;
    display: inline-block;
    box-shadow: var(--shadow-1-elevation-medium);
    transition: all 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

a.button:hover {
    background: var(--light-green);
    box-shadow: var(--shadow-1-elevation-high);
    transform: translateY(-2px);
}

section.gift {
    height: 100vh;
    padding: 0rem 12rem;
    z-index: 3;
}

section.gift img { bottom: -5%; }
section.gift img.img-bottom.img-left { height: 40vw; }
section.gift img.img-bottom.img-right { height: 50%; }

.midtext { font-size: 2rem; }

.internal .hero .img-bottom.img-right {
    width: 50vw;
    z-index: 0;
    right: -10%;
    bottom: -10%;
}

.internal .rsvp {
    position: relative;
    bottom: auto;
    right: auto;
    margin-left: 1rem;
    border-radius: 100px;
}

.internal .rsvp img a {
    height: 70px;
    border-radius: 100px;
}

div.navigation {
    position: fixed;
    display: flex;
    flex-direction: row;
    height: 70px;
    bottom: 5%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
}

div.navigation a img {
    height: 70px;
    box-shadow: var(--shadow-1-elevation-medium);
    border-radius: 100px;
}

div.navigation a.logo {
    margin-right: 1rem;
    z-index: 4;
}

div.menu {
    background-color: var(--white);
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    box-shadow: var(--shadow-1-elevation-medium);
    border-radius: 100px;
    height: 70px;
    width: 70vw;
    padding: 0 1rem;
}

div.navigation a, div.navigation a:any-link, div.navigation a:visited {
    color: var(--green);
    font-family: 'Work Sans', sans-serif;
    font-size: 1.1em;
    text-decoration: none;
    font-weight: 500;
    border-bottom: solid 2px transparent;
    transition: all 0.3s ease-in-out;
}

div.navigation .menu a:hover {
    border-bottom: solid 2px var(--green);
}

div.navigation a.logo:hover {
    border-bottom: solid 2px transparent;
}

div.navigation .test {
    opacity: 0;
    pointer-events: none;
    display: flex;
    background-color: var(--white);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 5;
    border-radius: 100px;
    flex-direction: row;
    justify-content: left;
    box-shadow: var(--shadow-1-elevation-high);
    transition: all 0.8s ease-in-out;
}

div.navigation .test div {
    text-align: center;
    width: 100%;
}

div.navigation .test div p { color: var(--green); }

div.navigation a.logo:hover .test { opacity: 100%; }

.internal section.hero { padding: 0em 10em; }
.internal h1 { z-index: 1; font-weight: 600; }

#accomodations .bigtext { margin-bottom: 3rem; }

.columns {
    display: flex;
    flex-direction: row;
    width: 100%;
}

.column {
    display: flex;
    flex-direction: column;
    width: 50%;
    padding: 0 2.5em;
}

p.smalldetail {
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 400;
}

.column h3 { font-size: 2rem; font-weight: 600; }

p.description {
    font-size: 1.3rem;
    font-family: 'Work Sans', sans-serif;
    font-weight: 300;
    line-height: 1.6;
}

.column a {
    color: var(--green);
    text-decoration: none;
    margin-top: 1.5rem;
}

#location .description {
    width: 90%;
    line-height: 1.8rem;
}

#location .description a {
    font-size: 1.3rem;
    font-family: 'Work Sans', sans-serif;
    transition: all 0.5s ease-in-out;
    color: var(--green);
    border-bottom: solid 0px transparent;
    text-decoration: underline;
}

#location .description a:hover { color: var(--red); }
#location .column img { width: 100%; }

.icon { width: 25px; }

.honeymoon hero { padding: 0em 13em; }

.honeymoon div.navigation {
    width: 80vw;
    justify-content: space-between;
}

.honeymoon h1 { margin-bottom: 4rem; }

.honeymoon span.iban {
    display: block;
    font-size: 1.8rem;
    margin-bottom: 1rem;
    font-weight: 500;
}

.honeymoon span.iban_details {
    display: block;
    font-size: 1.3rem;
}

::-moz-selection { background: var(--yellow-down); }
::selection { background: var(--yellow-down); }

.arrow-bounce {
    position: absolute;
    color: var(--light-green);
    bottom: 2rem;
}

.arrow-bounce i { opacity: 30%; }

.focus-in {
    -webkit-animation: focus-in 1.5s cubic-bezier(0.550, 0.085, 0.680, 0.530);
    animation: focus-in 1.5s cubic-bezier(0.550, 0.085, 0.680, 0.530);
}

@-webkit-keyframes focus-in {
    0% { -webkit-filter: blur(12px); filter: blur(12px); opacity: 0; }
    100% { -webkit-filter: blur(0px); filter: blur(0px); opacity: 1; }
}

@keyframes focus-in {
    0% { -webkit-filter: blur(12px); filter: blur(12px); opacity: 0; }
    100% { -webkit-filter: blur(0px); filter: blur(0px); opacity: 1; }
}

.slide-in-blurred-top {
    -webkit-animation: slide-in-blurred-top 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-top 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

@-webkit-keyframes slide-in-blurred-top {
    0% { -webkit-transform: translateY(-1000px) scaleY(1) scaleX(1); transform: translateY(-1000px) scaleY(1) scaleX(1); -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translateY(0) scaleY(1) scaleX(1); transform: translateY(0) scaleY(1) scaleX(1); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

@keyframes slide-in-blurred-top {
    0% { -webkit-transform: translateY(-1000px) scaleY(1) scaleX(1); transform: translateY(-1000px) scaleY(1) scaleX(1); -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translateY(0) scaleY(1) scaleX(1); transform: translateY(0) scaleY(1) scaleX(1); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

.slide-in-blurred-bottom {
    -webkit-animation: slide-in-blurred-bottom 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-bottom 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

@-webkit-keyframes slide-in-blurred-bottom {
    0% { -webkit-transform: translateY(1000px) scaleY(1) scaleX(1); transform: translateY(1000px) scaleY(1) scaleX(1); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translateY(0) scaleY(1) scaleX(1); transform: translateY(0) scaleY(1) scaleX(1); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

@keyframes slide-in-blurred-bottom {
    0% { -webkit-transform: translateY(1000px) scaleY(1) scaleX(1); transform: translateY(1000px) scaleY(1) scaleX(1); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translateY(0) scaleY(1) scaleX(1); transform: translateY(0) scaleY(1) scaleX(1); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

.slide-in-blurred-tr {
    -webkit-animation: slide-in-blurred-tr 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-tr 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

@-webkit-keyframes slide-in-blurred-tr {
    0% { -webkit-transform: translate(1000px, -1000px) skew(0deg, 0deg); transform: translate(1000px, -1000px) skew(0deg, 0deg); -webkit-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translate(0, 0) skew(0deg, 0deg); transform: translate(0, 0) skew(0deg, 0deg); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

@keyframes slide-in-blurred-tr {
    0% { -webkit-transform: translate(1000px, -1000px) skew(0deg, 0deg); transform: translate(1000px, -1000px) skew(0deg, 0deg); -webkit-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translate(0, 0) skew(0deg, 0deg); transform: translate(0, 0) skew(0deg, 0deg); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

.slide-in-blurred-br {
    -webkit-animation: slide-in-blurred-br 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-br 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

@-webkit-keyframes slide-in-blurred-br {
    0% { -webkit-transform: translate(1000px, 1000px) skew(0deg, 0deg); transform: translate(1000px, 1000px) skew(0deg, 0deg); -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translate(0, 0) skew(0deg, 0deg); transform: translate(0, 0) skew(0deg, 0deg); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

@keyframes slide-in-blurred-br {
    0% { -webkit-transform: translate(1000px, 1000px) skew(0deg, 0deg); transform: translate(1000px, 1000px) skew(0deg, 0deg); -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translate(0, 0) skew(0deg, 0deg); transform: translate(0, 0) skew(0deg, 0deg); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

.slide-in-blurred-bl {
    -webkit-animation: slide-in-blurred-bl 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-bl 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

@-webkit-keyframes slide-in-blurred-bl {
    0% { -webkit-transform: translate(-1000px, 1000px) skew(0deg, 0deg); transform: translate(-1000px, 1000px) skew(0deg, 0deg); -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translate(0, 0) skew(0deg, 0deg); transform: translate(0, 0) skew(0deg, 0deg); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

@keyframes slide-in-blurred-bl {
    0% { -webkit-transform: translate(-1000px, 1000px) skew(0deg, 0deg); transform: translate(-1000px, 1000px) skew(0deg, 0deg); -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translate(0, 0) skew(0deg, 0deg); transform: translate(0, 0) skew(0deg, 0deg); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

.slide-in-blurred-tl {
    -webkit-animation: slide-in-blurred-tl 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-tl 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

@-webkit-keyframes slide-in-blurred-tl {
    0% { -webkit-transform: translate(-1000px, -1000px) skew(0deg, 0deg); transform: translate(-1000px, -1000px) skew(0deg, 0deg); -webkit-transform-origin: 100% 0%; transform-origin: 100% 0%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translate(0, 0) skew(0deg, 0deg); transform: translate(0, 0) skew(0deg, 0deg); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

@keyframes slide-in-blurred-tl {
    0% { -webkit-transform: translate(-1000px, -1000px) skew(0deg, 0deg); transform: translate(-1000px, -1000px) skew(0deg, 0deg); -webkit-transform-origin: 100% 0%; transform-origin: 100% 0%; -webkit-filter: blur(40px); filter: blur(40px); opacity: 0; }
    100% { -webkit-transform: translate(0, 0) skew(0deg, 0deg); transform: translate(0, 0) skew(0deg, 0deg); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-filter: blur(0); filter: blur(0); opacity: 1; }
}

.del-0 { animation-delay: 0s; }
.del-025 { animation-delay: 0.25s; }
.del-050 { animation-delay: 0.50s; }
.del-075 { animation-delay: 0.75s; }
.del-1 { animation-delay: 1s; }
.del-125 { animation-delay: 1.25s; }
.del-150 { animation-delay: 1.50s; }
.del-175 { animation-delay: 1.75s; }
.del-2 { animation-delay: 2s; }
.del-225 { animation-delay: 2.25s; }
.del-250 { animation-delay: 2.50s; }
.del-275 { animation-delay: 2.75s; }
.del-3 { animation-delay: 3s; }
.del-325 { animation-delay: 3.25s; }
.del-350 { animation-delay: 3.50s; }
.del-375 { animation-delay: 3.75s; }
.del-4 { animation-delay: 4s; }

.dur-0 { animation-duration: 0s; }
.dur-025 { animation-duration: 0.25s; }
.dur-050 { animation-duration: 0.50s; }
.dur-075 { animation-duration: 0.75s; }
.dur-1 { animation-duration: 1s; }
.dur-125 { animation-duration: 1.25s; }
.dur-150 { animation-duration: 1.50s; }
.dur-175 { animation-duration: 1.75s; }
.dur-2 { animation-duration: 2s; }
.dur-225 { animation-duration: 2.25s; }
.dur-250 { animation-duration: 2.50s; }
.dur-275 { animation-duration: 2.75s; }
.dur-3 { animation-duration: 3s; }
.dur-325 { animation-duration: 3.25s; }
.dur-350 { animation-duration: 3.50s; }
.dur-375 { animation-duration: 3.75s; }
.dur-4 { animation-duration: 4s; }

@media (max-width: 1200px) {
    .home h1 { font-size: 3.5rem; }
    .home .fancy-subtitle { font-size: 3rem; }
}

@media (max-width: 992px) {
    .home h1 { font-size: 2.8rem; }
    .home .fancy-subtitle { font-size: 2.5rem; }
    .home .hero .img-top.img-left { height: 40vh; }
    .home .hero .img-top.img-right { height: 40vh; }
    .home .hero .img-bottom.img-left { height: 50vh; }
    .home .hero .img-bottom.img-right { height: 50vh; }
    h1, p.bigtext { font-size: 2.2rem; }
    .video iframe { width: 900px; height: 506px; }
    section.standard { padding: 4rem; }
}

@media (max-width: 768px) {
    h1, p.bigtext, p.hugetext { font-size: 1.8rem; }
    .home .fancy-subtitle { font-size: 2.2rem; }
    .internal section.hero { padding: 0 5rem; }
    .internal .hero .img-bottom.img-right { height: 65vw; width: auto; }
    section.standard { padding: 3.5rem; }
    section.video img.img-top.img-left { height: 40vw; }
    section.video img.img-top.img-right { height: 60vw; }
    section.video img.img-bottom.img-left { height: 50vw; }
    section.video img.img-bottom.img-right { height: 25vw; }
    .video iframe { width: 600px; height: 338px; }
    .columns { flex-direction: column; }
    .columns .column:first-child { margin-bottom: 8rem; }
    .column { padding: 0rem; width: 100%; }
    .logo div.test { display: none; }
    .honeymoon span.iban { font-size: 1.3rem; }
    .honeymoon span.iban_details { font-size: 1.1rem; }
}

@media (max-width: 576px) {
    .home section.hero .img-top.img-left { height: 35vw; }
    .home section.hero .img-top.img-right { height: 40vw; }
    .home section.hero .img-bottom.img-left { height: 0vw; }
    .home section.hero .img-bottom.img-right { height: 75vw; }
    .home h1 { font-size: 2rem; }
    .home .fancy-subtitle { font-size: 1.8rem; }
    .home .bounce { display: none; }
    .home div.rsvp { right: 1rem; bottom: 1rem; z-index: 4; }
    .internal .navigation { position: fixed; }
    .internal .logo { position: fixed; top: 1rem; left: 1rem; }
    .internal .rsvp { position: fixed; top: 1rem; right: 1rem; }
    .internal .menu { width: 90vw; font-size: 0.9rem; height: 50px; }
    .video iframe { width: 500px; height: 280px; }
    .home section.gift .img-bottom.img-left { height: 0vw; }
    .home section.gift .img-bottom.img-right { height: 70vw; }
}

a[href^="tel"] {
    color: inherit;
    text-decoration: none;
}