@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: local('Material Icons'),
    local('MaterialIcons-Regular'),
    url('../font/material-icons.woff2') format('woff2'),
    url('../font/material-icons.woff') format('woff')
}

/* amatic-sc-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Amatic SC';
    font-style: normal;
    font-weight: 400;
    src: url('../font/amatic-sc-v27-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* amatic-sc-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Amatic SC';
    font-style: normal;
    font-weight: 700;
    src: url('../font/amatic-sc-v27-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* farsan-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Farsan';
    font-style: normal;
    font-weight: 400;
    src: url('../font/farsan-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* kalam-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Kalam';
    font-style: normal;
    font-weight: 400;
    src: url('../font/kalam-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* kalam-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Kalam';
    font-style: normal;
    font-weight: 700;
    src: url('../font/kalam-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* indie-flower-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Indie Flower';
    font-style: normal;
    font-weight: 400;
    src: url('../font/indie-flower-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


body {
    font-family: Farsan, sans-serif;
    font-size: 20px;
    --bs-body-bg: #ede5eb;

    &.remise {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 16px;

        .navbar {
            font-family: Arial, Helvetica, sans-serif;
        }
    }
}

/* Dunkelblau: rgb(35, 64, 112) */
/* Orange: rgb(235, 197, 42) */

.navbar {
    font-family: 'Indie Flower', sans-serif;
    font-size: 24px;
}

h3 {
    font-size: 36px;
}

svg {
    g {
        fill: #000;
    }
}

#svg-baum {
    height: 130px;
    width: 130px;
}

#svg-besteck {
    height: 130px;
    width: 130px;
}

#svg-geschenk {
    height: 130px;
    width: 130px;
}

#svg-haus {
    height: 150px;
    width: 150px;
}

#svg-huhn {
    height: 150px;
    width: 150px;

    g {
        fill: #846980;
    }
}

#svg-hund {
    height: 150px;
    width: 150px;

    g {
        fill: #846980;
    }
}

#svg-pferd {
    height: 150px;
    width: 150px;

    g {
        fill: #846980;
    }
}

#svg-uhr {
    height: 130px;
    width: 130px;
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;  /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;

    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;

    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;

    /* Support for IE. */
    font-feature-settings: 'liga';
}

#content {
}

.intro {
    background: #c0a9bd;
    padding: 32px 0;
}

.info {
    background: #c0a9bd;
    color: #000;
    padding: 32px 0;

    .silverware-container {
        position: relative;
        top: -18px;
    }

    .tree-container {
        position: relative;
        top: -54px;
    }
}

.present-container {
    background: #94a7ae; color: #000; padding: 32px 0;

    .present-illu-container {
        padding-left: calc(var(--bs-gutter-x) * .5 + 12px);
    }
}

.form-container {
    background: #a6b78d;
    padding: 32px 0;
}

.navigation {
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 2;
}

.navbar {
    --bs-tertiary-bg-rgb: #fff;

    padding: 0;

    .container-fluid {
        background: #fff;

        ul {
            background: #fff;
            margin: auto;

            li {
                a  {
                    color: rgb(35, 64, 112);
                    cursor: pointer;
                    display: inline-block;
                    font-weight: 700;
                    padding: 24px 64px 16px 64px;
                    text-decoration: none;

                    &:hover {
                        /*color: rgb(235, 197, 42);*/
                        color: #94a7ae;
                    }
                }
            }
        }
    }
}

@media (max-width: 1320px) {
    .navbar {
        .container-fluid {
            ul {
                li {
                    a {
                        padding-left: 5vw;
                        padding-right: 5vw;
                    }
                }
            }
        }
    }
}

@media (max-width: 991px) {
    .farm {
        .offset-sm-2 {
            margin-left: 12%;
        }
    }

    .info {
        .info-text-1 {
            margin-right: -20px;
            width: 64%;
        }

        .silverware-container {
            top: 72px;
        }

        .tree-container {
            top: 28px;
        }
    }

    .present-container {
        padding: 24px 0;

        .present-illu-container {
            left: -16px;
            padding-left: calc(var(--bs-gutter-x) * .5);
            position: relative;
            top: 22px;
            width: 20%;
        }

        .col-sm-8 {
            width: 76%;
        }
    }

    h4.firstHeading {
        font-size: calc(1rem + .3vw);
    }
}

@media (max-width: 460px) {
    .navbar {
        .container-fluid {
            ul {
                li {
                    a {
                        padding-left: 3vw;
                        padding-right: 3vw;
                    }
                }
            }
        }
    }

    .farm {
        svg {
            transform: translateX(-20px) scale(.75);
        }

        .offset-sm-2 {
            margin-left: 0;
        }
    }

    .intro {
        padding: 23px 0 0 0;
    }

    .info {
        padding: 0;

        .col-sm-5:has(svg) {
            margin: -58px 0;
            text-align: right;
        }

        .silverware-container {
            top: -48px;
        }

        .tree-container {
            top: -68px;
        }
    }

    .col-sm-2:has(#svg-geschenk) {
        text-align: right;
    }

    .present-container{
        padding: 20px 0 0 0;

        .present-illu-container {
            margin-bottom: -20px;
            margin-top: -20px;
            width: 100%;
        }

        .col-sm-8 {
            width: 100%;
        }
    }

    .form-container {
        padding: 32px 0 0 0;
    }

    #registration-form {
        .col-sm-4:first-child {
            margin-bottom: 22px;
        }

        .col-sm-4:first-child.no-bottom-margin {
            margin-bottom: 0;
        }
    }
}

@media (max-width: 420px) {
    .navbar {
        .container-fluid {
            ul {
                li {
                    a {
                        padding-left: 2.6vw;
                        padding-right: 2.6vw;
                    }
                }
            }
        }
    }
}


.required label::after, label.required::after {
    color: #a20000;
    content: "*";
    display: inline;
}

.hero-overlay {
    color: #fff;
    font-family: 'Amatic SC';
    font-size: 128px;
    font-weight: 700;
    left: 0;
    position: absolute;
    right: 0;
    text-align: center;
    top: 64px;
}

a.anchor {
    display: block;
    position: relative;
    top: -70px;
    visibility: hidden;
}

#map {
    height: 400px;
    width: 100%;
}

.js-registrations-table {
    thead {
        th {
            a {
                color: #000;
                text-decoration: none;

                &.asc:after {
                    content: " ⇣";
                }

                &.desc:after {
                    content: " ⇡";
                }
            }
        }
    }

    .edit-registration-btn,
    .delete-registration-btn {
        color: #000;
        opacity: 0;
        transition: opacity ease-in-out .5s;
    }

    tr:hover {
        .edit-registration-btn,
        .delete-registration-btn {
            opacity: 1;
        }
    }
}

div.out,
div.out-right {
    opacity: 0;
}

div.out {
    transform: translate3d(160px, 0, 0);
}

div.out-middle {
    transform: translate3d(0, 0, 0);
}

div.out-right {
    transform: translate3d(-160px, 0, 0);
}

div.out.fade-in,
div.out-right.fade-in {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity .5s ease-in-out, transform 1s ease-out;
}

tfoot {
    td {
        border-bottom: none;
        border-top: 4px double #000;
        font-weight: bold;
    }
}

.sr-only {
    display: none;
}

.carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    z-index: 15;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-left: 0;
    margin-right: 15%;
    margin-left: 15%;
    list-style: none;

    li {
        position: relative;
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        width: 30px;
        height: 3px;
        margin-right: 3px;
        margin-left: 3px;
        text-indent: -999px;
        background-color: rgba(255, 255, 255, .5);

        &.active {
            background-color: #fff;
        }
    }
}

.carousel-indicators li::after {
    position: absolute;
    bottom: -10px;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 10px;
    content: "";
}

.carousel-indicators li::before {
    position: absolute;
    top: -10px;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 10px;
    content: "";
}

.carousel-control-next,
.carousel-control-prev {
    width: 5%;
}

form {
    input, select, textarea {
        font-family: Arial, Helvetica, sans-serif;
    }
}
