/*=========================================================
GENERAL ENGLISH - LEXORIA
Part 1 / 4
=========================================================*/


/*=========================================================
ROOT
=========================================================*/

:root{

    --primary:#0F2B46;
    --secondary:#C9A646;
    --secondary-dark:#b58f2e;

    --white:#ffffff;
    --light:#f8fafc;
    --gray:#6c757d;
    --dark:#1b2735;

    --border:#e8edf2;

    --radius:18px;
    --radius-lg:28px;

    --transition:.35s ease;

    --shadow-sm:
        0 8px 20px rgba(0,0,0,.05);

    --shadow:
        0 15px 35px rgba(0,0,0,.08);

    --shadow-lg:
        0 30px 70px rgba(0,0,0,.12);

}




/*=========================================================
BODY
=========================================================*/

html{
    max-width: 100%;
    overflow-x: hidden;
}

body{
    font-family:"Vazirmatn",sans-serif;
    background:#fff;
    color:var(--dark);
    line-height:2;
    /* overflow-x:hidden; حذف شد */
}




img{

    max-width:100%;

    display:block;

}




a{

    text-decoration:none;

    transition:var(--transition);

}




section{

    position:relative;

}




/*=========================================================
HEADINGS
=========================================================*/

h1,h2,h3,h4,h5{

    font-weight:700;

    color:var(--primary);

}




.display-4{

    line-height:1.4;

}




.text-primary{

    color:var(--primary)!important;

}




.text-muted{

    color:#6f7b87!important;

}




/*=========================================================
SECTION TITLE
=========================================================*/

.section-title{

    display:inline-block;

    color:var(--secondary);

    font-size:.9rem;

    letter-spacing:2px;

    font-weight:700;

    text-transform:uppercase;

    position:relative;

}




.section-title::after{

    content:"";

    position:absolute;

    width:45px;

    height:2px;

    background:var(--secondary);

    left:-60px;

    top:50%;

}




.section-title::before{

    content:"";

    position:absolute;

    width:45px;

    height:2px;

    background:var(--secondary);

    right:-60px;

    top:50%;

}




/*=========================================================
PAGE HEADER
=========================================================*/

.page-header{

    padding-top:110px;

    padding-bottom:90px;

    background:

    linear-gradient(
        135deg,
        #f9fbfd 0%,
        #edf5fb 100%
    );

}




.page-header h1{

    font-size:3rem;

}




.page-header .lead{

    font-size:1.15rem;

}




/*=========================================================
BADGE
=========================================================*/

.badge{

    font-size:.9rem;

    letter-spacing:1px;

    border-radius:50px;

}




/*=========================================================
BUTTONS
=========================================================*/

.btn{

    border-radius:50px;

    transition:var(--transition);

    font-weight:600;

}




.btn-primary{

    background:var(--primary);

    border:none;

}




.btn-primary:hover{

    background:#173a5f;

    transform:translateY(-4px);

    box-shadow:var(--shadow);

}




.btn-outline-primary{

    border:2px solid var(--primary);

    color:var(--primary);

}




.btn-outline-primary:hover{

    background:var(--primary);

    color:#fff;

    transform:translateY(-4px);

}




.btn-warning{

    background:var(--secondary);

    border:none;

    color:#fff;

}




.btn-warning:hover{

    background:var(--secondary-dark);

    color:#fff;

    transform:translateY(-4px);

}




/*=========================================================
HERO IMAGE
=========================================================*/

.page-header img{

    border-radius:25px;

    box-shadow:var(--shadow-lg);

}




/*=========================================================
HERO STATS
=========================================================*/

.hero-stat{

    background:#fff;

    border-radius:18px;

    padding:22px;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    height:100%;

}




.hero-stat:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}




.hero-stat h3{

    color:var(--secondary);

    margin-bottom:8px;

    font-size:1.6rem;

}




.hero-stat small{

    color:var(--gray);

    font-size:.9rem;

}




/*=========================================================
BREADCRUMB
=========================================================*/

.breadcrumb{

    background:none;

    margin-bottom:50px;

}




.breadcrumb-item{

    font-size:.95rem;

}




.breadcrumb-item a{

    color:var(--primary);

}




.breadcrumb-item.active{

    color:var(--secondary);

}




/*=========================================================
INTRODUCTION
=========================================================*/

.feature-box{

    background:#fff;

    padding:30px;

    border-radius:20px;

    text-align:center;

    height:100%;

    border:1px solid var(--border);

    transition:var(--transition);

}




.feature-box:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

    border-color:transparent;

}




.feature-box i{

    width:70px;

    height:70px;

    line-height:70px;

    border-radius:50%;

    background:#eef5fb;

    color:var(--primary);

    font-size:28px;

    margin-bottom:20px;

}




.feature-box h5{

    margin-bottom:15px;

}




.feature-box p{

    color:var(--gray);

    font-size:.95rem;

    margin:0;

}




/*=========================================================
IMAGE STYLE
=========================================================*/

.rounded-4{

    border-radius:24px!important;

}




.shadow-lg{

    box-shadow:var(--shadow-lg)!important;

}




/*=========================================================
BACKGROUND
=========================================================*/

.bg-light{

    background:#f7f9fc!important;

}




/*=========================================================
SPACING
=========================================================*/

.py-5{

    padding-top:90px!important;

    padding-bottom:90px!important;

}

/*=========================================================
GENERAL ENGLISH CSS
PART 2 / 4
CEFR + OBJECTIVES + TARGET BOXES
=========================================================*/


/*=========================================================
CEFR SECTION
=========================================================*/

#cefr-roadmap{

    position:relative;

    overflow:hidden;

    background:#ffffff;

}




#cefr-roadmap::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    background:radial-gradient(circle,
    rgba(15,43,70,.04) 0%,
    transparent 70%);

    top:-350px;

    right:-300px;

}




#cefr-roadmap::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    background:radial-gradient(circle,
    rgba(201,166,70,.06) 0%,
    transparent 70%);

    bottom:-220px;

    left:-180px;

}




/*=========================================================
LEVEL CARD
=========================================================*/

.level-card{

    position:relative;

    background:#fff;

    border-radius:24px;

    padding:35px 20px;

    height:100%;

    transition:.35s;

    border:1px solid #edf1f5;

    overflow:hidden;

}




.level-card:hover{

    transform:translateY(-12px);

    box-shadow:
    0 20px 45px rgba(0,0,0,.08);

}




.level-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:var(--secondary);

    transform:scaleX(0);

    transition:.35s;

}




.level-card:hover::before{

    transform:scaleX(1);

}




.level-card.active{

    background:linear-gradient(
        145deg,
        #0f2b46,
        #183f65);

    color:#fff;

}




.level-card.active h5{

    color:#fff;

}




.level-card.active p{

    color:#e5e5e5;

}




/*=========================================================
LEVEL CIRCLE
=========================================================*/

.level-circle{

    width:90px;

    height:90px;

    margin:auto;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:linear-gradient(
        135deg,
        var(--secondary),
        #e0be63);

    color:#fff;

    font-size:30px;

    font-weight:bold;

    box-shadow:

    0 10px 25px rgba(201,166,70,.35);

}




.level-card.active .level-circle{

    background:#fff;

    color:var(--primary);

}




.level-card h5{

    margin-top:25px;

    margin-bottom:15px;

    font-weight:700;

}




.level-card p{

    color:#777;

    font-size:.92rem;

    margin:0;

}




/*=========================================================
TIMELINE
=========================================================*/

#cefr-roadmap .row{

    position:relative;

}




@media(min-width:992px){

#cefr-roadmap .row::before{

    content:"";

    position:absolute;

    left:8%;

    top:45px;

    width:84%;

    height:4px;

    background:

    linear-gradient(
    to left,

    var(--secondary),

    #d8d8d8,

    var(--secondary)

    );

    z-index:0;

}

.level-card{

    z-index:2;

}

}




/*=========================================================
OBJECTIVE CARD
=========================================================*/

.objective-card{

    background:#fff;

    padding:40px 30px;

    border-radius:25px;

    transition:.35s;

    text-align:center;

    height:100%;

    border:1px solid #eef1f5;

}




.objective-card:hover{

    transform:translateY(-10px);

    box-shadow:

    0 25px 50px rgba(0,0,0,.08);

}




.objective-icon{

    width:90px;

    height:90px;

    border-radius:50%;

    margin:auto;

    margin-bottom:25px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#eef5fb;

}




.objective-icon i{

    color:var(--primary);

    font-size:34px;

}




.objective-card h4{

    margin-bottom:18px;

}




.objective-card p{

    color:#7b7b7b;

    margin-bottom:0;

}




.objective-card:hover .objective-icon{

    background:var(--primary);

}




.objective-card:hover .objective-icon i{

    color:#fff;

}




/*=========================================================
TARGET BOX
=========================================================*/

.target-box{

    position:relative;

    background:#fff;

    border-radius:24px;

    padding:35px;

    text-align:center;

    transition:.35s;

    overflow:hidden;

    border:1px solid #edf1f5;

    height:100%;

}




.target-box:hover{

    transform:translateY(-10px);

    box-shadow:

    0 20px 45px rgba(0,0,0,.08);

}




.target-box::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:6px;

    height:100%;

    background:var(--secondary);

}




.target-box i{

    width:80px;

    height:80px;

    line-height:80px;

    border-radius:50%;

    background:#eef5fb;

    font-size:28px;

    transition:.35s;

}




.target-box:hover i{

    background:var(--primary);

    color:#fff!important;

}




.target-box h4{

    margin-top:20px;

    margin-bottom:18px;

}




.target-box p{

    color:#707070;

    margin:0;

}




/*=========================================================
SECTION BACKGROUND EFFECT
=========================================================*/

.objective-card::after,

.target-box::after{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    border-radius:50%;

    background:

    radial-gradient(circle,
    rgba(201,166,70,.08),
    transparent);

    right:-70px;

    top:-70px;

    opacity:0;

    transition:.35s;

}




.objective-card:hover::after,

.target-box:hover::after{

    opacity:1;

}




/*=========================================================
SMOOTH ANIMATION
=========================================================*/

.level-card,

.objective-card,

.target-box{

    transition:

    transform .35s,

    box-shadow .35s,

    background .35s;

}




/*=========================================================
MOBILE
=========================================================*/

@media(max-width:991px){

.level-card{

    margin-bottom:20px;

}

#cefr-roadmap .row::before{

    display:none;

}

.objective-card{

    margin-bottom:20px;

}

.target-box{

    margin-bottom:20px;

}

}




@media(max-width:576px){

.level-circle{

    width:70px;

    height:70px;

    font-size:24px;

}

.level-card{

    padding:25px 15px;

}

.objective-card{

    padding:30px 20px;

}

.target-box{

    padding:30px 20px;

}

}

/*=========================================================
GENERAL ENGLISH CSS
PART 3 / 4
SpeakOut + Benefits + Class Types + Notice
=========================================================*/


/*=========================================================
SPEAKOUT SECTION
=========================================================*/

.speakout-section{

    position:relative;

    overflow:hidden;

}

.speakout-section img{

    border-radius:28px;

    box-shadow:0 30px 70px rgba(0,0,0,.12);

    transition:.45s;

}

.speakout-section img:hover{

    transform:scale(1.02);

}


/*=========================================================
MINI FEATURE
=========================================================*/

.mini-feature{

    background:#fff;

    border:1px solid #edf1f5;

    border-radius:18px;

    padding:22px;

    display:flex;

    align-items:center;

    gap:15px;

    transition:.35s;

    height:100%;

}

.mini-feature:hover{

    transform:translateY(-8px);

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    border-color:transparent;

}

.mini-feature i{

    width:55px;

    height:55px;

    border-radius:50%;

    background:#eef5fb;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    transition:.35s;

}

.mini-feature:hover i{

    background:var(--primary);

    color:#fff !important;

}

.mini-feature h6{

    margin:0;

    font-weight:700;

}




/*=========================================================
COURSE BENEFITS
=========================================================*/

.course-benefit{

    position:relative;

    background:#fff;

    border-radius:24px;

    padding:40px 30px;

    text-align:center;

    border:1px solid #edf1f5;

    transition:.35s;

    height:100%;

    overflow:hidden;

}

.course-benefit:hover{

    transform:translateY(-12px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.course-benefit::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:var(--secondary);

    transform:scaleX(0);

    transition:.35s;

}

.course-benefit:hover::before{

    transform:scaleX(1);

}

.course-benefit i{

    transition:.35s;

}

.course-benefit:hover i{

    transform:scale(1.15) rotate(-8deg);

}

.course-benefit p{

    color:#707070;

    margin-bottom:0;

}




/*=========================================================
CLASS TYPE CARD
=========================================================*/

.pricing-card{

    background:#fff;

    border-radius:28px;

    padding:45px;

    border:1px solid #edf1f5;

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.pricing-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(0,0,0,.09);

}

.pricing-card::after{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    border-radius:50%;

    background:rgba(201,166,70,.06);

    top:-90px;

    right:-90px;

}

.pricing-card h3{

    margin-bottom:15px;

}

.pricing-card ul{

    padding:0;

    margin:0;

}

.pricing-card li{

    padding:12px 0;

    border-bottom:1px dashed #ececec;

    color:#555;

}

.pricing-card li:last-child{

    border:none;

}




/*=========================================================
VIP CARD
=========================================================*/

.vip-card{

    background:linear-gradient(

    145deg,

    #0f2b46,

    #183f65

    );

    color:#fff;

}

.vip-card h3{

    color:#fff;

}

.vip-card li{

    color:#f1f1f1;

    border-color:rgba(255,255,255,.15);

}

.vip-card::after{

    background:rgba(255,255,255,.08);

}




/*=========================================================
NOTICE
=========================================================*/

.alert-warning{

    background:#fff8e6;

    border:none;

    border-right:8px solid var(--secondary);

    border-radius:24px;

}

.alert-warning h3{

    color:var(--primary);

}

.alert-warning p{

    color:#5f5f5f;

}

.alert-warning i{

    color:var(--secondary);

}




/*=========================================================
ICON ANIMATION
=========================================================*/

.course-benefit i,

.pricing-card i,

.alert-warning i{

    transition:.35s;

}

.course-benefit:hover i,

.pricing-card:hover i{

    transform:scale(1.15);

}




/*=========================================================
LIST ICON
=========================================================*/

.pricing-card li::before{

    content:"✔";

    color:var(--secondary);

    font-weight:bold;

    margin-left:10px;

}

.vip-card li::before{

    color:#ffd978;

}




/*=========================================================
DIVIDER
=========================================================*/

.pricing-card hr{

    opacity:.08;

    margin:30px 0;

}




/*=========================================================
SECTION DECORATION
=========================================================*/

.course-benefit::after{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    border-radius:50%;

    background:radial-gradient(

    circle,

    rgba(15,43,70,.03),

    transparent

    );

    left:-120px;

    bottom:-120px;

}




/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:991px){

.pricing-card{

    margin-bottom:30px;

}

.course-benefit{

    margin-bottom:25px;

}

.mini-feature{

    margin-bottom:20px;

}

}

@media(max-width:576px){

.pricing-card{

    padding:30px;

}

.course-benefit{

    padding:30px 20px;

}

.mini-feature{

    padding:18px;

}

.mini-feature h6{

    font-size:.95rem;

}

}

/*=========================================================
GENERAL ENGLISH CSS
PART 4 / 4
Why Lexoria + CTA + FAQ + Contact + Footer + Responsive
=========================================================*/


/*=========================================================
WHY LEXORIA
=========================================================*/

.bg-primary{

    background:linear-gradient(
        135deg,
        var(--primary),
        #183f65
    ) !important;

}

.bg-primary h2,
.bg-primary h3,
.bg-primary h4{

    color:#fff;

}

.bg-primary p{

    color:rgba(255,255,255,.85);

}

.bg-primary i{

    transition:.35s;

}

.bg-primary .p-4{

    transition:.35s;

    border-radius:22px;

}

.bg-primary .p-4:hover{

    background:rgba(255,255,255,.08);

    transform:translateY(-8px);

}

.bg-primary .p-4:hover i{

    transform:scale(1.15);

}




/*=========================================================
CALL TO ACTION
=========================================================*/

.card{

    border-radius:28px;

    overflow:hidden;

}

.card.shadow-lg{

    box-shadow:0 30px 70px rgba(0,0,0,.12)!important;

}

.card .bg-primary{

    position:relative;

}

.card .bg-primary::before{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    top:-120px;

    right:-120px;

}

.card .btn-warning{

    min-width:220px;

}




/*=========================================================
CONTACT FORM
=========================================================*/

.contact-box{

    background:#fff;

    border-radius:24px;

    padding:40px;

    box-shadow:var(--shadow-sm);

    border:1px solid #edf1f5;

}

.form-control{

    border-radius:14px;

    border:1px solid #dfe5ea;

    min-height:56px;

    transition:.3s;

    box-shadow:none;

}

.form-control:focus{

    border-color:var(--secondary);

    box-shadow:0 0 0 .2rem rgba(201,166,70,.18);

}

textarea.form-control{

    min-height:160px;

    resize:vertical;

}

select.form-control{

    cursor:pointer;

}

.contact-box button{

    height:58px;

    font-size:1.05rem;

}




/*=========================================================
FAQ
=========================================================*/

.accordion-item{

    border:none;

    margin-bottom:18px;

    border-radius:18px !important;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

}

.accordion-button{

    background:#fff;

    font-weight:700;

    padding:22px 28px;

    box-shadow:none !important;

}

.accordion-button:not(.collapsed){

    background:var(--primary);

    color:#fff;

}

.accordion-button:focus{

    box-shadow:none;

}

.accordion-body{

    padding:25px 30px;

    color:#666;

    line-height:2;

}




/*=========================================================
FINAL CTA
=========================================================*/

.bg-dark{

    background:#101820 !important;

}

.bg-dark h2{

    color:#fff;

}

.bg-dark p{

    color:rgba(255,255,255,.75);

}

.bg-dark .btn{

    transition:.35s;

}

.bg-dark .btn:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(0,0,0,.25);

}




/*=========================================================
FOOTER
=========================================================*/

.footer{

    background:#09131d;

    color:#bfc8d3;

    padding:35px 0;

    font-size:.95rem;

}

.footer p{

    margin:0;

}




/*=========================================================
GLOBAL HOVER
=========================================================*/

img{

    transition:.4s;

}

img:hover{

    transform:translateY(-4px);

}

.btn{

    transition:.35s;

}

.btn:hover{

    transform:translateY(-4px);

}




/*=========================================================
SCROLLBAR
=========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#f2f2f2;

}

::-webkit-scrollbar-thumb{

    background:var(--secondary);

    border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

    background:#b58f2e;

}




/*=========================================================
SELECTION
=========================================================*/

::selection{

    background:var(--secondary);

    color:#fff;

}




/*=========================================================
SMOOTH SCROLL
=========================================================*/

html{

    scroll-behavior:smooth;

}




/*=========================================================
ANIMATION
=========================================================*/

@keyframes floatUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.hero-stat,
.feature-box,
.level-card,
.objective-card,
.target-box,
.course-benefit,
.pricing-card,
.contact-box{

    animation:floatUp .7s ease both;

}




/*=========================================================
RESPONSIVE 1200
=========================================================*/

@media(max-width:1200px){

.page-header h1{

    font-size:2.5rem;

}

}




/*=========================================================
RESPONSIVE 992
=========================================================*/

@media(max-width:991px){

.page-header{

    text-align:center;

}

.page-header img{

    margin-top:40px;

}

.hero-stat{

    margin-bottom:20px;

}

.contact-box{

    margin-bottom:30px;

}

.card .bg-primary{

    padding:60px 20px !important;

}

}




/*=========================================================
RESPONSIVE 768
=========================================================*/

@media(max-width:768px){

.display-4{

    font-size:2rem;

}

.section-title::before,

.section-title::after{

    display:none;

}

.page-header{

    padding-top:70px;

    padding-bottom:70px;

}

.contact-box{

    padding:30px;

}

}




/*=========================================================
RESPONSIVE 576
=========================================================*/

@media(max-width:576px){

.display-4{

    font-size:1.7rem;

}

h2{

    font-size:1.6rem;

}

.hero-stat{

    padding:18px;

}

.feature-box,
.level-card,
.objective-card,
.target-box,
.course-benefit{

    padding:25px 18px;

}

.pricing-card{

    padding:25px;

}

.contact-box{

    padding:22px;

}

.form-control{

    min-height:52px;

}

.btn-lg{

    width:100%;

}

}




/*=========================================================
PRINT
=========================================================*/

@media print{

    .btn,
    .navbar,
    .footer{

        display:none !important;

    }

}