* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}

body {
    font-family: 'Rubik', sans-serif;
}

.login-form .action {
display: flex;
flex-wrap: wrap;
}

.btn-login,
.btn-register {
cursor: pointer;
flex: 1 1 45%;
padding: 14px 20px;
font-family: 'Rubik', sans-serif;
text-transform: uppercase;
text-align: center;
letter-spacing: 0.5px;
transition: all 0.3s ease;
border: none;
font-size: 15px;
}

/* Login button */
.btn-login {
background-color: #5c337a;
color: #fff;
border: 1px solid #5c337a ;
}
.btn-login:hover {
background-color:rgb(79, 44, 104) ;
}

/* Register button styled like a ghost button */
.btn-register {
background-color: transparent;
color: #3c4d6d;
border: 1px solid #3c4d6d;
text-decoration: none;
display: inline-block;
}
.btn-register:hover {
background-color: #f1f1f1;
color: #2b3a55;
}

.login-form-wrapper {
width: 100%;
padding: 0 15px;
box-sizing: border-box;
display: flex;
justify-content: center;
margin-bottom: 30px;
margin-top: 50px;
}

.login-form {
background: #fff;
width: 100%;
max-width: 500px;
display: flex;
flex-direction: column;
border-radius: 4px;
box-shadow: 0 2px 25px rgba(0, 0, 0, 0.2);
margin-top: 65px;
box-sizing: border-box;
transition: all 0.3s ease;
}

@media (max-width: 768px) {
.login-form {
margin: 35px 25px;
}
}

@media (max-width: 480px) {
.login-form {
margin: 25px 15px;
border-radius: 6px;
box-shadow: 0 2px 15px rgba(0, 0, 0, 0.15);
}
}

.login-form h1 {
    text-align: center;
    padding: 35px 35px 0 35px;
    font-weight: 300;
}
.login-form .content {
    padding: 35px;
    text-align: center;
}
.login-form .input-field {
    padding: 12px 5px;
}
.login-form .input-field input {
    font-size: 16px;
    display: block;
    font-family: 'Rubik', sans-serif;
    width: 100%;
    padding: 10px 1px;
    border: 0;
    border-bottom: 1px solid #747474;
    outline: none;
    -webkit-transition: all .2s;
    transition: all .2s;
}
.login-form .input-field input::-webkit-input-placeholder {
    text-transform: uppercase;
}
.login-form .input-field input::-moz-placeholder {
    text-transform: uppercase;
}
.login-form .input-field input:-ms-input-placeholder {
    text-transform: uppercase;
}
.login-form .input-field input::-ms-input-placeholder {
    text-transform: uppercase;
}
.login-form .input-field input::placeholder {
    text-transform: uppercase;
}
.login-form .input-field input:focus {
    border-color: #222;
}
.login-form a.link {
    text-decoration: none;
    color: #747474;
    letter-spacing: 0.2px;
    text-transform: uppercase;
    display: inline-block;
    margin-top: 20px;
}
.login-form .action, .login-form .error, .logout {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
}

.login-form .messages p {
    width: 100%;
    padding: 8px 18px;
    font-family: 'Rubik', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    text-transform: none;
    background: var(--color-success);
    color: #fff;
    background-color: #709812;
    letter-spacing: 0.2px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.login-form .messages p:hover {
    background: #5a7a0f;
    box-shadow: 0 4px 6px rgba(0,0,0,0.12);
}

.login-form .error p {
    width: 100%;
    padding: 8px 18px;
    font-family: 'Rubik', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    text-transform: none;
    background-color: #d9534f;
    color: #fff;
    letter-spacing: 0.2px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.login-form .error p:hover {
    background-color: #c9302c;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.12);
}

.login-form .logout p {
    width: 100%;
    border: none;
    padding: 18px;
    font-family: 'Rubik', sans-serif;
    cursor: pointer;
    text-transform: uppercase;
    background: #777;
    color: #e8e9ec;
    letter-spacing: 0.2px;
    outline: 0;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.sl-nav {
    display: inline;
}
.sl-nav ul {
    margin:0;
    padding:0;
    list-style: none;
    position: relative;
    display: inline-block;
}
.sl-nav li {
    cursor: pointer;
}
.sl-nav li ul {
    display: none;
}
.sl-nav li:hover ul {
    position: absolute;
    top:29px;
    right:-15px;
    display: block;
    background: #fff;
    width: 100px;
    padding-top: 0px;
    z-index: 1;
    border-radius:5px;
    box-shadow: 0px 0px 20px rgba(0,0,0,0.2);
}
.sl-nav li:hover .triangle {
    position: absolute;
    top: 15px;
    right: 0px;
    z-index:10;
    height: 14px;
    overflow:hidden;
    width: 30px;
    background: transparent;
}
.sl-nav li:hover .triangle:after {
    content: '';
    display: block;
    z-index: 20;
    width: 15px;
    transform: rotate(45deg) translateY(0px) translatex(10px);
    height: 15px;
    background: #fff;
    border-radius:2px 0px 0px 0px;
    box-shadow: 0px 0px 20px rgba(0,0,0,0.2);
}
.sl-nav li ul li {
    position: relative;
    text-align: left;
    background: transparent;
    padding: 15px 15px;
    padding-bottom:0;
    z-index: 2;
    font-size: 15px;
    color: #3c3c3c;
}

.sl-nav li ul li:last-of-type {
    padding-bottom: 15px;
}
.sl-nav li ul li span a{
    padding-left: 5px;
}
.sl-nav li ul li span a:hover, .sl-nav li ul li span a.active {
    color: #146c78;
}

.sl-nav li ul li span a{
    text-decoration: none;
    color: #3e4e54;
}

.lan-wrapper {
    position: fixed;   
    top: 20px;
    right: 20px; 
    z-index: 1000;
    background: rgba(255,255,255,0.9);
    border-radius: 6px;
    padding: 10px 15px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.logo{
    text-align: center;
}

.logo img{
    width: 30%; 
}

.reset-wrapper {
    text-align: right; 
    margin-top: 8px; 
}

.reset-link {
    font-size: 14px;
    color: #709812;
    text-decoration: none;
    font-weight: 400;
    transition: color 0.3s ease, text-shadow 0.3s ease, transform 0.2s ease;
}

.reset-link:hover {
    color: #5c7e0e;
    text-shadow: 0 0 0.5px currentColor; 
    transform: scale(1.02);
}

.login-form .checkbox-field {
    padding: 12px 5px;
    font-size: 14px;
    color: #333;
    text-align: left;
}

.login-form .checkbox-field label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    font-family: 'Rubik', sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #444;
}

.login-form .checkbox-field input[type="checkbox"] {
    cursor: pointer;
    accent-color: #3c4d6d; /* modern browsers */
}

.login-form .checkbox-field a {
    color: #3c4d6d;
    text-decoration: none;
    font-weight: 500;
}

.login-form .checkbox-field a:hover {
    text-decoration: underline;
}