@font-face {
    font-family: GoodTimes;
    src: url("../fonts/gt.ttf");
}

@font-face {
    font-family: GoodTimesBold;
    src: url("../fonts/gt_bold.ttf");
}

html {
    overflow-x: hidden;
}

body::-webkit-scrollbar {
    width: 5px;
}

body::-webkit-scrollbar-track {
    background: #f1f1f1;
}

body::-webkit-scrollbar-thumb {
    background: #484A49;
}

body::-webkit-scrollbar-thumb:hover {
    background: #484A49;
}

.scroll-tera::-webkit-scrollbar-thumb {
    background: #3679BD;
}

.scroll-tera::-webkit-scrollbar-thumb:hover {
    background: #3679BD;
}

.scroll-rf::-webkit-scrollbar-thumb {
    background: #DE8A1D;
}

.scroll-rf::-webkit-scrollbar-thumb:hover {
    background: #DE8A1D;
}

.scroll-aion::-webkit-scrollbar-thumb {
    background: #4D6475;
}

.scroll-aion::-webkit-scrollbar-thumb:hover {
    background: #4D6475;
}

.scroll-bns::-webkit-scrollbar-thumb {
    background: #D62215;
}

.scroll-bns::-webkit-scrollbar-thumb:hover {
    background: #D62215;
}

.scroll-la2::-webkit-scrollbar-thumb {
    background: #2163D0;
}

.scroll-la2::-webkit-scrollbar-thumb:hover {
    background: #2163D0;
}

body {
    margin: 0;
    font-family: GoodTimes;
    position: relative;
    overflow-x: hidden;
}

.main__body {
    background-image: url("../images/bg_main.jpg");
    background-size: cover;
}

.tera__bg {
    background-image: url("../images/tera/bg.jpg");
    background-size: cover;
}

.rf__bg {
    background-image: url("../images/rf/bg.jpg");
    background-size: cover;
}

.bns__bg {
    background-image: url("../images/bns/bg.jpg");
    background-size: cover;
}

.aion__bg {
    background-image: url("../images/aion/bg.jpg");
    background-size: cover;
}

.la2__bg {
    background-image: url("../images/la2/bg.jpg");
    background-size: cover;
}


.header {
    display: flex;
    justify-content: space-between;
    padding: 40px;
    position: relative;
    z-index: 2;
    align-items: center;
}

.header_no-gap {
    gap: 0 !important;
}

.langs {
    display: flex;
    gap: 10px;
}

.lang__link {
    transition: all .3s ease;
}

.lang__link:hover {
    transform: scale(110%);
}

.btn {
    font-family: GoodTimes;
    border-radius: 0;
    border: 2px solid white;
    font-size: 15px;
    height: 31px;
    width: 145px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #484A49;
    text-decoration: none;
    transition: all .3s ease;
}

.btn:hover {
    transform: scale(105%);
}

.btn_outline_grey {
    border: 2px solid #484A49;
}

.btn_gray {
    background-color: #484A49;
    color: white;
}

.btn_outline_tera {
    border: 2px solid #3679BD;
}

.btn_tera {
    border: 2px solid #3679BD;
    background-color: #3679BD;
    color: white;
}

.btn_outline_rf {
    border: 2px solid #DE8A1D;
}

.btn_rf {
    border: 2px solid #DE8A1D;
    background-color: #DE8A1D;
    color: white;
}

.btn_outline_aion {
    border: 2px solid #4D6475;
}

.btn_aion {
    border: 2px solid #4D6475;
    background-color: #4D6475;
    color: white;
}

.btn_outline_bns {
    border: 2px solid #D62215;
}

.btn_bns {
    border: 2px solid #D62215;
    background-color: #D62215;
    color: white;
}

.btn_outline_la2 {
    border: 2px solid #2163D0;
}

.btn_la2 {
    border: 2px solid #2163D0;
    background-color: #2163D0;
    color: white;
}

.btns {
    display: flex;
    gap: 30px;
}

.logo__wrapper {
    display: flex;
    justify-content: center;
}

.loading {
    color: #484A49;
    font-size: 30px;
    text-align: center;
}

.loading__offset {
    padding: 0 20px;
}

.description {
    text-align: center;
    color: #484A49;
    font-size: 22px;
    margin-bottom: 30px;
    padding: 0 20px;
    line-height: 38px;
}

.description__ready {
    font-family: GoodTimesBold;
    color: #3679BD;
}

.cards__wrapper {
    width: 1000px;
    margin: 0 auto 120px auto;
}

.card {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.card a {
    display: block;
    transition: all .3s ease;
    text-align: center;
}

.card a:hover {
    transform: scale(103%);
}

.card a img {
    width: 100%;
    max-width: 370px;
}
.card a.card__rf img, .card a.card__la2 img {
    width: 100%;
    max-width: 100%;
}

.card__rf {
    grid-area: 2 / 1 / 2 / 4;
}

.card__la2 {
    grid-area: 3 / 1 / 3 / 4;
}

.join {
    margin-left: 500px;
    max-width: 400px;
    position: relative;
    z-index: 2;
}

.join__btns {
    display: flex;
    justify-content: center;
    gap: 40px;
}

.loading__offset_join {
    margin-bottom: 50px;
}

.char_1 {
    position: absolute;
    right: 0;
    top: 0;
}
.header__right {
    display: flex;
    justify-content: flex-end;
}
.header__left, .header__right {
    width: 30%;
}
@media (max-width: 1800px) {
    .join {
        margin-left: 300px;
    }
}

@media (max-width: 1560px) {
    .char_1 {
        right: -400px;
    }
}

@media(max-width: 1300px) {
    .cards__wrapper {
        width: 100%;
    }
}

@media (max-width: 1100px) {
    .personal__body {
        height: 100vh;
        overflow-y: hidden;
    }
    .join {
        max-width: none;
        margin: 0 0 40px 0;
        text-align: center;
    }
    .bns__bg .char_2, .la2__bg .char_2, .rf__bg .char_2, .tera__bg .char_2 {
        position: absolute;
        left: -400px;
        top: 450px;
    }
    .tera__bg .char_1 {
        top: 300px;
        z-index: 1;
    }
    .header_no-gap {
        padding-bottom: 10px;
    }
    .aion__bg .char_2 {
        display: none;
    }
}

@media (max-width: 1000px) {
    .aion__bg .char_1 {
        top: 400px;
        left: 36%;
        transform: translateX(-50%);
    }
}

@media (max-width: 850px) {
    .header__right {
        display: flex;
        justify-content: center;
    }
    .btns {
        display: flex;
        gap: 30px;
        justify-content: center;
    }
    .header__left, .header__right {
        width: 100%;
    }
    .header {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    .cards__wrapper {
        margin-bottom: 20px;
    }
    .description {
        margin-top: 30px;
        margin-bottom: 30px;
    }
    .bns__bg .char_1 {
        display: none;
    }
    .la2__bg .char_1 {
        top: 300px;
    }
    .rf__bg .char_1, .tera__bg .char_1 {
        display: none;
    }
    .rf__bg .char_2, .tera__bg .char_2 {
        top: 200px;
    }
}

@media (max-width: 680px) {
    .card {
        display: flex;
        flex-direction: column;
    }
    .la2__bg .char_1 {
        display: none;
    }
}

@media (max-width: 560px) {
    .card {
        display: flex;
        flex-direction: column;
    }

    .logo img {
        width: 90%;
    }
}

@media (max-width: 430px) {
    .aion__bg {
        background-image: url("../images/aion/aionwalp-mob.jpg");
    }
    .bns__bg {
        background-image: url("../images/bns/bnswalp-mob.jpg");
    }
    .la2__bg {
        background-image: url("../images/la2/la2walp-mob.jpg");
    }
    .rf__bg {
        background-image: url("../images/rf/rfwalp-mob.jpg");
    }
    .tera__bg {
        background-image: url("../images/tera/terawalp-mob.jpg");
    }
    .aion__bg .char_1 {
        display: block;
        left: 50%;
        top: 284px;
    }
    .bns__bg .char_1 {
        display: block;
        left: 50%;
        top: 400px;
        transform: translateX(-50%);
    }
    .la2__bg .char_1 {
        display: block;
        left: 50%;
        top: 360px;
        transform: translateX(-50%);
    }
    .rf__bg .char_1 {
        display: block;
        left: 50%;
        top: 230px;
        transform: translateX(-50%);
    }
    .tera__bg .char_1 {
        display: block;
        left: 50%;
        top: 350px;
        transform: translateX(-50%);
    }
}

@media (max-width: 431px) {
    .btns {
        flex-direction: column;
        gap: 20px;
    }
    .join {
        padding: 0 20px;
    }
    .logo img {
        width: 100%;
    }
    .join .loading {
        font-size: 35px;
    }
}