/* 
npx @tailwindcss/cli -i ./css/input.css -o ./css/output.css --watch 
*/

@import "tailwindcss";
@import "./fonts.css";

@utility container {
    margin-inline: auto;
    padding-inline: 20px;
    max-width: 1200px;
}

@theme {
    --color-chili-pepper: var(--color-chili-pepper);
    --color-ironside-grey: var(--color-ironside-grey);
    --color-black-russian: var(--color-black-russian);
    --color-dune: var(--color-dune);
    --color-rosso-corsa: var(--color-rosso-corsa);
    --color-lemon-grass: var(--color-lemon-grass);
    --color-soft-peach: var(--color-soft-peach);
    --color-monsoon: var(--color-monsoon);
    --color-butterfly-blue: var(--color-butterfly-blue);
    --color-steel: var(--color-steel);
    --color-scarlet: var(--color-scarlet);
}

:root {
    --blood-percentage: 0;
    --delay-timer: 0;

    --color-chili-pepper: #be1928;
    --color-ironside-grey: #666666;
    --color-black-russian: #030222;
    --color-dune: #333333;
    --color-rosso-corsa: #e40108;
    --color-lemon-grass: #999999;
    --color-soft-peach: #eeeeee;
    --color-monsoon: #888888;
    --color-butterfly-blue: #3cafff;
    --color-steel: #7e8299;
    --color-scarlet: #b50818;
}

body {
    font-family: "Roboto", "sans-serif";
}

.rstr-script-selector.active {
    color: black;
}
header {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 10;
    nav {
        .js-nav li:has(li.current-menu-item) {
            border-bottom: 4px solid var(--color-chili-pepper);
        }
        li {
            display: flex;
            border-bottom: 4px solid transparent;
            &:has(.sub-menu) {
                position: relative;
            }
            &:has(.sub-menu):hover {
                .sub-menu {
                    display: block;
                }
            }

            &:has(.sub-menu) {
                position: relative;
            }
            &:has(.sub-menu):hover {
                .sub-menu {
                    display: block;
                }
            }
            a {
                color: var(--color-scarlet);
                font-size: 16px;
                text-transform: uppercase;
                padding: 40px 18px;
                &:has(svg) {
                    display: flex;
                    gap: 8px;
                    align-items: center;
                }
            }
        }
        li .sub-menu {
            overflow: hidden;
            li {
                display: flex;
                a {
                    width: 100%;
                    padding: 9px 38px;
                    color: var(--color-ironside-grey);
                    text-transform: none;
                }
                &:hover {
                    background-color: var(--color-chili-pepper);
                    transition: background-color ease-in-out 0.2s;
                    a {
                        color: white;
                    }
                }
            }
        }
        li:last-child {
            a {
                padding-right: 0;
            }
        }
    }
    .header-shadow {
        box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.25);
        -webkit-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.25);
        -moz-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.25);
    }
    .submenu-shadow {
        box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.25);
        -webkit-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.25);
        -moz-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.25);
    }
}

.ham {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 400ms;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.hamRotate.active {
    transform: rotate(45deg);
}
.line {
    fill: none;
    transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
    stroke: var(--color-chili-pepper);
    stroke-width: 5.5;
    stroke-linecap: round;
}
.ham4 .top {
    stroke-dasharray: 40 121;
}
.ham4 .bottom {
    stroke-dasharray: 40 121;
}
.ham4.active .top {
    stroke-dashoffset: -68px;
}
.ham4.active .bottom {
    stroke-dashoffset: -68px;
}

.hero-section {
    position: relative;
    .hero-gradient {
        position: absolute;
        left: 0;
        z-index: 1;
        height: 100%;
        width: 100%;
        background: #1e77b5;
        background: linear-gradient(90deg, rgba(30, 119, 181, 1) 0%, rgba(255, 255, 255, 0) 80%);
    }
    h1 {
        text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
        text-transform: uppercase;
        max-width: 825px;
        font-size: 56px;
        font-weight: 700;
        color: white;
    }
    img:not(.heart-image) {
        width: 100%;
    }
}
.hero-box {
    background: #d31f30;
    background: linear-gradient(90deg, rgba(211, 31, 48, 1) 0%, rgba(157, 9, 22, 1) 100%);
}

.blood-reserve-section {
    .dropdown {
        position: relative;
        display: inline-block;
        align-self: center;
        margin-left: 30px;
    }

    .dropdown-button {
        color: var(--color-rosso-corsa);
        /*font-size: 42px;*/
        text-transform: uppercase;
        font-weight: 700;
        border: none;
        cursor: pointer;
        border-radius: 4px;
    }

    /* .dropdown-button:hover {
    background-color: #45a049;
  } */

    .dropdown-content {
        display: none;
        position: absolute;
        text-align: center;
        text-transform: uppercase;
        background-color: #f9f9f9;
        min-width: 160px;
        width: 100%;
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
        z-index: 5;
        border-radius: 4px;
    }

    .dropdown-content a {
        color: var(--color-monsoon);
        padding: 12px 2px;
        font-size: 22px;
        font-weight: 700;
        text-decoration: none;
        display: block;
        &:hover {
            color: var(--color-rosso-corsa);
        }
    }

    .dropdown-content.show {
        display: block;
    }

    .blood-reserve-swiper {
        .swiper-button-next::after,
        .swiper-button-prev::after {
            content: none;
        }
        .swiper-button-next,
        .swiper-button-prev {
            width: unset;
        }
    }
}

.home-notifications-section {
    background-color: #e3f3fe;
    position: relative;
    &::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        bottom: 0;
        background: RGBA(227, 243, 254, 1);
        background: linear-gradient(180deg, rgba(227, 243, 254, 0) 70%, rgba(110, 167, 206, 1) 100%);
        /* z-index: 10; */
    }
    h3 {
        position: relative;
        &::before {
            position: absolute;
            top: 50%;
            left: 0;
            content: "";
            height: 7px;
            width: 390px;
            background-color: var(--color-rosso-corsa);
        }
        &::after {
            position: absolute;
            top: 50%;
            right: 0;
            content: "";
            height: 7px;
            width: 390px;
            background-color: var(--color-rosso-corsa);
        }
    }
}
.home-news {
    p {
        font-size: 18px;
        line-height: 28px;
        color: var(--color-dune);
    }
    p:first-of-type {
        font-weight: 700;
        margin-top: 32px;
        margin-bottom: 23px;
    }
    a {
        background: #d31f30;
        background: linear-gradient(90deg, rgba(211, 31, 48, 1) 0%, rgba(157, 9, 22, 1) 100%);
    }
}

.home-notifications-swiper {
    margin-top: 90px;
    .swiper-wrapper {
        align-items: stretch !important;
    }
    .swiper-pagination {
        position: relative;
        margin-top: 40px;
        .swiper-pagination-bullet {
            width: 20px;
            height: 20px;
            color: var(--color-soft-peach);
        }
        .swiper-pagination-bullet-active {
            background: var(--color-rosso-corsa);
        }
    }
}

.blog-card {
    border: 4px solid var(--color-lemon-grass);
    border-radius: 20px;
    transition: border-color 0.2s ease-in-out;
    overflow: hidden;
    img {
        width: 100%;
    }
    &:hover {
        border-color: var(--color-rosso-corsa);
        transition: border-color 0.2s ease-in-out;
        .card-content {
            h2 {
                color: var(--color-rosso-corsa);
                transition: color 0.2s ease-in-out;
            }
        }
    }
    .card-content {
        padding-inline: 30px;
        padding-block: 23px;
        h2 {
            font-size: 23px;
            font-weight: 700;
            color: var(--color-dune);
            margin-bottom: 17px;
            transition: color 0.2s ease-in-out;
            line-height: normal;
        }
        p {
            font-size: 18px;
            line-height: 24px;
            color: var(--color-dune);
        }
        img {
            width: 100%;
            border-radius: 20px 20px 0 0;
        }
    }
}

.blog-pagination {
    li {
        cursor: pointer;
        padding: 11px 15px;
        background-color: white;
        border-radius: 6px;
        line-height: 18px;
        color: var(--color-steel);
    }
    /* li:first-child,
  li:last-child {
    background-color: rgba(4, 90, 143, 0.4);
  } */
    li:has([aria-current="page"]) {
        color: white;
        background-color: var(--color-rosso-corsa);
    }
}

.single-page {
    .single-page-content {
        h2 {
            font-size: 36px;
            font-weight: 600;
            color: var(--color-dune);
            margin-bottom: 25px;
            line-height: normal;
        }
        h3 {
            font-size: 30px;
            font-weight: 600;
            color: var(--color-dune);
            margin-bottom: 22px;
        }
        p {
            margin-bottom: 32px;
            font-size: 18px;
            line-height: 24px;
            color: var(--color-dune);
        }
        img {
            margin-block: 33px;
        }
        ul {
            padding-left: 30px;
            margin-block: 23px;
            font-size: 18px;
            line-height: 28px;
            color: var(--color-dune);
            list-style: disc;
        }
        .single-post-date {
            p {
                color: #999999;
                font-size: 18px;
                font-weight: 400;
                margin-bottom: 0px;
            }
        }
        blockquote {
            background: #d31f30;
            background: linear-gradient(90deg, rgba(211, 31, 48, 1) 0%, rgba(157, 9, 22, 1) 100%);
            padding: 27px;
            border-radius: 10px;
            margin-block: 25px;
            h2 {
                margin-bottom: 0px;
                font-size: 28px;
                color: white;
                text-transform: uppercase;
                padding-left: 22px;
                border-left: 7px solid white;
                padding-bottom: 10px;
            }
            p {
                color: white;
                font-size: 19px;
                margin-bottom: 0;
                border-left: 7px solid white;
                padding-left: 22px;
            }
        }
        .wp-block-file {
            a {
                text-transform: uppercase;
                color: var(--color-chili-pepper);
                font-weight: 700;
                font-size: 18px;
                position: relative;
                padding-left: 40px;
                &::before {
                    position: absolute;
                    content: url("../assets/images/download-icon.svg");
                    left: 0;
                    /* bottom: 50%;
                    transform: translateY(50%); */
                }
            }
            a.wp-block-file__button {
                display: none;
            }
        }
        .steps {
            background: #d31f30;
            background: linear-gradient(90deg, rgba(211, 31, 48, 1) 0%, rgba(157, 9, 22, 1) 100%);
            padding: 5px 20px;
            color: white;
            font-weight: 700;
            border-radius: 4px;
            margin-top: 15px;
            display: inline-block;
        }
        .wp-block-embed__wrapper {
            iframe {
                width: 100%;
            }
        }
    }
    .single-page-aside {
        ul {
            display: flex;
            flex-direction: column;
            gap: 18px;
            color: white;
            font-size: 18px;
        }
    }

    .association-members {
        p:nth-of-type(2n) {
            font-weight: bold;
            margin: 0;
        }
    }
}

.blue-gradient {
    position: relative;
    &::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        bottom: 0;
        background: RGBA(227, 243, 254, 1);
        background: linear-gradient(180deg, rgba(227, 243, 254, 0) 80%, rgba(110, 167, 206, 1) 100%);
        z-index: -1;
    }
}
footer {
    .footer-list {
        color: white;
        max-width: max-content;
        h3 {
            text-transform: uppercase;
            font-size: 18px;
            font-weight: 700;
        }
        ul {
            color: white;
            display: flex;
            flex-direction: column;
            gap: 21px;
            transition: color 0.2s ease-in-out;
            a:hover {
                color: var(--color-butterfly-blue);
                transition: color 0.2s ease-in-out;
            }
        }
    }
}

.accordion-section {
    .accordion-container {
        border: 1px solid var(--color-chili-pepper);
        border-radius: 10px;
        margin-bottom: 25px;
        .accordion {
            cursor: pointer;
            border-radius: 10px;
            display: flex;
            gap: 19px;
            align-items: center;
            text-transform: uppercase;
            color: var(--color-chili-pepper);
            font-size: 20px;
            text-align: left;
            font-weight: 600;
            line-height: 28px;
            backdrop-filter: blur(20px);
            padding: 15px 45px 15px 22px;
            width: 100%;
            transition: 0.4s;
            position: relative;
            img {
                margin: 0;
            }
        }
    }

    .active::after {
        transform: translateY(-50%) rotate(-180deg) !important;
        transition: transform ease-in-out 0.2s;
    }
    .accordion::after {
        content: "\25BC";
        font-size: 16px;
        position: absolute;
        color: var(--color-crystal-blue);
        right: 30px;
        top: 50%;
        transform: translateY(-50%);
        transition: transform ease-in-out 0.2s;
    }
    .panel {
        padding-inline: 30px;
        font-size: 20px;
        border-radius: 0 0 10px 10px;
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.2s ease-out;
        p {
            margin-bottom: 20px;
        }
    }
}

.choices {
    width: 300px;
    z-index: 10;
}

.kapljica {
    position: relative;
    img {
        width: 100%;
    }
    &::after {
        position: absolute;
        background-color: #e40108;
        width: 95%;
        left: 2px;
        transform-origin: bottom;
        height: 100%;
        content: "";
        bottom: 10px;
        z-index: -1;
        transform: scaleY(0);

        animation: scaling 1500ms calc(var(--delay-timer) * 100ms) linear forwards;
    }
    &::before {
        position: absolute;
        width: 70px;
        height: 70px;
        border-radius: 50%;
        content: attr(type);
        background-color: #444444;
        text-align: center;
        align-content: center;
        font-size: 30px;
        font-weight: 900;
        color: white;
        bottom: 50%;
        left: 5%;
        outline: 7px solid white;
    }
}

.loader {
    width: 45px;
    height: 45px;
    border: 5px solid var(--color-chili-pepper);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;

    animation: rotation 1s linear infinite;
}

.choices {
    z-index: 6;
    width: unset;
    min-width: 300px;
    .choices__list--single {
        padding: 4px 30px 4px 4px;
    }
    .choices__inner {
        background-color: transparent;
        border: none;
    }
    .choices__item--selectable {
        text-align: center;
        font-size: 42px;
        font-weight: bold;
        text-transform: uppercase;
        color: var(--color-rosso-corsa);
        .choices__button {
            display: none;
        }
    }
    .choices__item--choice {
        padding: 10px !important;
        font-size: 22px !important;
        color: var(--color-monsoon);
        background-color: transparent !important;
        &::after {
            display: none;
        }
        &:hover {
            color: var(--color-rosso-corsa);
        }
    }
}
.choices[data-type*="select-one"]::after {
    border-width: 8px !important;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@keyframes scaling {
    0% {
        transform: scaleY(0);
    }
    100% {
        transform: scaleY(var(--blood-percentage));
    }
}

@media screen and (max-width: 1536px) {
    .hide {
        max-height: 0;
        overflow: hidden;
        visibility: hidden;
        transition: all ease-in-out 0.5s;
    }
    .show {
        max-height: 400px;
        visibility: visible;
        transition: all ease-in-out 0.5s;
    }
    .active-category svg {
        transform: rotate(-180deg);
    }
    header {
        nav {
            .js-nav li:has(li.current-menu-item) {
                border-bottom: none;
            }
            .js-nav li > a {
                border-left: 4px solid transparent;
                padding-left: 4px;
            }
            .js-nav li:has(.current-menu-item) > a {
                padding-left: 4px;
                border-left: 4px solid var(--color-chili-pepper);
                border-bottom: none;
            }

            li {
                display: list-item;

                a {
                    padding: 0;
                }
                .sub-menu {
                    backdrop-filter: none;
                    border-radius: 0;

                    li {
                        a {
                            color: var(--color-scarlet);
                            padding: 9px 39px;
                        }
                    }
                }
            }
        }
    }
    .submenu-shadow {
        box-shadow: none !important;
        -webkit-box-shadow: none !important;
        -moz-box-shadow: none;
    }
}

@media screen and (max-width: 1280px) {
    .home-notifications-section {
        h3 {
            &::after {
                width: 0;
            }
            &::before {
                width: 0;
            }
        }
    }
    .hero-section {
        h1 {
            font-size: 40px;
        }
    }
}

@media screen and (max-width: 640px) {
    .hero-section {
        h1 {
            font-size: 30px;
        }
    }

    .choices {
        .choices__item--selectable {
            font-size: 20px;
        }
        .choices__item--choice {
            font-size: 16px !important;
        }
    }
    .choices[data-type*="select-one"]::after {
        border-width: 6px !important;
    }
    .single-page {
        .single-page-content {
            h2 {
                font-size: 24px;
                margin-bottom: 6px;
            }
            .single-post-date {
                p {
                    font-size: 14px;
                }
            }
            img {
                margin-block: 22px;
            }
            p {
                margin-bottom: 25px;
                font-size: 16px;
            }
            ul {
                font-size: 16px;
                margin-block: 12px;
            }
        }
    }
    .blog-card {
        .card-content {
            h2 {
                font-size: 20px;
            }
            p {
                font-size: 16px;
            }
        }
    }
    .home-notifications-swiper {
        margin-top: 33px;
        .swiper-pagination {
            .swiper-pagination-bullet {
                width: 16px;
                height: 16px;
            }
        }
    }
}
