/* 
Setup Tailwind CSS with the following command:
npm install
Then, run the Tailwind CLI to generate the CSS:
npx @tailwindcss/cli -i ./css/input.css -o ./css/output.css --watch 
*/

@import "tailwindcss";
@import "./fonts.css";

@theme {
    /* Colors */

    --color-venice-blue: var(--color-venice-blue);
    --color-crystal-blue: var(--color-crystal-blue);
    --color-navy: var(--color-navy);
    --color-almost-black: var(--color-almost-black);
    --color-medium-turquoise: var(--color-medium-turquoise);
    --color-rangoon-green: var(--color-rangoon-green);
    --color-celestial-blue: var(--color-celestial-blue);
    --color-lemon-grass: var(--color-lemon-grass);

    /* Fonts */
    --font-afacad: "Afacad", "sans-serif";
    --font-nunito: "Nunito", "sans-serif";
}

@utility container {
    margin-inline: auto;
    padding-inline: 20px;
    max-width: 1440px;
}

:root {
    --color-venice-blue: rgb(4, 90, 143);
    --color-crystal-blue: #55beff;
    --color-navy: #021f40;
    --color-almost-black: #000811;
    --color-medium-turquoise: rgb(64, 215, 174);
    --color-rangoon-green: #1a1a1a;
    --color-celestial-blue: #439ace;
    --color-lemon-grass: #999999;
}

body {
    font-family: "Afacad";
    color: white;
}

header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;

    &::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background-image: linear-gradient(180deg, rgba(0, 8, 17, 1) 0%, rgba(0, 8, 17, 0) 100%);
        backdrop-filter: blur(20px);
    }
    .current-menu-item {
        color: var(--color-crystal-blue);
        svg path {
            fill: var(--color-crystal-blue);
        }
    }
    li {
        display: flex;
        a:hover {
            color: var(--color-crystal-blue);
            transition: color ease-in-out 0.2s;
            svg path {
                fill: var(--color-crystal-blue);
                transition: fill ease-in-out 0.2s;
            }
        }
        &:has(.sub-menu) {
            position: relative;
        }
        &:has(.sub-menu):hover {
            .sub-menu {
                display: block;
            }
        }
        a {
            padding: 34px 25px;
            &:has(svg) {
                display: flex;
                gap: 8px;
                align-items: center;
            }
        }
    }
    li .sub-menu {
        border-radius: 0 0 20px 20px;
        overflow: hidden;
        backdrop-filter: blur(4px);
        li {
            display: flex;
            a {
                width: 100%;
                padding: 9px 24px;
                color: white;
            }
            &:hover {
                background-color: var(--color-navy);
                transition: background-color ease-in-out 0.2s;
                a {
                    color: white;
                }
            }
        }
    }
}

.landing-section {
    max-width: 1920px;
    margin-inline: auto;
    .gradient {
        background: rgba(0, 8, 17, 0);
        background: linear-gradient(180deg, rgba(0, 8, 17, 0) 50%, rgba(0, 8, 17, 1) 100%);
        img {
            position: relative;
            z-index: -1;
            display: block;
        }
    }
}

.blue-radial-gradient {
    background: radial-gradient(circle at 0% 50%, rgba(85, 190, 255, 0.4), transparent 20%),
        radial-gradient(circle at 100% 40%, rgba(85, 190, 255, 0.4), transparent 20%);
}

.green-radial-gradient {
    background: radial-gradient(circle at 0% 50%, rgba(45, 255, 196, 0.4), transparent 20%),
        radial-gradient(circle at 100% 40%, rgba(45, 255, 196, 0.4), transparent 20%);
}

.blue-green-radial-gradient {
    background: radial-gradient(circle at 0% 45%, rgba(85, 190, 255, 0.4), transparent 15%),
        radial-gradient(circle at 100% 65%, rgba(45, 255, 196, 0.4), transparent 15%);
}

.magenta-orange-radial-gradient {
    background: radial-gradient(circle at 0% 45%, rgba(191, 0, 255, 0.4), transparent 15%),
        radial-gradient(circle at 100% 65%, rgba(217, 90, 0, 0.4), transparent 15%);
}

.blue-orange-radial-gradient {
    background: radial-gradient(circle at 0% 45%, rgba(85, 190, 255, 0.4), transparent 15%),
        radial-gradient(circle at 100% 65%, rgba(217, 90, 0, 0.4), transparent 15%);
}

.blue-magenta-radial-gradient {
    background: radial-gradient(circle at 0% 45%, rgba(85, 190, 255, 0.4), transparent 15%),
        radial-gradient(circle at 100% 65%, rgba(191, 0, 255, 0.4), transparent 15%);
}

.magenta-green-radial-gradient {
    background: radial-gradient(circle at 0% 45%, rgba(191, 0, 255, 0.4), transparent 15%),
        radial-gradient(circle at 100% 65%, rgba(45, 255, 196, 0.4), transparent 15%);
}
.green-orange-radial-gradient {
    background: radial-gradient(circle at 0% 45%, rgba(45, 255, 196, 0.4), transparent 15%),
        radial-gradient(circle at 100% 65%, rgba(217, 90, 0, 0.4), transparent 15%);
}

.main-panel-section {
    max-width: 1920px;
    margin-inline: auto;
    .main-panel-gradient {
        position: relative;
        border-radius: 24px 24px 0 0;
        padding-top: 8px;
        border: 2px solid var(--color-celestial-blue);
    }
    .main-panel-gradient::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 80%;
        background: #000811;
        background: linear-gradient(180deg, rgba(0, 8, 17, 0) 0%, rgba(0, 8, 17, 1) 100%);
    }
}

.why-titan-cards {
    .why-titan-card {
        h3 {
            font-family: "Afacad";
            color: var(--color-crystal-blue);
            font-size: 30px;
            font-weight: bold;
            line-height: 32px;
            max-width: 13ch;
            margin-top: 8px;
            margin-bottom: 15px;
        }
        p {
            font-size: 20px;
            font-family: "Nunito", "sans-serif";
            padding-inline: 30px;
        }
    }
    div:nth-child(6) h3 {
        max-width: 18ch;
    }
}

.igaming-tabs {
    .tablinks {
        background-color: rgba(64, 215, 174, 0.2);
        padding-block: 11px;
        border-radius: 6px;
        font-family: "Afacad";
        font-weight: 500;
        font-size: 24px;
        cursor: pointer;
    }
    .tablinks.active {
        background-color: var(--color-medium-turquoise);
        color: var(--color-rangoon-green);
    }
}
.tabcontent {
    display: none;
    animation: fadeEffect 1s;
}

.latest-news-card {
    display: flex;
    flex-direction: column;
    padding: 12px;
    background-color: rgba(4, 90, 143, 0.1);
    border-radius: 16px;
    border: 2px solid #439ace;
    transition: border ease-in-out 0.2s, box-shadow ease-in-out 0.2s linear;
    .latest-news-card-title {
        font-size: 36px;
        font-weight: bold;
        line-height: 32px;
        font-family: "Afacad";
        color: #55beff;
        max-width: 384px;
        margin-top: 11px;
        transition: color ease-in-out 0.2s;
    }
    p {
        color: white;
        font-size: 20px;
        font-family: "Nunito";
        margin-top: 18px;
        margin-bottom: 30px;
    }
    .latest-news-card-date {
        color: white;
        font-style: italic;
        font-family: "Nunito";
    }
    &:hover {
        border: 2px solid var(--color-medium-turquoise);
        transition: border ease-in-out 0.2s, box-shadow ease-in-out 0.2s linear;
        box-shadow: 0px 0px 10px 5px rgba(45, 255, 196, 0.4);
        .latest-news-card-title {
            color: var(--color-medium-turquoise);
            transition: color ease-in-out 0.2s;
        }
    }
}

.cta-section {
    background-image: url("../assets/images/cta-img.svg");
    background-repeat: no-repeat;
    background-position: left;
    z-index: 10;
    position: relative;
    max-width: 1920px;
    margin-inline: auto;
    .radial-grad {
        background: radial-gradient(circle at 40% 100%, rgba(85, 190, 255, 0.6), transparent 40%),
            radial-gradient(circle at right, rgba(85, 190, 255, 0.6), transparent 40%);
    }
}

.blue-line-gradient {
    background: #010913;
    background: linear-gradient(100deg, rgba(1, 9, 19, 1) 0%, rgba(4, 90, 143, 1) 50%, rgba(1, 9, 19, 1) 100%),
        radial-gradient(circle at top, rgba(85, 190, 255, 0.1), transparent 30%);
}

.half-radial-glow {
    height: 90px;
    width: 100%;
    background: radial-gradient(ellipse at center top, rgba(4, 90, 143, 0.3) 0%, rgba(1, 9, 19, 0) 70%);

    background-repeat: no-repeat;
    margin-top: -1px;
}

.accordion-section {
    .accordion {
        background-color: rgba(4, 90, 143, 0.1);
        cursor: pointer;
        border-radius: 10px;
        color: var(--color-crystal-blue);
        font-size: 30px;
        text-align: left;
        font-weight: 600;
        backdrop-filter: blur(20px);
        padding: 18px 47px 18px 30px;
        width: 100%;
        transition: 0.4s;
        position: relative;
    }
    .active {
        border-radius: 10px 10px 0 0 !important;
    }
    .active::after {
        transform: translateY(-50%) rotate(-45deg) !important;
        transition: transform ease-in-out 0.2s;
    }
    .accordion::after {
        content: "+";
        font-size: 40px;
        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;
        background-color: rgba(4, 90, 143, 0.1);
        border-radius: 0 0 10px 10px;
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.2s ease-out;
        margin-bottom: 30px;
        p {
            margin-bottom: 38px;
        }
    }
}

.single-page-section {
    h1 {
        font-weight: 600;
        font-size: 60px;
        line-height: 60px;
        max-width: 35ch;
        margin-inline: auto;
        text-align: center;
    }
    h2 {
        font-size: 52px;
        font-weight: 600;
        line-height: 52px;
        margin-bottom: 44px;
    }
    h3 {
        font-size: 30px;
        font-weight: 900;
        font-family: "Nunito", "sans-serif";
    }
    p {
        margin-bottom: 40px;
        font-size: 20px;
        font-family: "Nunito", "sans-serif";
    }
    img {
        width: 100%;
        margin: 43px 0;
    }
}

.contact-form {
    max-width: 900px;
    margin-inline: auto;
    margin-top: 145px;
    padding-inline: 16px;
    form {
        input,
        textarea {
            background-color: rgba(4, 90, 143, 0.1);
            width: 100%;
            border: 2px solid var(--color-venice-blue);
            border-radius: 6px;
            padding-block: 8px;
            font-size: 20px;
            font-family: "Nunito";
            padding-left: 30px;
            margin-top: 16px;
            margin-bottom: 20px;
        }
        label {
            font-size: 20px;
            font-family: "Nunito";
            position: relative;
            &::after {
                position: absolute;
                content: "*";
                color: red;
            }
        }
        input:focus-visible {
            border: 2px solid var(--color-medium-turquoise);
            box-shadow: 0px 0 20px 0px rgba(45, 255, 196, 0.4);
            outline: transparent;
        }

        textarea:focus-visible {
            border: 2px solid var(--color-medium-turquoise);
            box-shadow: 0px 0 20px 0px rgba(45, 255, 196, 0.4);
            outline: transparent;
        }
        .wpcf7-form-control[type="submit"] {
            padding-inline: 50px;
            padding-block: 11px;
            margin: 0;
            cursor: pointer;
            background-color: var(--color-venice-blue);
        }
        p {
            text-align: start;
        }
    }
}

.blog-pagination {
    li {
        cursor: pointer;
        padding: 11px 15px;
        background-color: rgba(4, 90, 143, 0.2);
        border-radius: 6px;
        line-height: 18px;
    }
    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-venice-blue);
    }
}

.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: white;
    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;
}

.btn-hover {
    position: relative;
    z-index: 1;
    text-shadow: unset;
    transition: text-shadow ease-in-out 200ms;
    &::before {
        content: "";
        position: absolute;
        inset: 1px;
        border-radius: inherit;
        box-shadow: 0px 0px 40px var(--color-crystal-blue);
        z-index: -1;
        opacity: 0;
        transition: opacity ease-in-out 200ms;
    }
    &:hover {
        text-shadow: var(--color-medium-turquoise) 1px -3px 10px;
        &::before {
            opacity: 1;
        }
    }
}

.footer-links {
    color: white;
    font-size: 20px;
    font-weight: 500;
    display: flex;
    gap: 16px;
    flex-direction: column;
    transition: color 0.2s ease-in-out;
    li:hover {
        color: var(--color-celestial-blue);
        transition: color 0.2s ease-in-out;
    }
}

.solutions-main {
    p {
        max-width: 980px;
        margin-inline: auto;
        text-align: center;
        font-size: 20px;
        font-family: "Nunito";
    }
}
.small-card {
    h3 {
        font-size: 30px;
        font-weight: 700;
        line-height: 32px;
        color: var(--color-crystal-blue);
        margin-top: 34px;
        margin-bottom: 13px;
    }
    p {
        font-size: 20px;
        font-family: "Nunito";
        max-width: 380px;
        margin-inline: auto;
    }
}

.about-page-mission {
    p {
        font-size: 20px;
        font-family: "Nunito";
    }
}
.about-page-values {
    p {
        font-size: 20px;
        font-family: "Nunito";
        text-align: center;
    }
}
@keyframes fadeEffect {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@media screen and (max-width: 1280px) {
    .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 {
        li {
            display: list-item;
            a {
                padding: 0;
            }
            .sub-menu {
                backdrop-filter: none;
                border-radius: 0;

                li {
                    a {
                        padding: 9px 39px;
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 1024px) {
    .cta-section {
        background-image: none;
        .radial-grad {
            background: radial-gradient(circle at 40% 100%, rgba(85, 190, 255, 0.2), transparent 90%),
                radial-gradient(circle at right, rgba(85, 190, 255, 0.2), transparent 90%);
        }
    }
}

@media screen and (max-width: 640px) {
    .igaming-tabs {
        .tablinks {
            font-size: 20px;
        }
    }
    .accordion-section {
        .accordion {
            font-size: 20px;
            line-height: 24px;
        }
        .panel {
            font-size: 16px;
            margin-bottom: 20px;
        }
    }
    .blog-pagination {
        li {
            padding: 11px 13px;
        }
    }
    .single-page-section {
        h1 {
            font-size: 32px;
            line-height: 32px;
        }
        h2 {
            font-size: 28px;
            margin-bottom: 20px;
            line-height: 30px;
        }
        h3 {
            font-size: 20px;
        }
        p {
            margin-bottom: 20px;
            font-size: 16px;
        }
        img {
            margin: 24px 0;
        }
    }

    .main-panel-section {
        .main-panel-gradient {
            border-radius: 6px 6px 0 0;
            padding: 5px;
            border: 2px solid var(--color-celestial-blue);
        }
    }

    .footer-links {
        font-size: 18px;
    }

    .contact-form {
        margin-top: unset;
        form {
            input,
            textarea {
                font-size: 16px;
                padding-left: 10px;
            }
            label {
                font-size: 16px;
            }
        }
    }
    .about-page-mission {
        p {
            font-size: 16px;
        }
    }
    .about-page-values {
        p {
            font-size: 16px;
        }
    }
}
