@charset "UTF-8";
/* Стили страниц аутентификации */

/* Базовые стили текста */
body{
  font-family:verdana,sans-serif;
  font-size:14px;
  color:#71748d;
  background:#efeff6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  color:#3d405c;
  margin:0 0 15px;
  font-family:verdana,sans-serif;
}
h1{font-size:34px}
h2{font-size:28px;line-height:30px}
h3{font-size:20px}
h4{font-size:16px;line-height:26px}
h5{font-size:15px;line-height:26px}
h6{font-size:12px}

p{margin:0 0 20px}
a{color:#71748d}

/* Формы */
label{
  display:inline-block;
  margin-bottom:5px;
  font-size:15px;
  color:#71748d;
}
.form-control{
  display:block;
  width:100%;
  font-size:14px;
  line-height:1.43;
  color:#71748d;
  background:#fff;
  border:1px solid #d2d2e4;
  border-radius:2px;
}
.form-control:focus{
  color:#71748d;
  background:#fff;
  border-color:#a7a7f0;
  outline:0;
  box-shadow:0 0 0 .2rem rgba(214,214,255,.75);
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder{color:#71748d!important}
input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder{color:#3076f9!important}
.form-group{margin-bottom:12px}
.form-control-lg{padding:12px}

/* Чекбоксы и радиокнопки */
.custom-control{position:relative;min-height:1.5rem;padding-left:1.5rem}
.custom-control-input{position:absolute;z-index:-1;opacity:0}
.custom-control-label{margin-bottom:0}
.custom-control-label::before,
.custom-control-label::after{
  position:absolute;
  top:7px;left:0;
  display:block;
  width:1rem;height:1rem;
  content:"";
  user-select:none;
  border:2px solid #d2d2e4;
  border-radius:0;
  background:#fff;
}
.custom-control-input:checked~.custom-control-label::before{
  background:#3076f9;border-color:#3076f9;
}
.custom-control-input:disabled~.custom-control-label{color:#9295b0}
.custom-control-input:disabled~.custom-control-label::before{background:#efeff6}

/* Валидация */
.parsley-errors-list.filled{
  margin:10px 0 0;
  padding:7px 29px;
  background:#f96a6a;
  color:#fff;
}

/* Отступы */
.p-t-20{padding-top:20px}
.p-b-20{padding-bottom:20px}
.m-t-20{margin-top:20px}
.text-center{text-align:center}

/* Цвета */
.bg-primary{background:#3076f9!important;color:#fff!important}
.text-primary{color:#3076f9!important}
.text-danger{color:#ef172c!important}

/* Контейнер */
.splash-container{
  width:100%;
  max-width:375px;
  padding:15px;
  margin:auto;
}
.splash-title{
  display:block;
  font-size:14px;
  font-weight:300;
  text-align:center;
}
.splash-description{
  text-align:center;
  font-size:1rem;
  line-height:20px;
  margin-top:5px;
  padding-bottom:10px;
}

/* Карты */
.card{
  margin-bottom:30px;
  border:none;
  box-shadow:0 1px 2px 1px rgba(154,154,204,.22);
}
.card-header{
  background:#fff;
  border-bottom:1px solid #e6e6f2;
  padding:20px;
}
.card-body{padding:20px}
.card-footer{
  border-top:1px solid #e6e6f2;
  background:#f6f6ff;
}

/* Кнопки */
.btn{
  display:inline-block;
  font-size:14px;
  padding:9px 16px;
  border-radius:2px;
  border:1px solid transparent;
}
.btn-primary{
  color:#fff;
  background:#87ceeb;
  border-color:#87ceeb;
}
.btn-primary:hover,
.btn-primary:focus{
  background:#87ceeb;
  border-color:#87ceeb;
  color:#fff;
  box-shadow:0 0 0 2px rgba(135,206,235,.4);
}
.btn-secondary{
  color:#fff;
  background:#2caeff;
  border-color:#2caeff;
}
.btn-secondary:hover,
.btn-secondary:focus{
  background:#2caeff;
  border-color:#2caeff;
  color:#fff;
  box-shadow:0 0 0 2px rgba(17,103,222,.4);
}
.btn-outline-primary{
  color:#3076f9;
  background:transparent;
  border-color:#3076f9;
}
.btn-telegram{
  color:#fff;
  background:#2caeff;
  border-color:#2caeff;
}

/* Ссылки‑кнопки */
.btn-link{
  color:#87ceeb;
  text-decoration:none;
}

/* Анимация */
.fade-in{animation:fadeIn .4s ease-in-out forwards}
@keyframes fadeIn{
  0%{opacity:0;transform:translateY(8px)}
  100%{opacity:1;transform:none}
}

/* Выравнивание чекбоксов */
.custom-checkbox .custom-control-label::before{border-radius:2px}
.custom-checkbox .custom-control-input:checked~.custom-control-label::after{
  content:"";
  position:absolute;
  top:7px;left:0;
  width:1rem;height:1rem;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10'%3E%3Cpolyline points='1.5 6 4.5 9 10.5 1' style='fill:none;stroke:%23fff;stroke-width:2'/%3E%3C/svg%3E") center/10px 8px no-repeat;
}

/* Обертки страниц */
.footer-note{
  font-size:13px;
  color:#aaa;
  margin-top:15px;
  text-align:center;
  white-space:nowrap;
  width:100%;
  overflow:hidden;
}
.footer-note a{
  color:#aaa;
  text-decoration:underline;
}
.footer-note a:hover{color:#888}

.remember-me-wrapper{margin-bottom:10px;padding-left:2px}
.custom-control-label{
  padding-top:1px;
  padding-left:5px;
  vertical-align:middle;
}

/* описание курса */
#course-description{
	font-weight:normal;
    background-color:#ffffff;
    border-radius:10px;
    padding:15px;
    margin:15px auto 0;

    width:clamp(1%);
    min-height:210px;
    max-height:25vh;
    height:auto;

    overflow-y:auto;

    font-size:14px;
    line-height:1.3;           
    text-align:left;
}

/* ↓ стили для плейсхолдера «Выберите курс» ↓ */
#course-description.course-placeholder{
    width:clamp(1%);
    min-height:210px;
    max-height:25vh;
    height:auto;
        
    display:flex;              
    align-items:center;       
    justify-content:center;   
    font-size:22px;     
    font-weight:700;      
    color:#666;             
    text-align:center;  
}

/* Страница задач: начало */
.task-page{
  background-color:#efeff6;
  padding:20px;
  font-family:Verdana,sans-serif;
  flex-wrap:nowrap;
}

/* Кнопки курсов */
.course-selector .btn-lang{
  width:100%;
  height:100px;
  margin-bottom:15px;
  font-size:16px;
  font-weight:bold;
  border:2px solid #87ceeb;
  background-color:transparent;
  color:#87ceeb;
  transition:background-color .3s ease,color .3s ease;
}
.course-selector .btn-lang:hover{
  background-color:#87ceeb;
  color:white;
}

/* Блок списка задач */
.task-list-container h4{
  font-weight:bold;
  margin-bottom:20px;
}
.task-list-container{
  max-width:450px;
  padding-left:10px;
  padding-right:10px;
}
.task-group{
  margin-bottom:15px;
  background-color:white;
  border:1px solid #ccc;
  border-radius:10px;
  padding:10px 15px;
}
.task-group-header{
  font-weight:bold;
  font-size:16px;
  cursor:pointer;
  margin-bottom:8px;
}
.task-list{
  list-style:none;
  padding-left:0;
}
.task{
  padding:10px 20px;
  margin:5px 0;
  border-radius:8px;
  background-color:#e5eaf0;
  color:#333;
  cursor:default;
  transition:background-color .3s ease;
}
.task.completed{background-color:#c8f5c1}
.task.completed:hover{background-color:#b4e8a9}
.task.unlocked{background-color:#dcdde1}
.task.unlocked:hover{background-color:#c4c5c8}
.task.locked{
  background-color:#e5eaf0;
  color:#aaa;
  cursor:not-allowed;
}
.task.clickable{cursor:pointer}
.inspiration-quote{
  flex:1;
  text-align:center;
  padding:70 20px;
  font-family:Verdana,sans-serif;
  color:gray;
  font-size:36px;
  font-weight:bold;
  line-height:1.4;
  white-space:pre-line;
}
/* Страница задач: конец */

/* Конец файла */
