:root {
    --primary-color: #ffb81d; /* f39f46, d79957 */
    --secondary-color: #613419;
    --tertiary-color: #381e0f;
    --extra-dark-color: #2A170B;
    --extra-light-color: #995A38;
    --heading-text-color: #d79957;
    --primary-text-color: #ffefce;
    --cta-text-color: #ffb81d;

    --border-radius-small: 0.25rem;
    --border-radius-medium: 0.5rem;
    --border-radius-large: 0.75rem;
    --border-radius-extra-large: 1rem;

    --h1-font-family: Nunito, sans-serif;
    --header-font-family: Fira Sans Condensed, sans-serif;
    --text-font-family: Nunito Sans, sans-serif;
}

body {
    background: var(--primary-color); /* d79957 */
    font-weight: bold;
    font-family: var(--text-font-family);
}

h1, h2, h3, h4, h5, h6, p, a {
    margin-bottom: 0;
}

h1 {
    color: var(--secondary-color);
    font-family: var(--h1-font-family);
}

h2, h3, h4, h5, h6 {
    font-family: var(--header-font-family);
    color: var(--heading-text-color);
}

p {
    color: var(--primary-text-color);
}

a {
    text-decoration: none;
    color: var(--cta-text-color);
    font-weight: bold;
}

a:hover {
    text-decoration: underline;
}

.btn-primary {
    background-color: var(--secondary-color);
    border: var(--secondary-color);
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary:checked, .btn-primary.show {
    background-color: var(--tertiary-color);
    border: var(--tertiary-color);
}

.btn-secondary {
    background-color: var(--tertiary-color);
    border: var(--tertiary-color);
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active, .btn-secondary:checked, .btn-secondary.show {
    background-color: var(--primary-color);
    border: var(--primary-color);
}

.disabled {
    filter: brightness(0.75);
}

.hero {
    display: flex;
    flex-direction: column;
    justify-content: center;

    height: 75svh;
}

  /*Shrinking for mobile*/
@media (max-width: 768px) {
    .hero {
        height: 75vh;
    }
}

a .icon {
    width: 1rem;
    margin-right: var(--border-radius-medium);
}

/* Navigation */

.menu-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    padding: 1rem 1.5rem;
}

.menu-container-float {
    position: absolute;
}

@media (max-width: 992px) {
    .navbar-expand-lg {
        display: flex;
        flex-direction: column;
    }

    .navbar-expand-lg .menu {
        display: flex;
        flex-direction: column;
    }

    .navbar-expand-lg .navbar-collapse.show {
        display: flex;
        flex-direction: column;
    }

    .navbar-expand-lg .navbar-collapse.show .menu .nav {
        display: flex;
        flex-direction: column;
    }

    .navbar-expand-lg .navbar-collapse.show .language-selector {
        margin-top: 1rem;
    }
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-collapse {
        display: flex;
        justify-content: space-between;
    }
}

.navbar-expand-lg .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath stroke='rgba(56, 30, 15, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24' /%3E%3C/svg%3E");
}

.nav-item {
    margin: 0 1rem;
}

.nav-item .nav-link {
    font-size: 1.5rem;
    color: var(--secondary-color);
    border-radius: var(--border-radius-medium);
    filter:opacity(85%);
}

.nav-item .nav-link.active,
.nav-item .nav-link:hover {
    filter:opacity(100%);
}

.nav-item .nav-link.disabled {
    filter:opacity(50%);
}

.dropdown-menu {
    background-color: var(--secondary-color);
    border: none;

    .dropdown-item {
        color: var(--primary-text-color);

        img {
            margin-right: 0.5rem;
            border-radius: 4px;
        }
    }

    .dropdown-item:hover {
        background-color: var(--tertiary-color);
    }
}

/* Sections */

.status-section  .status {
    font-size: 128px;
    font-weight: bolder;
    color: var(--secondary-color);

    background: -webkit-linear-gradient(360deg, var(--secondary-color), var(--tertiary-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 575px) {
    .status-section  .status {
        font-size: 72px;
    }
}

.status-section .status-description {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--secondary-color);

    background: -webkit-linear-gradient(360deg, var(--secondary-color), var(--tertiary-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.choco-section {
    background: var(--secondary-color);
    padding: 4rem 0;

    h1, h2, h3, h4, h5, h6, p {
        color: var(--primary-text-color);
    }

    .card {
        margin-bottom: 2rem;
        background: var(--tertiary-color);
        border: none;
        border-radius: var(--border-radius-large);

        .card-body {
            padding: 1.5rem;
        }

        .card-title {
            margin-bottom: var(--border-radius-large);
            color: var(--heading-text-color);
        }

        .card-text {
            font-weight: normal;
        }

        .card-actions {
            display: flex;
            align-items: center;
            margin-top: var(--border-radius-extra-large);
            float: right;
            font-weight: normal;
        }

        .card-link {
            display: flex;
            align-items: center;
        }

        .card-footer {
            font-size: 14px;
            font-weight: normal;

            border-top: none;
            padding: 0;
        }

        .table {
            width: 100%;
            border-collapse: collapse;
            table-layout: fixed;
        }

        .table .striped {
            background: var(--extra-dark-color);
        }

        .table tbody tr:hover {
            background: rgba(255, 255, 255, 0.05);
        }

        .table th, .table td {
            border: none;
            overflow-y: hidden;
            text-overflow: ellipsis;
            max-height: 40px;
        }

        .table th {
            border-top-left-radius: var(--border-radius-medium);
            border-bottom-left-radius: var(--border-radius-medium);
        }

        .table td:last-child {
            border-top-right-radius: var(--border-radius-medium);
            border-bottom-right-radius: var(--border-radius-medium);
        }

        .table th, .table td {
            background: transparent;
            color: var(--primary-text-color);
        }

        .table .striped th, .table .striped td {
            background: transparent;
        }
    }
}

.gradient-top {
    background-image: url(resources/dripping_top.png);
    height: 95px;
}

.gradient-bottom {
    background-image: url(resources/dripping_bottom.png);
    height: 95px;
    background-position-x: 60px;
}

.right {
    float: right;
}

.btn-transparent {
    background: none;
    color: var(--primary-text-color);
    text-decoration: underline;
}

.btn-transparent:hover {
    background: var(--extra-dark-color);
    color: var(--primary-text-color);
}

a.btn {
    text-decoration: none;
}

footer {
    background: var(--secondary-color);
    font-weight: normal;
    padding: var(--border-radius-extra-large);
}

.waves {
    width: 100%;
    margin-bottom: -7px; /*Fix for safari gap*/
}

.parallax > use {
    animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
  }
  .parallax > use:nth-child(1) {
    animation-delay: -2s;
    animation-duration: 7s;
  }
  .parallax > use:nth-child(2) {
    animation-delay: -3s;
    animation-duration: 10s;
  }
  .parallax > use:nth-child(3) {
    animation-delay: -4s;
    animation-duration: 13s;
  }
  .parallax > use:nth-child(4) {
    animation-delay: -5s;
    animation-duration: 20s;
  }
  @keyframes move-forever {
    0% {
     transform: translate3d(-90px,0,0);
    }
    100% { 
      transform: translate3d(85px,0,0);
    }
  }

  .marshmallow {
    position: absolute;
    background-image: url(resources/marshmallow.webp);
    background-size: 50px;
    width: 50px;
    height: 50px;
  }


  /* Language selector */

  .language-selector img {
    width: 24px;
    border-radius: 4px;
  }

  @keyframes appear {
    from {
        opacity: 0;
        clip-path: inset(100% 100% 0 0);
    }
    to {
        opacity: 1;
        clip-path: inset(0 0 0 0);
    }
  }

  .block {
    animation: appear linear;
    animation-timeline: view();
    animation-range:entry 0% cover 10%;
  }