* {
    --text-primary: #131531;
    --text-dark: #003665;
    --text-blue: #007aff;
    --text-grey: #f8f9fa;
    --text-white: #ffffff;
    --text-offwhite: #f1f8f7;
    --text-green: #2bdcba;
    --text-light-grey: #f5f5f5;
    --text-dark-grey: #edeff1;
    --text-large: 20px !important;
    --text-extra-small: 0.75rem !important;
    --text-gradient: linear-gradient(
        90deg,
        #46cdd0 0%,
        #71aeeb 50%,
        #ac70eb 100%
    );
    --background-gradient: linear-gradient(
        180deg,
        rgba(189, 253, 243, 0.81) 0%,
        rgba(186, 228, 249, 0.81) 100%
    );
    --bg-gradient: linear-gradient(to right, #da63bf, #1fa7f0);
    --border-grey: #e1e1e1;
    --phone-position: translateX(50%);
    --box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1);
    --width-100-padded: calc(100% - 2rem);
}

html,
body {
    padding: 0;
    margin: 0;
    color: var(--text-dark);
    font-size: 16px;
    font-family: "Outfit", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    scroll-behavior: smooth;
}
.font-lato {
    font-family: "Lato", sans-serif;
}
.text-gradient {
    background: linear-gradient(to right, #007aff, #da79fd);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.bg-blue {
    background-color: var(--text-blue);
}
.text-blue {
    color: var(--text-blue);
}
.text-white {
    color: var(--text-white) !important;
}

a {
    color: var(--text-blue);
    text-decoration: underline;
}
a:hover {
    cursor: pointer;
}
ul {
    list-style: none;
}
h2 {
    font-size: 36px;
    line-height: 2.6rem;
}
h3 {
    font-size: 2rem;
    line-height: 2.1rem;
}
h4 {
    font-size: 1.5rem;
    line-height: 1.8rem;
}
p {
    font-size: 1rem;
    line-height: 1.4rem;
}

table td {
    vertical-align: top;
}
table tr td {
    padding: 0.5rem;
}
table tr td:first-child {
    padding-left: 0;
}
table tr td:last-child {
    padding-right: 0;
}

@media screen and (max-width: 768px) {
    h2 {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    h3 {
        font-size: 1.5rem;
    }
    h4 {
        font-size: 1rem;
        line-height: 1.4rem;
    }
    .text-xs {
        font-size: 0.75rem !important;
    }
}

.text-large {
    font-size: 1.25rem;
}
.text-small {
    font-size: 13px;
}

button:hover {
    cursor: pointer;
}
.android {
    position: absolute;
    right: -2rem;
    top: -3rem;
}
.android-3 {
    position: absolute;
    right: -3rem;
    top: -5rem;
}
.ai-stars {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}
.custom-grid {
    grid-template-columns: 2rem auto;
}
.covers-grid {
    grid-template-columns: 4rem auto;
}
.success-grid,
.android2-grid {
    grid-template-columns: 3rem auto;
}
.shield-grid {
    gap: 5px;
    display: grid;
    align-items: center;
    grid-template-columns: 1.25rem auto;
}

.dropdown-menu:hover .language-image,
.header-nav li > a:hover,
.footer-nav li > a:hover {
    opacity: 0.7;
}
.header-nav li > a,
.footer-nav li > a {
    color: var(--text-dark);
    text-decoration: none;
    font-weight: 500;
    transition: opacity 0.3s ease-in-out;
}

.mobile-menu-items {
    display: none;
    position: absolute;
    top: 4rem;
    left: 0;
    opacity: 0;
    width: 100%;
    z-index: 1;
    max-height: 0;
    padding: 1rem 0;
    background: #ffffff;
    transition: max-height 0.15s ease-in-out, opacity 0.15s ease-in-out;
}
.mobile-menu-items.active {
    display: block;
}
.mobile-menu-items li {
    text-align: center;
}

.stroke-white {
    fill: white;
}

@media screen and (max-width: 768px) {
    .custom-grid,
    .android2-grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .footer-nav div > ul li {
        margin: 0.25rem 0;
    }
}

.modal {
    height: auto;
    max-height: 85dvh;
}
.modal,
.modal-backdrop {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1;
    opacity: 0;
    background: #fff;
    transform: translate(-50%, -50%);
    transition: opacity 300ms ease-in-out;
}
.modal-backdrop {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: none;
    background-color: rgba(0, 0, 0, 0.4);
}
.modal.active,
.modal-backdrop.active {
    display: flex;
}

.close-modal:hover {
    cursor: pointer;
}
