:root {
    --box-width: 1170px;

    --global-color-primary: #555B6E;
    --global-color-secondary: #89B0AE;
    --global-color-text: #BEE3DB;
    --global-color-white: #FAF9F9;
    --global-color-accent: #FFD6BA;

    --h1-font-family: 'Lora', serif;
    --h1-font-size: 65px;
    --h1-font-weight: 400;
    --h1-line-height: 1.2;
    --h1-transform: uppercase;

    --h2-font-family: 'Lora', serif;
    --h2-font-size: 44px;
    --h2-font-weight: 500;
    --h2-line-height: 1.2;
    --h2-transform: uppercase;

    --h3-font-family: 'Lora', serif;
    --h3-font-size: 35px;
    --h3-font-weight: 400;
    --h3-line-height: 1.2;
    --h3-transform: uppercase;

    --para-font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    --para-font-size: 18px;
    --para-font-weight: 400;
    --para-line-height: 1.5;
}

@media only screen and (max-width: 1024px) {
    :root {
        --h1-font-size: 53px;
        --h2-font-size: 38px;
        --h3-font-size: 29px;
        --para-font-size: 17px;
    }
}

@media only screen and (max-width: 767px) {
    :root {
        --h1-font-size: 42px;
        --h2-font-size: 32px;
        --h3-font-size: 22px;
        --para-font-size: 16px;
    }
}


/** || CSS Resets */

html {
    overflow-y: scroll;
    scroll-behavior: smooth;
}

*, *::before, *::after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
    font: inherit;
}

img,
picture,
svg,
video {
    display: block;
    max-width: 100%;
    height: auto;
}

input,
textarea,
button,
select {
    font: inherit;
}

a {
    text-decoration: none;
}


/** || General Styling */

h1 {
    font-family: var(--h1-font-family);
    font-size: var(--h1-font-size);
    font-weight: var(--h1-font-weight);
    line-height: var(--h1-line-height);
    text-transform: var(--h1-transform);
    color: var(--global-color-primary);
}

h2 {
    font-family: var(--h2-font-family);
    font-size: var(--h2-font-size);
    font-weight: var(--h2-font-weight);
    line-height: var(--h2-line-height);
    text-transform: var(--h2-transform);
    color: var(--global-color-primary);
}

h3 {
    font-family: var(--h3-font-family);
    font-size: var(--h3-font-size);
    font-weight: var(--h3-font-weight);
    line-height: var(--h3-line-height);
    text-transform: var(--h3-transform);
    color: var(--global-color-primary);
}

body {
    position: relative;
    font-family: var(--para-font-family);
    font-size: var(--para-font-size);
    font-weight: var(--para-font-weight);
    line-height: var(--para-line-height);
    background-color: #fafafa;
    overflow-x: hidden;
}

::selection {
    background: var(--global-color-accent);
}


/** || Generalised Container Styles */

.container.full-width {
    width: 100%;
    justify-content: center;
}

.container.boxed {
    width: var(--box-width);
}

@media only screen and (max-width: 1170px) {
    .container.boxed {
        width: 100%; /* Forces to stretch to 100% as soon as viewport us less than boxed width of 1170px */
    }
}

.container {
    display: flex;
}

.rsvp-btn.disabled {
    background-color: var(--global-color-primary) !important;
    border-color: transparent !important;
    color: #fff !important;
    opacity: 0.7 !important;
    pointer-events: none !important;
}
