/* FONT */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');

/* SCROLLBAR */
::-webkit-scrollbar {
    width: 8px;
    height: 6px;
}

::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px rgba(255, 255, 255, 0);
    border-radius: 0px;
}

::-webkit-scrollbar-thumb {
    background-color: #8383D2;
    border-radius: 0px;
}

/* GENERAL */
* {
    padding: 0;
    margin: 0;
}

html {
    width: 100%;
    height: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    height: 100%;
    overflow-x: hidden;
    background-color: #090914;

    background-image: url('../img/background_pattern.png');
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

a{
    text-decoration: none;
    color: #fff;
}

/* INDEX */
/* NAVBAR */
.navbar{
    display: flex;
    justify-content: center;
    margin: 40px 40px;
}

.navbar__container{
    display: inline-flex;
    flex-direction: row;
    align-items: center;
}

.navbar__link{
    list-style-type: none;
    margin: 0 25px;
    font-weight: 500;
    color: #a4a4ab;
    transition: .3s;
}

.navbar__link:hover{
    color: white;
    transition: .3s;
}

.navbar__link--active{
    color: white;
}

.navbar__brand{
    width: 90px;
    margin: 0 20px;
}

.navbar__mobile{
    display: none;
}

@media only screen and (max-width: 1100px) {
    .navbar__mobile{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    .navbar__mobile__brand{
        width: 74px;
    }
        
    .navbar__container{
        display: none;
    }

    .navbar__nav--active{
        display: block;
        margin-top: 30px;
        position: absolute;
        top: 80px;
        background-color: #151521;
        border-radius: 10px;
        width: 100%;
        padding: 20px 0;
    }

    .navbar{
        display: flex;
        justify-content: center;
        flex-direction: column;
        margin: 40px 8%;
        position: relative;
    }
    
    .navbar__link{
        margin: 10px 0 12px 30px;
    }
    
    .navbar__brand{
        display: none;
    }

}

/* HEADER */
.header{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    margin: 170px 40px;
}

.header__container{
    width: 600px;
    text-align: center;
}

.header__title{
    color: white;
    font-size: 60px;
    margin-bottom: 20px;
}

.header__description{
    color: #8B8B92;
    font-weight: normal;
}

.header__status{
    background-color: #151521;
    border-radius: 8px;
    margin: 70px 50px;
}

.status__row{
    padding: 30px;
}

.status__list{
    display: inline-flex;
    flex-direction: row;
    gap: 40px;
    list-style-type: none;
}

.status__name{
    color: #8b8b92;
    font-weight: 500;
}

.status__info{
    display: inline-flex;
    align-items: center;
}

.status__info--success{
    color: #6EFF73;
}

.status__info--offline{
    color: #ff6e6e;
}

.status__info--pending{
    color: #626262;
}

.status__info--pending .status__blob{
    width: 10px;
    height: 10px;
    background-color: #626262;
    border-radius: 50px;
    margin-right: 15px;
    animation: animatePending 3s linear infinite;
}

.status__info--offline .status__blob{
    width: 10px;
    height: 10px;
    background-color: #ff6e6e;
    border-radius: 50px;
    margin-right: 15px;
    animation: animateDanger 3s linear infinite;
}

.status__blob{
    width: 10px;
    height: 10px;
    background-color: #6EFF73;
    border-radius: 50px;
    margin-right: 15px;
    animation: animate 3s linear infinite;
}

@keyframes animate{
    0%{
        box-shadow:0 0 0 0 #20332C,0 0 0 0 #20332C;
        transform:scale(.7)
    }
    40%{
        box-shadow:0 0 0 15px #ff6d4a00,0 0 0 0 #20332C;
        transform:scale(.9)
    }
    80%{
        box-shadow:0 0 0 15px #ff6d4a00,0 0 0 15px #ff6d4a00;
        transform:scale(.8)
    }
    100%{
        box-shadow:0 0 0 0 #ff6d4a00,0 0 0 10px #ff6d4a00;
        transform:scale(.7)
    }
}

@keyframes animateDanger{
    0%{
        box-shadow:0 0 0 0 #3d3d3d,0 0 0 0 #3d3d3d;
        transform:scale(.7)
    }
    40%{
        box-shadow:0 0 0 15px #ff6d4a00,0 0 0 0 #3d3d3d;
        transform:scale(.9)
    }
    80%{
        box-shadow:0 0 0 15px #ff6d4a00,0 0 0 15px #ff6d4a00;
        transform:scale(.8)
    }
    100%{
        box-shadow:0 0 0 0 #ff6d4a00,0 0 0 10px #ff6d4a00;
        transform:scale(.7)
    }
}

@keyframes animatePending{
    0%{
        box-shadow:0 0 0 0 #332020,0 0 0 0 #332020;
        transform:scale(.7)
    }
    40%{
        box-shadow:0 0 0 15px #ff6d4a00,0 0 0 0 #332020;
        transform:scale(.9)
    }
    80%{
        box-shadow:0 0 0 15px #ff6d4a00,0 0 0 15px #ff6d4a00;
        transform:scale(.8)
    }
    100%{
        box-shadow:0 0 0 0 #ff6d4a00,0 0 0 10px #ff6d4a00;
        transform:scale(.7)
    }
}

.status__count{
    color: #e3e3e3;
    font-weight: 600;
}

.header__scroll{
    margin-top: 150px;
    opacity: 0.12;
    transition: .3s;
}

.header__scroll:hover{
    opacity: 0.8;
    transition: .3s;
}

@media only screen and (max-width: 900px) {
    .header{
        margin: 140px 5%;
    }
    
    .header__container{
        width: 90%;
        text-align: left;
    }
    
    .header__title{
        font-size: 44px;
        margin-bottom: 20px;
    }

    .header__status{
        background-color: transparent;
        padding-bottom: 10px;
        margin: 70px 0;
    }

    .status__row{
        padding: 0px;
    }
    
    .status__list{
        display: inline-flex;
        flex-direction: column;
        gap: 12px;
    }
    
    .status__info{
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
    }
    
    .status__count{
        margin-top: 30px;
    }
    
    .header__scroll{
        margin-top: 120px;
    }
    
}

/* CONTENT */
.content{
    margin: -30px 15%;
    padding-bottom: 130px;
}

.content__row{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2%;
}

.content__col{
    width:49%;
}

@media only screen and (max-width: 1700px) {
    .content{
        margin: -30px 8%;
    } 
}

@media only screen and (max-width: 1200px) {
    .content{
        margin: -40px 8%;
        padding-bottom: 130px;
    }

    .content__col{
        width:100%;
    }
}

/* CARD */
.card{
    background-color: #151521;
    border-radius: 8px;
    padding: 95px 85px;
    position: relative;
    margin-bottom: 35px;
    transition: .1s;
}

.card:hover{
    opacity: 0.9;
    transition: .1s;
}

.card__image--shop{
    position: absolute;
    top: 30px;
    right: 60px;
    max-width: 180px;
}

.card__arrow{
    position: absolute;
    bottom: 40px;
    right: 50px;
    opacity: 0.18;
    transition: .3s;
}

.card__arrow:hover{
    opacity: 0.8;
    transition: .3s;
}

.card__info{
    width: 400px;
}

.card__title, .card__mode{
    font-size: 42px;
    color: white;
    margin-bottom: -10px;
}

.card__mode{
    margin-bottom: 20px;
}

.card__description{
    color: #8b8b92;
}

@media only screen and (max-width: 1500px) {
    .card__image--shop{
        width: 40%;
        opacity: 0.3;
        z-index: 0;
    }
}

@media only screen and (max-width: 1200px) {
    .card__image--shop{
        width: 30%;
        opacity: 0.3;
        z-index: 0;
    }
}

@media only screen and (max-width: 800px) {
    .card{
        padding: 17% 10%;
    }
    
    .card__image--shop{
        width: 60%;
        opacity: 0.3;
        z-index: 0;
    }
    
    .card__info{
        z-index: 999;
        width: 80%;
    }
    
    .card__title, .card__mode{
        font-size: 42px;
        color: white;
        margin-bottom: -10px;
    }
    
    .card__mode{
        margin-bottom: 20px;
    }
    
    .card__description{
        color: #8b8b92;
    }
}

/* FOOTER */
.footer{
    background-color: #070710;
    padding: 80px 15%;
}

.social__row{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2%;
}

.footer__title{
    font-weight: 700;
    color: white;
    font-size: 35px;
    margin-bottom: 10px;
}

.footer__description{
    color: #8b8b92;
    width: 300px;
    font-size: 15px;
    margin-bottom: 30px;
}

.social__card{
    background-color: #151521;
    width: 50px;
    height: 50px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s;
}

.social__card:hover{
    background-color: #202031;
    transition: .3s;
}

.footer__copyright{
    color: #8B8B92;
    font-size: 14px;
    margin-top: 40px;
}

.links__row{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2%;
}

.links__col{
    width: 31.33%;
}

.footer__links{
    list-style-type: square;
    color: #8B8B92;
    font-size: 14px;
    margin-bottom: 10px;
    transition: .3s;
}

.footer__links:hover{
    color: white;
    transition: .3s;
}

.links__header{
    font-weight: 700;
    color: white;
    font-size: 20px;
    margin-bottom: 24px;
}

@media only screen and (max-width: 1600px) {
    .footer{
        padding: 80px 8%;
    }

}

@media only screen and (max-width: 1200px) {
    .footer{
        padding: 48px 8% 60px;
    }
    
    .footer__title{
        font-size: 30px;
    }
    
    .footer__description{
        font-size: 14px;
    }
    
    .social__card{
        margin-right: 7px;
    }
    
    .footer__copyright{
        margin-bottom: 30px;
    }
    
    .links__col{
        width: 100%;
    }
    
    .links__header{
        margin-top: 30px;
    }
}

/* ALERT */
.alert{
    background-color: #11111A;
    padding: 30px;
    border-radius: 12px;
    color: #8B8B92;
    margin-bottom: 30px;
}

.alert--danger{
    background-color: rgba(247, 66, 66, 0.24);
    color: rgb(245, 81, 81);
}

/* PAGER ERROR */
.page--error{
    margin: 100px 0;
}

/* TOOLTIP */
/* https://codepen.io/CodeIndoor/pen/ExLzMaO */
.tooltip {
    font-size: 1.8rem;
    font-weight: 500;
    color: #fff;
    position: relative;
}

.tooltip::before {
    content: attr(data-tooltip);
    font-size: 13px;
    position: absolute;
    left: -17%;
    bottom: 112%;
    background: #27293B;
    padding: 5px 10px;
    opacity: 0;
    color: #8b8b92;
    z-index: 5;
    border-radius: 5px;
    transition: 100ms opacity;
}

.tooltip::after {
    content: "";
    position: absolute;
    left: 43%;
    bottom: 107%;
    width: 8px;
    height: 8px;
    background: #27293B;
    opacity: 0;
    transform: rotate(45deg);
    transition: 100ms opacity;
}

.tooltip:hover::before,
.tooltip:hover::after {
    opacity: 1;
}
