/**
 * Определение констант
 **/
:root {
    /* БАЗОВЫЕ КОНСТАНТЫ ПАРАМЕТРОВ ШРИФТОВ */
    --lt-gigant-font-size: 20pt;
    --lt-biggest-font-size: 18pt;
    --lt-bigger-font-size: 16pt;
    --lt-big-font-size: 14pt;
    --lt-basic-font-size: 12pt;
    --lt-small-font-size: 10pt;
    --lt-smaller-font-size: 9pt;
    --lt-smallest-font-size: 8pt;
    --lt-micro-font-size: 6pt;

    /* КОНСТАНТЫ ПАРАМЕТРОВ ШРИФТОВ ДЛЯ ГРУПП ЭЛЕМЕНТОВ ИНТЕРФЕЙСА ПРИЛОЖЕНИЯ */
    --lt-line-height-coeff: 1.33;
    --lt-basic-border-radius: 3px;

    --lt-body-padding: 30px;
    --lt-body-font-fimily: sans-serif, Helvetica, Tahoma, Arial;
    --lt-body-font-size: var(--lt-basic-font-size);
    --lt-body-line-height: calc(var(--lt-body-font-size) * var(--lt-line-height-coeff));

    --lt-h1-font-size: calc(var(--lt-body-font-size) + 8pt);
    --lt-h1-line-height: calc(var(--lt-h1-font-size) * var(--lt-line-height-coeff));
    --lt-h1-margin: 16pt 0 8pt 0; /* top right bottom left */
    --lt-h2-font-size: calc(var(--lt-body-font-size) + 6pt);
    --lt-h2-line-height: calc(var(--lt-h2-font-size) * var(--lt-line-height-coeff));
    --lt-h2-margin: 14pt 0 6pt 0;
    --lt-h3-font-size: calc(var(--lt-body-font-size) + 4pt);
    --lt-h3-line-height: calc(var(--lt-h3-font-size) * var(--lt-line-height-coeff));
    --lt-h3-margin: 14pt 0 4pt 0;
    --lt-h4-font-size: calc(var(--lt-body-font-size) + 2pt);
    --lt-h4-line-height: calc(var(--lt-h4-font-size) * var(--lt-line-height-coeff));
    --lt-h4-margin: 14pt 0 2pt 0;

    --lt-input-height: 45px;
    --lt-input-font-size: var(--lt-basic-font-size);
    --lt-input-border-style: solid;
    --lt-input-border-width: 1px;
    --lt-input-border-radius: 0;
    --lt-textarea-border-radius: var(--lt-basic-border-radius);
    --lt-input-padding: 8px 8px 4px 8px; /* top right bottom left */

    --lt-button-font-size: 15px;
    --lt-button-height: 46px;
    --lt-button-padding: 0 23px 0 23px; /* top right bottom left */
    --lt-button-border-radius: var(--lt-basic-border-radius);
    --lt-button-text-transform: uppercase;

    --lt-hr-margin: var(--lt-indent-05x) 0 var(--lt-indent-05x) 0; /* top right bottom left */
    --lt-p-margin: 6pt 0 0 0;

    /* Единые для всего интерфейса отступы. Задавать отступы явно в коде не рекомендуется! */
    --lt-indent-01x: 0.2em;
    --lt-indent-025x: 0.5em;
    --lt-indent-05x: 1em;
    --lt-indent-1x: 2em;
    --lt-indent-15x: 3em;
    --lt-indent-2x: 4em;
    --lt-indent-25x: 5em;
    --lt-indent-3x: 6em;
    --lt-indent-4x: 8em;
    --lt-indent-5x: 10em;
}

input, input:focus, textarea, textarea:focus, select, select:focus, button, button:focus, a:focus {
    outline:none !important;
}

input, select, textarea {
    border: 0;
    border-bottom-style: var(--lt-input-border-style);
    border-bottom-width: var(--lt-input-border-width);
    border-radius: var(--lt-input-border-radius);
    padding: var(--lt-input-padding);
    font-size: var(--lt-input-font-size);
    height: var(--lt-input-height);
}
textarea:focus {
    height: calc(var(--lt-input-height) * 1.5);
}
input[type="text"], input[type="password"], select, textarea {

}
select > option[value=""][disabled] {
    display: none;
}
textarea {

}
/* Увеличить размер точек в поле ввода пароля: We can use the Verdana font to scale the dots to a more comfortable size */
input[type='password'] {
    font-family: Verdana;
}
.lt-select {
    position: relative;
    display: inline-block;
    width: 100%;
}
select {
    display: inline-block;
    cursor: pointer;
    border-bottom-style: var(--lt-input-border-style);
    border-bottom-width: var(--lt-input-border-width);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
select:hover, select:focus {
    border-bottom-style: var(--lt-input-border-style);
    border-bottom-width: var(--lt-input-border-width);
}
select::-ms-expand {
    display: none;
}
select:disabled {
    pointer-events: none;
}
.select_arrow {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 10px;
    height: 10px;
    border-style: solid;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

button {
    border: none;
    cursor: pointer;
    font-size: var(--lt-button-font-size);
    /*text-transform: var(--lt-button-text-transform);*/
    height: var(--lt-button-height);
    border-radius: var(--lt-button-border-radius);
    justify-content: center;
    align-items: center;
    padding: var(--lt-button-padding);
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
}
button:disabled {
    cursor: not-allowed;
}

/* Стили радио-батонов и чекбоксов */
label {
    position: relative;
    cursor: pointer;
    /* padding: 0 0 0 25px; */   /* top right bottom left */
    display: inline-block;
}
label input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.lt-radio-indicator, .lt-checkbox-indicator {
    position: absolute;
    left: 0;
    height: 20px;
    width: 20px;
    border: 0;
}
.lt-radio-indicator {
    border-radius: undefinedpx;
}
label input:disabled ~ .lt-radio-indicator {
    pointer-events: none;
}
.lt-radio-indicator:after {
    box-sizing: unset;
    content: '';
    position: absolute;
    display: none;
}
label input:checked ~ .lt-radio-indicator:after {
    display: block;
}
label .lt-radio-indicator {
    border-radius: 50%;
}
label .lt-radio-indicator:after {
    left: 7px;
    top: 7px;
    height: 6px;
    width: 6px;
    border-radius: 50%;
    transition: background 250ms;
}
.lt-checkbox-indicator {
    border-radius: 3px;
    background-color: var(--lt-radio-indicator-bg-color);
}
label:hover input ~ .lt-checkbox-indicator,
label:input:focus ~ .lt-checkbox-indicator {
    background: #cccccc;
}

label input:checked ~ .lt-checkbox-indicator {
    background: var(--lt-input-border-accent-color);
}
label:hover input:not([disabled]):checked ~ .lt-checkbox-indicator,
label input:checked:focus ~ .lt-checkbox-indicator {

}
label:hover input:not([disabled]):not(:checked) ~ .lt-checkbox-indicator {
    background-color: var(--lt-radio-indicator-hover-bg-color);
}
label input:disabled ~ .lt-checkbox-indicator {
    background: #e6e6e6;
    opacity: 0.5;
    pointer-events: none;
}
.lt-checkbox-indicator:after {
    box-sizing: unset;
    content: '';
    position: absolute;
    display: none;
}
label input:checked ~ .lt-checkbox-indicator:after {
    display: block;
}
/* стиль галки выбранного чекбокса */
label .lt-checkbox-indicator:after {
    left: 7px;
    top: 4px;
    width: 3px;
    height: 8px;
    border: solid var(--lt-bg-color);
    border-left: 2px;
    border-top: 2px;
    transform: rotate(45deg);
}
/* цвет галки отключенного но выбранного чекбокса */
label input:disabled ~ .lt-checkbox-indicator:after {
    border-color: var(--lt-grey-color);
}
/* END OF Стили радио-батонов и чекбоксов */

