/*==========================================
  GOOGLE FONT
==========================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*==========================================
  RESET
==========================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:linear-gradient(135deg,#f9f4ec,#eef5ff);
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    overflow-y:auto;
    overflow-x:hidden;
    padding:25px 0;
    color:#222;
}

/*==========================================
  MAIN CONTAINER
==========================================*/

.container{
    width:85%;
    max-width:1400px;
    min-height:85vh;
    height:auto;
    background:#ffffff;
    border-radius:35px;
    display:grid;
    grid-template-columns:58% 42%;
    position:relative;
    margin:0 auto;
    box-shadow:0 30px 80px rgba(0,0,0,.10);
}

/*==========================================
  LEFT PANEL
==========================================*/

.left-panel{
    position:relative;
    padding:40px 50px;
    overflow:hidden;
    width: 100%;
    background: url('img/hero.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/*==========================================
  RIGHT PANEL
==========================================*/

.right-panel{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:30px;
    background:transparent;
    overflow-y:auto !important;
    max-height:100vh;
}

/*==========================================
  LOGO
==========================================*/

.logo img{

    width:230px;

    display:block;

}

/*==========================================
 HERO CONTENT
==========================================*/

.hero-content{
    margin-top:25px;
    margin-left: 76px;
    max-width:458px;
}

.hero-content h1{

    font-size:64px;

    line-height:1.08;

    font-weight:700;

    color:#182848;

}

.hero-content span{

    color:#ff8b1f;

}

.line{

    width:70px;

    height:4px;

    background:#2f80ed;

    margin:30px 0;

    border-radius:50px;

}

.hero-content p{

    font-size:24px;

    color:#7a8397;

    line-height:1.7;

}

/*==========================================
  HERO IMAGE
==========================================*/

.student-image{

    position:absolute;

    bottom:0;

    right:70px;

    width:470px;

    z-index:5;

}

.student-image img{

    width:100%;

    display:block;

}

/*==========================================
  BACKGROUND SHAPES
==========================================*/

.circle{

    position:absolute;

    border-radius:50%;

    z-index:1;

}

.circle.one{

    width:360px;

    height:360px;

    background:#fff3e6;

    bottom:40px;

    right:110px;

}

.circle.two{

    width:260px;

    height:260px;

    background:#edf4ff;

    top:80px;

    right:-80px;

}

.circle.three{

    width:12px;

    height:12px;

    background:#ff8b1f;

    top:180px;

    left:60%;

}

/*==========================================
  LOGIN CARD
==========================================*/

.login-card{
    width: 100%;
    max-width: 749px;
    height: auto !important;
    max-height: 86vh !important;
    overflow-y: auto !important;
    background: #fff;
    border-radius: 28px;
    padding: 40px 45px;
    box-shadow: 0 20px 50px rgba(0,0,0,.10);
    position:relative;
}

/*==========================================
  LOGIN LOGO
==========================================*/

.login-logo{

    text-align:center;

    margin-bottom:15px;

}

.login-logo img{

    width:210px;

}

.login-card h2{

    text-align:center;

    font-size:46px;

    color:#1d2947;

    font-weight:700;

}

.subtitle{

    text-align:center;

    color:#808ba0;

    font-size:18px;

    margin-top:10px;

    margin-bottom:35px;

}
/*==========================================
    FEATURE CARD
==========================================*/

.feature-card{

    position: absolute;
    left: 84px;
    bottom: 308px;
    width: 489px;
    height: 285px;
    background: #ffffff;
    border-radius: 22px;
    padding: 37px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:25px;

    box-shadow:
    0 20px 50px rgba(0,0,0,.08);

    z-index:20;

}

.feature{

    display:flex;

    align-items:flex-start;

    gap:15px;

}

.feature .icon{

    width:50px;
    height:50px;

    border-radius:50%;

    background:#fff5ec;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#ff8b1f;

    font-size:20px;

    flex-shrink:0;

}

.feature h4{

    font-size:17px;

    color:#1b2b4d;

    font-weight:600;

    margin-bottom:5px;

}

.feature span{

    font-size:14px;

    color:#7f8b99;

    line-height:1.5;

}

/*==========================================
        QUOTE CARD
==========================================*/

.quote-card{

    position: absolute;
    left: 84px;
    bottom: 64px;
    width: 485px;

    background:#ffffff;

    border-radius:22px;

    padding:25px;

    box-shadow:
    0 20px 50px rgba(0,0,0,.08);

    z-index:20;

}

.quote-card i{

    font-size:30px;

    color:#ff8b1f;

    margin-bottom:15px;

}

.quote-card p{

    color:#5f6b82;

    line-height:1.7;

    font-size:16px;

}

.quote-card h5{

    margin-top:18px;

    color:#2f80ed;

    font-size:18px;

    font-weight:700;

}

/*==========================================
      DECORATIVE DOTS
==========================================*/

.left-panel::before{

    content:"";

    position:absolute;

    top:60px;

    left:58%;

    width:90px;

    height:90px;

    background-image:
    radial-gradient(#ffffff 2px,transparent 2px);

    background-size:18px 18px;

    opacity:.75;

}

.left-panel::after{

    content:"";

    position:absolute;

    top:180px;

    right:190px;

    width:160px;

    height:160px;

    border:2px dashed #ff9d3a;

    border-left:none;

    border-bottom:none;

    border-radius:50%;

    transform:rotate(35deg);

    opacity:.6;

}

/*==========================================
      GLOW EFFECT
==========================================*/

.student-image::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(255,150,40,.28),
    rgba(255,150,40,0));

    left:20px;

    bottom:10px;

    z-index:-1;

}

/*==========================================
        HOVER EFFECTS
==========================================*/

.feature-card,
.quote-card,
.login-card{

    transition:.35s;

}

.feature-card:hover{

    transform:translateY(-8px);

}

.quote-card:hover{

    transform:translateY(-8px);

}

.login-card:hover{

    transform:translateY(-6px);

}

/*==========================================
     SMALL FLOATING ANIMATION
==========================================*/

@keyframes float{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0px);

    }

}

.feature-card{

    animation:float 5s ease-in-out infinite;

}

.quote-card{

    animation:float 6s ease-in-out infinite;

}

.student-image{

    animation:float 7s ease-in-out infinite;

}

/*==========================================
      TEXT SELECTION
==========================================*/

::selection{

    background:#ff8b1f;

    color:#ffffff;

}
/*==========================================
            FORM
==========================================*/

form{
    width:100%;
}

form label{
    display:block;
    font-size:16px;
    font-weight:600;
    color:#24324b;
    margin-bottom:10px;
    margin-top:22px;
}

/*==========================================
          INPUT BOX
==========================================*/

.input-box{

    width:100%;
    height:60px;

    display:flex;
    align-items:center;

    border:2px solid #e6ebf3;

    border-radius:14px;

    padding:0 18px;

    background:#fff;

    transition:.3s;

    margin-bottom:5px;

}

.input-box:hover{

    border-color:#2f80ed;

}

.input-box:focus-within{

    border-color:#2f80ed;

    box-shadow:
    0 0 0 5px rgba(47,128,237,.12);

}

.input-box i{

    font-size:18px;

    color:#98a3b8;

}

.input-box input{

    flex:1;

    border:none;

    outline:none;

    background:transparent;

    margin-left:15px;

    font-size:16px;

    color:#23304b;

    font-family:'Poppins',sans-serif;

}

.input-box input::placeholder{

    color:#9da6b7;

}

.toggle-password{

    cursor:pointer;

    transition:.3s;

}

.toggle-password:hover{

    color:#2f80ed;

}

/*==========================================
        FORGOT PASSWORD
==========================================*/

.forgot{

    text-align:right;

    margin:18px 0 28px;

}

.forgot a{

    color:#2f80ed;

    text-decoration:none;

    font-weight:500;

    transition:.3s;

}

.forgot a:hover{

    color:#ff8b1f;

}

/*==========================================
        LOGIN BUTTON
==========================================*/

.login-btn{

    width:100%;

    height:60px;

    border:none;

    outline:none;

    border-radius:14px;

    background:
    linear-gradient(90deg,#ff8a1d,#2f80ed);

    color:#fff;

    font-size:20px;

    font-weight:600;

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    transition:.35s;

}

.login-btn:hover{

    transform:translateY(-4px);

    box-shadow:
    0 18px 35px rgba(47,128,237,.25);

}

.login-btn i{

    transition:.35s;

}

.login-btn:hover i{

    transform:translateX(8px);

}

/*==========================================
            DIVIDER
==========================================*/

.divider{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:15px;

    margin:35px 0;

}

.divider span{

    flex:1;

    height:1px;

    background:#e6ebf3;

}

.divider p{

    color:#8c96a8;

    font-size:15px;

}

/*==========================================
        SOCIAL LOGIN
==========================================*/

.social-login{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:15px;

}

.social-login button{

    height:55px;

    border:2px solid #e8edf4;

    border-radius:12px;

    background:#fff;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    font-size:15px;

    font-weight:500;

    color:#24324b;

    transition:.3s;

}

.social-login button:hover{

    border-color:#2f80ed;

    transform:translateY(-4px);

    box-shadow:
    0 12px 25px rgba(0,0,0,.08);

}

.social-login img{

    width:22px;

    height:22px;

    object-fit:contain;

}

/*==========================================
            SIGNUP
==========================================*/

.signup{

    margin-top:35px;

    text-align:center;

    color:#7d8798;

    font-size:15px;

}

.signup a{

    color:#2f80ed;

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}

.signup a:hover{

    color:#ff8b1f;

}

/*==========================================
      BUTTON ACTIVE EFFECT
==========================================*/

button:active{

    transform:scale(.98);

}

/*==========================================
      INPUT AUTOFILL
==========================================*/

input:-webkit-autofill{

    -webkit-box-shadow:0 0 0 1000px #fff inset;

    -webkit-text-fill-color:#24324b;

}

/*==========================================
      SMOOTH TRANSITIONS
==========================================*/

a,
button,
input{

    transition:.3s ease;

}
/*==================================================
            CUSTOM SCROLLBAR
==================================================*/

::-webkit-scrollbar{
    width:8px;
}

::-webkit-scrollbar-track{
    background:#f4f6fb;
}

::-webkit-scrollbar-thumb{
    background:#2f80ed;
    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
    background:#1d6fe3;
}

/*==================================================
          BACKGROUND BLUR EFFECTS
==================================================*/

.container::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    border-radius:50%;

    background:rgba(47,128,237,.05);

    top:-220px;
    left:-220px;

    filter:blur(50px);

    pointer-events:none;
}

.container::after{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    border-radius:50%;

    background:rgba(255,138,29,.08);

    bottom:-220px;
    right:-180px;

    filter:blur(60px);

    pointer-events:none;
}

/*==================================================
          SMOOTH PAGE ANIMATION
==================================================*/

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.left-panel{

    animation:fadeUp .8s ease;

}

.login-card{

    animation:fadeUp 1s ease;
}

/*==================================================
         IMAGE HOVER
==================================================*/

.student-image img{

    transition:.5s;

}

.student-image:hover img{

    transform:scale(1.03);
}

/*==================================================
         BUTTON RIPPLE
==================================================*/

.login-btn{

    overflow:hidden;

    position:relative;

}

.login-btn::before{

    content:"";

    position:absolute;

    width:0;

    height:0;

    border-radius:50%;

    background:rgba(255,255,255,.35);

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    transition:.5s;

}

.login-btn:hover::before{

    width:420px;

    height:420px;

}

/*==================================================
          LARGE LAPTOP
==================================================*/

@media(max-width:1400px){

.hero-content h1{

    font-size:56px;

}

.student-image{

    width:420px;

}

.feature-card{

    width:390px;

}

}

/*==================================================
            TABLET
==================================================*/

@media(max-width:1100px){

.container{

    grid-template-columns:1fr;

    height:auto;

    overflow-y:auto;

}

.left-panel{

    min-height:750px;

}

.right-panel{

    padding:60px 30px;

}

.student-image{

    position:relative;

    width:360px;

    right:auto;

    margin:60px auto 0;

}

.feature-card{

    position:relative;

    left:auto;

    bottom:auto;

    margin-top:40px;

}

.quote-card{

    position:relative;

    left:auto;

    bottom:auto;

    margin-top:25px;

}

}

/*==================================================
            MOBILE
==================================================*/

@media(max-width:768px){

body{

    overflow:auto;

}

.container{

    width:100%;

    height:auto;

    border-radius:0;

}

.left-panel{

    padding:35px 25px;

}

.logo img{

    width:170px;

}

.hero-content{

    margin-top:35px;

}

.hero-content h1{

    font-size:38px;

}

.hero-content p{

    font-size:17px;

}

.student-image{

    width:260px;

}

.feature-card{

    width:100%;

    grid-template-columns:1fr;

    padding:22px;

}

.quote-card{

    width:100%;

}

.right-panel{

    padding:25px;

}

.login-card{

    padding:30px;

}

.login-card h2{

    font-size:34px;

}

.login-logo img{

    width:170px;

}

.social-login{

    grid-template-columns:1fr;

}

.social-login button{

    width:100%;

}

}

/*==================================================
           EXTRA SMALL DEVICES
==================================================*/

@media(max-width:480px){

.hero-content h1{

    font-size:30px;

}

.hero-content p{

    font-size:15px;

}

.login-card{

    padding:22px;

}

.login-card h2{

    font-size:28px;

}

.input-box{

    height:55px;

}

.login-btn{

    height:55px;

}

.subtitle{

    font-size:15px;

}

}

/*==================================================
          ACCESSIBILITY
==================================================*/

button:focus,
input:focus,
a:focus{

    outline:none;

}

/*==================================================
            END
==================================================*/