* {
    --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: .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: .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: .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: .7;
}
.header-nav li > a,
.footer-nav li > a{ 
    color: var(--text-dark);
    text-decoration: none;
    font-weight: 500;
    transition: opacity 0.30s 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: .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: block; }

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