html,
body {
    height: 100%;
    margin: 0;
}

body {
    font-family: 'Open Sans', Tahoma, Arial, sans-serif;
    font-weight: 400;
}

.loginwrapper {
    min-height: 100vh;
    position: relative;
    width: 100%;
    background-image: url('../../img/login-bg.jpg');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.login_form .lang {
    text-align: right;
}

.login_form .lang .lang-select {
    display: inline-flex;
}

.login_form .alert-danger {
    background-color: rgba(231, 76, 60, 0.15);
    color: #ff6b6b;
    padding: 10px 12px;
    border-radius: 3px;
    margin-bottom: 16px;
    font-size: 13px;
    border: 1px solid rgba(231, 76, 60, 0.3);
    text-align: center;
}

/* Language switcher */
.lang-select {
    position: relative;
    display: inline-block;
}

.lang-select__button {
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: 'Open Sans', Tahoma, sans-serif;
}

.lang-select__button::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 30"><path fill="%23012169" d="M0 0h60v30H0z"/><path fill="%23FFF" d="M0 0l60 30m0-30L0 30" stroke="%23FFF" stroke-width="6"/><path fill="%23C8102E" d="M0 0l60 30m0-30L0 30" stroke="%23C8102E" stroke-width="4"/><path fill="%23FFF" d="M30 0v30M0 15h60" stroke="%23FFF" stroke-width="10"/><path fill="%23C8102E" d="M30 0v30M0 15h60" stroke="%23C8102E" stroke-width="6"/></svg>');
    background-size: cover;
    margin-right: 6px;
}

.lang-select__button::after {
    content: '▼';
    font-size: 10px;
    margin-left: 6px;
    opacity: 0.7;
    transition: transform 0.2s;
}

.lang-select.lang-select--is-open .lang-select__button::after {
    transform: rotate(180deg);
}

.lang-select__content {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    padding-top: 14px;
    z-index: 10;
}

.lang-select.lang-select--is-open .lang-select__content {
    display: block;
}

.lang-select__content::before {
    content: "";
    position: absolute;
    top: 6px;
    right: 15px;
    border-width: 0 8px 8px 8px;
    border-style: solid;
    border-color: transparent transparent #d1d5db transparent;
    z-index: 11;
}

.lang-select__container {
    background-color: #d8d8d8e6;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
    padding: 4px;
    width: max-content;
}

.lang-select__items {
    list-style: none;
    display: flex;
    flex-direction: row;
    gap: 4px;
    margin: 0;
    padding: 0;
}

.lang-select__item a {
    display: flex;
    align-items: center;
    padding: 4px 6px;
    color: #333;
    text-decoration: none;
    font-size: 12px;
    text-transform: uppercase;
    border-radius: 3px;
    font-weight: 700;
    font-family: 'Open Sans', Tahoma, sans-serif;
    position: relative;
}

.lang-select__item a:hover {
    background: #e5e7eb;
    color: #333;
}

.flag-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-size: cover;
    margin-right: 6px;
    flex-shrink: 0;
}

.flag-en {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 30"><path fill="%23012169" d="M0 0h60v30H0z"/><path fill="%23FFF" d="M0 0l60 30m0-30L0 30" stroke="%23FFF" stroke-width="6"/><path fill="%23C8102E" d="M0 0l60 30m0-30L0 30" stroke="%23C8102E" stroke-width="4"/><path fill="%23FFF" d="M30 0v30M0 15h60" stroke="%23FFF" stroke-width="10"/><path fill="%23C8102E" d="M30 0v30M0 15h60" stroke="%23C8102E" stroke-width="6"/></svg>');
}

.flag-ru {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3 2"><rect width="3" height="2" fill="%23fff"/><rect width="3" height="1" y="1" fill="%23d52b1e"/><rect width="3" height="0.66" fill="%230039a6" y="0.66"/></svg>');
}

.login_form .form-group .input-group-addon .fas {
    font-weight: 900;
    color: #3b4354;
}
