@font-face {
  font-family: 'Gilroy';
  src: url('/fonts/Gilroy-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('/fonts/Gilroy-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('/fonts/Gilroy-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('/fonts/Gilroy-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --red: #ed1651;
  --blue: #0d5cff;
  --magneta: #ff88b7;
  --photoSize:116px;
}
body {
  margin: 0;
  padding: 0;
  font-family: Gilroy, sans-serif;
  background-color: #02bac6;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
a {
  text-decoration: none;
}
input:active,
textarea:active,
input:focus,
textarea:focus {
  outline: none !important;
}
.hidden {
  display: none !important;
}
.anketaBox {
  padding-top: 118px;
}
.w1440 {
  max-width: 1440px;
  margin: 0 auto;
  width: 90%;
  position: relative;
}
h1 {
  color: #fff;
  font-size: 72px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
h4 {
  margin-top: 46px;
  color: #fff;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.descrItems {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: 48px;
}
.descrItem {
  box-sizing: border-box;
  border: 1px solid #fff;
  position: relative;
  height: 0;
  padding-bottom: calc(100% - 2px);
}

.descrItemText {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 20px 24px;
  color: #fff;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 110%; /* 30.8px */
  letter-spacing: 0.56px;
}
.descrItemIcon {
  position: absolute;
  bottom: 24px;
  left: 20px;
  width: 20%;
}
.descrItemIcon svg {
  width: 100%;
  height: auto;
}
.descrBox {
  margin-bottom: 44px;
}
.formBox {
  padding-top: 149px;
  color: #000;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.formBoxWr {
  padding: 0 90px;
}
.formField {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 16px 74px;
  margin-top: 16px;
}
.formFieldColumn3{
  display: grid
;
  grid-gap: 16px;
}
.formField3{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 16px 74px;
  margin-top: 16px;
  align-items: start;
}
.formFieldItem:last-child {
  margin-top: 16px;
}
.universityFieldItem .formFieldItem:last-child {
  margin-top: 0px;
}
.aLabel {
  font-size: 16px;
  font-style: normal;
  font-weight: 200;
  line-height: normal;
  margin-bottom: 4px;
}
.aInpWr {
  position: relative;
}
.aInp {
  border-radius: 8px;
  border: 1px solid #cdcdea;
  font-size: 16px;
  padding: 12px 16px;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
}
input[type=date] {

  text-align: left;
  color:#000;
  cursor: default;
  font-family: 'Gilroy', sans-serif;
  box-sizing: border-box;
  padding: 11px 16px;
  width:100%;
  -moz-appearance   : textfield;
  -webkit-appearance: none;
  min-height: 44.5px;
}
input::-webkit-date-and-time-value {
  text-align: left;
}

.aInp::placeholder, .aInp[type=date]::placeholder{
  font-size: 14px;
  font-weight: 300;
}
input[type="date" i]::placeholder {
  font-size: 14px;
  font-weight: 300;
}

.aRow.error .aInp {
  border: 1px solid var(--red);
}
.formFlag {
  display: grid;

  grid-gap: 16px;
  /*margin-top: 32px;*/
}
.bRow {
  display: flex;
  align-items: center;
  gap: 12px;
  /*margin-bottom: 16px;*/
}
.formFlagItem:nth-child(2) .bRow {
  margin-bottom: 0px;
}
.bColumn {
  display: flex;
  flex-direction: column;
}
.bLabel {
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
.flagLabel,
.link {
  font-size: 16px;
  font-weight: 400;
}
.link {
  cursor: pointer;
  text-decoration: underline;
  color: blue;
}
.formSubmit {
  background-color: var(--red);
  font-size: 16px;
  color: white;
  font-weight: 500;
  text-align: center;
  padding: 10px 20px;
  width: max-content;
  border-radius: 1000px;
  cursor: pointer;
  user-select: none;
  margin-top: 16px;
  margin-bottom: 48px;
}
.switch {
  position: relative;
  height: 10px;
  width: 23px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 5px;
  background-color: #d7d7d7;
  transition: all 0.3s ease;
}
.switchCtrl.active .switch {
  background-color: #ff88b7;
}
.switch::before {
  position: absolute;
  content: "";
  left: calc(23px - 28px);
  top: calc(23px - 26px);
  display: block;
  height: 14px;
  width: 14px;
  cursor: pointer;
  border: 1px solid rgba(100, 116, 139, 0.1);
  border-radius: 9999px;
  background-color: #fb0265;
  box-shadow: 0 0 4px 0 rgba(39, 39, 39, 0.35);
  transition: all 0.3s ease;
}
.switchCtrl.active .switch:before {
  transform: translateX(100%);
  border-color: rgba(236, 72, 153, 1);
}
#universityField{
  margin-top: 32px;

}
.universityField {
  display: grid;
  max-width: 772px;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 16px 74px;

}
.checkbox {
  width: 16px;
  height: 16px;
  background-color: white;
  border: 2px solid red;
  display: inline-block;
  position: relative;
  cursor: pointer;
  border-radius: 4px;
}
.checkbox.checked {
  border-color: blue;
}
.checkbox::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 8px;
  border: solid red;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  top: 0px;
  left: 4px;
  opacity: 1;
}
.checkbox.checked::after {
  border-color: blue;
  opacity: 1;
}
.footerItem {
  font-size: 200px;
  font-weight: 700;
  color: white;
  text-align: center;
  line-height: 150%;
  text-transform: uppercase;
}
.formFieldItem{
  margin-bottom: 16px;
}
.checkboxCtrl{
  display: flex;
  gap: .5em;
  cursor: pointer;
  align-items: center;
  user-select: none;
}
.checkboxCtrlDot{
  width: 1em;
  height: 1em;
  background-image: url(/image/cbUnchecked.svg);
  background-size: cover;
}
.checkboxCtrl.active .checkboxCtrlDot{
  background-image: url(/image/cbChecked.svg);

}
#sitezenCtrl{
  margin-top: 33px;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 25px;
}
.switchCtrl{
  cursor: pointer;
  user-select: none;
}
#spam, #agr, #spam .link, #agr .link, .lectureSelect {
  font-size: 14px;
  font-weight: 300;
}
.elipse {
  position: absolute;
  top: 0;
  right: -100px;
  width: 580px;
  height: 580px;
}
.elipse svg{
  height: auto;
  width: 100%;
}
.headerDecor{
  max-width: 100vw;
  overflow: hidden;
}
.elipseWr{
  max-width: 100vw;

}
.formBox{
  background-repeat: no-repeat;
  background-size: contain;
  background-position-y: top;
  background-position-x: left;
  background-image: url(/image/formDecor2.png?rnd=1);
}
.univercityBoxBox{
  background-repeat: no-repeat;
  background-size: 25vw;
  background-position-y: 100px;
  background-position-x: right;
  background-image: url(/image/footerBg.png?rnd=1);
}
.aInpWr.error:before{
  width: 1em;
  position: absolute;
  top: 0;
  height: 100%;
  right: 12px;
  background-position-y: center;
  background-repeat: no-repeat;
  background-image: url(/image/error.svg);
  background-size: contain;
  content: "";
}

.aInpWr.success:before{
  width: 1em;
  position: absolute;
  top: 0;
  height: 100%;
  right: 12px;
  background-position-y: center;
  background-repeat: no-repeat;
  background-image: url(/image/success.svg);
  background-size: contain;
  content: "";
}

.aInpWr.date.error input[type="date"]::-webkit-calendar-picker-indicator,
.aInpWr.date.success input[type="date"]::-webkit-calendar-picker-indicator
{
  position: absolute;
  right: 48px;
}
.aInpWr.error .aInp{
  border-color: var(--red);
  background: #fedee5;
}
.fullScreenWr{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  display: flex;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.fullScreenSuccess{
  width: 75%;
  max-width: 800px;
  cursor: pointer;
  margin: 0 auto;
}
.fullScreenSuccess img{
  width: 100%;
  height: auto;
}
.grecaptcha-badge{
  display: none;
}
input[type=date]:invalid::-webkit-datetime-edit {
  color: #C4C4C4;
}
input::placeholder{
  color: #C4C4C4;
}
.formField2{
  margin-top: 32px;
}

.formFieldColumn2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 74px;
  margin-bottom: 16px;
}
.regPhotoBox{
  display: grid
;
  grid-template-columns: var(--photoSize) 1fr;
  grid-gap: 32px;
  align-items: end;
  margin-top: 32px;
  margin-bottom: 32px;
}
.regPhotoPreview{
  background-image:url('data:image/svg+xml,<svg width="95" height="95" viewBox="0 0 95 95" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="95" height="95" rx="8" fill="%23C8FFFC"/><path d="M89 95C89 83.8609 84.575 73.178 76.6985 65.3015C68.822 57.425 58.1391 53 47 53C35.8609 53 25.178 57.425 17.3015 65.3015C9.42499 73.178 5 83.8609 5 95L89 95Z" fill="%2302BAC6"/><ellipse cx="47.5" cy="28" rx="22.5" ry="22" fill="%2302BAC6"/></svg>');
  width: var(--photoSize);

  border-radius: 12px;
  height:var(--photoSize);
  background-position: center;
  background-size: cover;
  overflow: hidden;
}
.regPhotoPreview img{

  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #03b2c2;
}
.regPhotoMenuDescr{
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
.sBtn{
  display: grid
;
  grid-template-columns: 1fr 30px;
  grid-gap: 24px;
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding: 8px 21px;
  padding-right: 14px;
  cursor: pointer;
  background: #FB0265;
  border-radius: 1000px;
  width: max-content;
  align-items: center;
  margin-bottom: 12px;

}
.sBtnImg svg{
  width: 100%;
  height: auto;
}
.aSelect{
  position: relative;
  cursor: pointer;
}
.aSelect:after{
  position: absolute;
  top:10px;
  right: 10px;
  width: 24px;
  height: 24px;
  content: "";
  background: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.2929 7.29297L20.7071 8.70718L12 17.4143L3.29291 8.70718L4.70712 7.29297L12 14.5859L19.2929 7.29297Z" fill="black"/></svg>');
  background-size: cover;
  background-repeat: no-repeat;
}
.aSelect input{
  cursor: pointer;
  background: #FFF;
  font-family: 'Gilroy', sans-serif !important;
}
.aInputOptions{
  position: absolute;
  top: 0;
  width: 100%;
  box-sizing: border-box;
  background: white;
  border-radius: 10px;
  z-index: 100;
  font-size: 16px;
  font-weight: 400;
  display: none;
}
.aSelect.active .aInputOptions{
  display: block;
}
.aInputOption{
  cursor: pointer;
  padding: 6px 12px;
  margin: 6px 0;
}
.aInputOption:hover{
  background: #eee;
}
.aInputOption.active{
  background: #dedede !important;
}
.formBoxTitle{
  color: #000;
  font-size: 24px;
}
.pgmTitle{
  color: #FFF;
  font-size: 24px;
}
.docPhotoPreview img{
  display: block;
  width: 150px;
  height: 150px;
  border-radius: 24px;
  object-fit: contain;
  margin-bottom: 24px;
}
.docPhotoPreview  .fileName{
  margin-bottom: 24px;
  font-size: 14px;
}
.pgmTableWR{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 32px;
}
.pgmTable{
  border:1px solid #FFF;
  color:#FFF;
  text-transform: uppercase;
}
.pgmTableHead{
  border-bottom: 1px solid #FFF;
  display: grid;
  grid-template-columns: 150px 1fr;
  text-transform: uppercase;
  font-size: 26px;
  font-weight: 500;
}
.pgmTableHeadDay{
  border-right: 1px solid #FFF;
}
.pgmTableHeadDay, .pgmTableHeadTitle{
  padding: 24px;
}
.pgmTableRow{
  border-bottom: 1px solid #FFF;

  display: grid;
  grid-template-columns: 100px 1fr;
}
.pgmTableRow:last-child{
  border-bottom: none
}
.pgmTableRowTime{
  border-right: 1px solid #FFF;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  font-weight: 600;
}
.pgmTableRowValue{
  display: grid;
  grid-template-columns: 1fr 100px;
  font-size: 16px;
  font-weight: 400;
}
.pgmTableRowValueText{
  justify-content: left;
  align-items: center;
  display: flex;
  padding: 12px 24px;
  flex-wrap: wrap;
  font-weight: 600;
}
.pgmTableRowValuePlaceTitle{
  background: #FFF;
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 8px;
}
.pgmTableRowValuePlace{
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  align-content: flex-start;
}
.relax{
  grid-template-columns: 1fr;
}
.relax .pgmTableRowValueText{
  background: #FFFFFF;
  color: var(--red);
}
.pgmTableRowValueLid{
  margin-top: 4px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
}
.lecture{
  background: var(--red);
  color: #FFF;
  display: inline-block;
  padding: 2px 4px;
}
.spk{
  font-weight: 600;
  display: inline-block;
  padding: 2px 0px;
}
.cmdTable{
  display: grid;
  grid-template-columns: 1fr 1fr;
  border:1px solid #FFF;
  margin-top:64px;
  color: #FFF;
  text-transform: uppercase;
  font-size: 16px;
}
.cmdTableColumn:not(:last-child){
  border-right:1px solid #FFF
}
.cmdTableColumnRow {
  display: grid;
  grid-template-columns: 1fr 70px;
}
.cmdTableColumnRow:not(:last-child){
  border-bottom:1px solid #FFF
}
.cmdTableDescr{
  display: flex
;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.cmdTableColumnRow .pgmTableRowValuePlace{
  display: block;
}
.nav{
  margin-top: 64px;
}
