*{
    box-sizing:border-box;
}

html,body{
    margin:0;
    padding:0;
    min-height:100%;
}

body.wistoria-body{
    background:url('../img/wistoria-bg.jpg') center top no-repeat fixed;
    background-size:cover;
    font-family:'Segoe UI',Arial,sans-serif;
    color:#24324a;
    overflow-x:hidden;
}

a{
    text-decoration:none;
}

img{
    max-width:100%;
    height:auto;
}

.top-announcement{
    background:linear-gradient(90deg,#ffd84d,#ffb300);
    color:#1a202c;
    text-align:center;
    padding:10px;
    font-weight:800;
    font-size:14px;
}

.modern-header{
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(14px);
    box-shadow:0 8px 28px rgba(0,50,110,.12);
    position:relative;
    z-index:1000;
}

.modern-nav{
    width:1400px;
    max-width:95%;
    min-height:82px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    color:#073b78;
    font-size:28px;
    font-weight:900;
}

.brand img{
    height:60px;
    width:auto;
}

.modern-nav nav{
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    justify-content:center;
}

.modern-nav nav a{
    color:#1f3658;
    font-weight:800;
    font-size:15px;
    transition:.25s;
}

.modern-nav nav a:hover{
    color:#1e88e5;
}

.nav-register{
    background:linear-gradient(135deg,#1e88e5,#31a8ff);
    color:#fff;
    padding:13px 28px;
    border-radius:14px;
    font-weight:900;
    box-shadow:0 10px 24px rgba(30,136,229,.28);
}

.hero-section{
    min-height:720px;
    position:relative;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(5,20,55,.48),rgba(5,20,55,.15),rgba(255,255,255,0));
}

.hero-content{
    position:relative;
    z-index:2;
    width:1400px;
    max-width:95%;
    min-height:720px;
    margin:0 auto;
    display:flex;
    align-items:center;
}

.hero-text{
    max-width:680px;
}

.hero-kicker{
    display:inline-block;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.32);
    color:#fff;
    padding:10px 22px;
    border-radius:999px;
    font-weight:900;
    backdrop-filter:blur(8px);
}

.hero-text h1{
    margin:22px 0 8px;
    font-size:78px;
    line-height:76px;
    color:#fff;
    font-weight:900;
    text-shadow:0 8px 28px rgba(0,0,0,.42);
}

.hero-text h1 span{
    color:#ffd84d;
}

.hero-text h2{
    color:#ffd84d;
    letter-spacing:6px;
    font-size:24px;
    margin:0 0 22px;
    text-shadow:0 4px 16px rgba(0,0,0,.35);
}

.hero-description{
    color:#fff;
    font-size:18px;
    line-height:1.8;
    text-shadow:0 3px 12px rgba(0,0,0,.45);
}

.hero-actions{
    display:flex;
    gap:18px;
    margin-top:30px;
    flex-wrap:wrap;
}

.btn-primary,
.btn-secondary{
    display:inline-block;
    padding:16px 34px;
    border-radius:15px;
    font-weight:900;
    transition:.25s;
}

.btn-primary{
    background:linear-gradient(135deg,#ffd84d,#ffb300);
    color:#122033;
}

.btn-secondary{
    background:linear-gradient(135deg,#1e88e5,#31a8ff);
    color:#fff;
}

.btn-primary:hover,
.btn-secondary:hover{
    transform:translateY(-3px);
}

.server-cards{
    display:flex;
    gap:18px;
    margin-top:34px;
    flex-wrap:wrap;
}

.server-card{
    min-width:170px;
    padding:20px 22px;
    border-radius:20px;
    background:rgba(255,255,255,.84);
    border:1px solid rgba(255,255,255,.45);
    backdrop-filter:blur(12px);
    box-shadow:0 15px 35px rgba(0,0,0,.18);
}

.server-card span{
    display:block;
    color:#5d7290;
    font-size:14px;
    margin-bottom:8px;
}

.server-card strong{
    color:#073b78;
    font-size:22px;
}

.modern-wrapper{
    width:1500px;
    max-width:92%;
    margin:45px auto 0;
    padding-bottom:90px;
}

.modern-grid{
    display:grid;
    grid-template-columns:260px minmax(600px,1fr) 260px;
    gap:35px;
    align-items:start;
}

.modern-sidebar{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.modern-card,
.content-card{
    background:rgba(245,250,255,.88);
    border:1px solid rgba(255,255,255,.60);
    border-radius:24px;
    padding:26px;
    box-shadow:0 18px 42px rgba(0,50,100,.14);
    backdrop-filter:blur(14px);
    overflow:hidden;
}

.content-card{
    min-height:520px;
}

.modern-card h3,
.content-card h1,
.content-card h2,
.content-card h3,
.content-card .page_title{
    color:#073b78;
    font-weight:900;
}

.modern-card h3{
    margin:0 0 18px;
    font-size:22px;
    border-left:6px solid #ffd84d;
    padding-left:14px;
}

.content-card p,
.modern-card p{
    color:#425876;
    line-height:1.7;
}

.quick-btn,
.social-modern a,
.home-action-grid a{
    display:block;
    text-align:center;
    padding:15px;
    margin-bottom:12px;
    border-radius:15px;
    background:linear-gradient(135deg,#1e88e5,#31a8ff);
    color:white !important;
    font-weight:900;
    box-shadow:0 8px 22px rgba(30,136,229,.22);
    transition:.25s;
}

.quick-btn:hover,
.social-modern a:hover,
.home-action-grid a:hover{
    transform:translateY(-2px);
}

.home-action-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    margin:25px 0;
}

.home-action-grid a{
    margin:0;
}

/* FORMS */

input[type="text"],
input[type="password"],
input[type="email"],
select{
    width:100%;
    max-width:100%;
    height:42px;
    border-radius:12px;
    border:1px solid #bdd8f4;
    padding:0 14px;
    background:#fff;
    color:#24324a;
}

input[type="submit"],
button{
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,#1e88e5,#31a8ff);
    color:#fff;
    font-weight:900;
    padding:12px 22px;
    cursor:pointer;
}

/* FULL WIDTH PAGES */

.full-width-wrapper{
    width:100%;
    max-width:none;
    margin:40px auto 0;
    padding:40px 40px 90px;
}

.full-width-content{
    width:100%;
}

.full-width-content .content-card{
    width:100%;
    max-width:1600px;
    margin:0 auto;
    padding:45px;
}

/* TABLES */

table{
    width:100%;
    border-collapse:collapse;
}

td,th{
    padding:10px;
    border-bottom:1px solid rgba(100,150,210,.18);
}

th{
    color:#073b78;
    font-weight:900;
}

/* MESSAGES */

.fail{
    background:#e74c3c;
    color:#fff;
    padding:12px;
    border-radius:12px;
}

.success{
    background:#2ecc71;
    color:#fff;
    padding:12px;
    border-radius:12px;
}

/* FIX OLD FLYFF / BATTLEV2 WIDGETS */

.hall_of_fame,
.top_5_ranks,
.levelUpRewards,
.news_n_updates,
.welcome,
.indexPage,
.indexLeft,
.indexRight,
.social,
.facebook,
.video{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    float:none !important;
    margin:0 0 15px 0 !important;
    padding:0 !important;
    background:none !important;
    overflow:hidden !important;
}

.hall_of_fame *,
.top_5_ranks *,
.levelUpRewards *{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
}

.modern-card .hall_of_fame,
.modern-card .top_5_ranks,
.modern-card .levelUpRewards{
    background:rgba(255,255,255,.35) !important;
    border:1px solid rgba(180,210,240,.45);
    border-radius:16px;
    padding:12px !important;
}

.hall_of_fame a,
a.ranking{
    position:static !important;
    display:inline-block !important;
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
    margin:5px !important;
}

.hall_of_fame a img,
a.ranking img{
    position:static !important;
    max-width:135px !important;
    height:auto !important;
    left:auto !important;
    top:auto !important;
}

.modern-card img,
.content-card img{
    max-width:100% !important;
    height:auto !important;
}

.levelUpRewards ul,
.levelUpRewards li{
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
}

.levelUpRewards li{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-bottom:8px !important;
    color:#425876 !important;
}

.levelUpRewards li .level{
    width:auto !important;
    min-width:26px !important;
    height:auto !important;
    border:0 !important;
    color:#073b78 !important;
    font-weight:900 !important;
    line-height:1.3 !important;
}

.levelUpRewards li .reward{
    width:auto !important;
    height:auto !important;
    line-height:1.4 !important;
    border:0 !important;
    color:#425876 !important;
    padding-left:0 !important;
    white-space:normal !important;
}

.levelUpRewards li .reward img{
    position:static !important;
    max-width:32px !important;
    max-height:32px !important;
    margin-right:6px !important;
    vertical-align:middle !important;
}

.levelUpRewardsNote{
    position:static !important;
    width:auto !important;
    height:auto !important;
    padding:8px 0 !important;
    color:#425876 !important;
}

.top_5_ranks table{
    position:static !important;
    width:100% !important;
    border-collapse:collapse !important;
}

.top_5_ranks table td{
    position:static !important;
    color:#425876 !important;
    background:transparent !important;
    border-bottom:1px solid rgba(100,150,210,.16);
}

/* LOGIN BOX FIX */

.loginpanel,
.login_main{
    width:100% !important;
    height:auto !important;
    position:relative !important;
    margin:0 !important;
    padding:0 !important;
}

.login_main .fail{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    font-size:12px !important;
    margin-bottom:8px !important;
}

.forgot_password{
    text-align:left !important;
    margin:8px 0;
}

.logged{
    padding:0 !important;
}

.logged ul,
.logged li{
    margin:0;
    padding:0;
    list-style:none;
}

.logged li a,
.logged a{
    color:#1e88e5 !important;
}

/* SHOP FIX */

.singleItem{
    width:33.333%;
    float:left;
    padding:8px;
    cursor:pointer;
}

.singleItem:hover{
    background:rgba(30,136,229,.08);
    border-radius:10px;
}

#itemDetailsContainer{
    background:rgba(255,255,255,.45);
    padding:16px;
    border-radius:16px;
    margin-bottom:20px;
    overflow:hidden;
}

/* FOOTER */

.modern-footer{
    background:rgba(245,250,255,.90);
    border-top:1px solid rgba(255,255,255,.60);
    backdrop-filter:blur(14px);
    margin-top:40px;
}

.footer-features{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    min-height:58px;
    border-bottom:1px solid rgba(180,210,240,.45);
}

.footer-feature{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:#073b78;
    font-weight:900;
}

.footer-main-modern{
    width:1320px;
    max-width:95%;
    margin:0 auto;
    padding:28px 0;
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:35px;
}

.footer-main-modern h2,
.footer-main-modern h3{
    color:#073b78;
    margin:0 0 12px;
}

.footer-main-modern p,
.footer-links a{
    color:#556d89;
}

.footer-links{
    display:flex;
    flex-direction:column;
}

.footer-links a{
    margin-bottom:8px;
    transition:.25s;
}

.footer-links a:hover{
    color:#1e88e5;
    padding-left:4px;
}

.footer-bottom{
    width:1320px;
    max-width:95%;
    margin:0 auto;
    padding:16px 0;
    border-top:1px solid rgba(180,210,240,.45);
    display:flex;
    justify-content:space-between;
    color:#6c819d;
    font-size:13px;
}

/* MOBILE */

@media(max-width:1200px){
    .modern-grid{
        grid-template-columns:1fr;
    }

    .modern-sidebar{
        display:none;
    }

    .modern-nav nav{
        gap:14px;
    }
}

@media(max-width:768px){
    .modern-nav{
        height:auto;
        flex-direction:column;
        gap:15px;
        padding:18px 0;
    }

    .modern-nav nav{
        flex-wrap:wrap;
        justify-content:center;
    }

    .hero-text h1{
        font-size:48px;
        line-height:50px;
    }

    .server-cards,
    .hero-actions{
        flex-direction:column;
    }

    .footer-features,
    .footer-main-modern,
    .home-action-grid{
        grid-template-columns:1fr;
    }

    .footer-bottom{
        flex-direction:column;
        gap:8px;
        text-align:center;
    }

    .singleItem{
        width:100%;
    }
}

.wistoria-topup-page *{
    box-sizing:border-box;
}

.wistoria-topup-page{
    width:100% !important;
    max-width:1200px !important;
    margin:0 auto !important;
}

.wistoria-topup-page .topup-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(250px,1fr)) !important;
    gap:25px !important;
    margin-top:25px !important;
}

.wistoria-topup-page .topup-card{
    display:block !important;
    width:auto !important;
    float:none !important;
}

.wistoria-topup-page .topup-buy-btn{
    display:block !important;
}