@font-face {
  font-family: "klik";
  font-style: regular;
  font-weight: 300;
  src: url("../fonts/klik-light-webfont.woff") format("woff"), url("../fonts/klik-light-webfont.woff2") format("woff2");
}
@font-face {
  font-family: "klik";
  font-style: regular;
  font-weight: 500;
  src: url("../fonts/klik-medium-webfont.woff") format("woff"), url("../fonts/klik-medium-webfont.woff2") format("woff2");
}
@font-face {
  font-family: "klik";
  font-style: regular;
  font-weight: 400;
  src: url("../fonts/klik-regular-webfont.woff") format("woff"), url("../fonts/klik-regular-webfont.woff2") format("woff2");
}
section, header, footer, .section {
  position: relative;
  width: 100%;
}

*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:root {
  --color-primary: #0095FF;
  --color-primary-light: rgba(0, 149, 255, 0.04);
  --transition: 150ms all ease;
}

body {
  background: #fff;
}

body, input, textarea, button {
  font-family: klik;
}

.container {
  max-width: 1060px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
  position: relative;
}

.title {
  font-size: 26px;
  line-height: 32px;
  font-weight: 500;
  text-transform: uppercase;
}
.title-small {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  text-transform: uppercase;
}

.input-box {
  margin-bottom: 20px;
}
.input-box.error input {
  border: 1px solid #FFB6B6;
}
.input-box.error input::-webkit-input-placeholder {
  color: rgba(255, 0, 0, 0.5);
}
.input-box.error input::-moz-placeholder {
  color: rgba(255, 0, 0, 0.5);
}
.input-box.error input::-ms-input-placeholder {
  color: rgba(255, 0, 0, 0.5);
}
.input-box.error input::placeholder {
  color: rgba(255, 0, 0, 0.5);
}

.error-text {
  font-size: 12px;
  line-height: 26px;
  font-weight: 300;
  padding-left: 12px;
  color: rgba(255, 0, 0, 0.5);
}

input {
  width: 100%;
  height: 45px;
  background: #fff;
  outline: none;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  padding: 0 16px;
  font-size: 12px;
  line-height: 18px;
  color: #000;
  border: 1px solid var(--color-primary);
}
input:focus, input:active {
  background: var(--color-primary-light);
}

input[type=checkbox] {
  display: none;
}
input[type=checkbox] + span {
  font-size: 12px;
  line-height: 18px;
  color: #000;
  padding-left: 29px;
  position: relative;
  display: block;
}
input[type=checkbox] + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 16px;
  height: 16px;
  border: 1px solid var(--color-primary);
}
input[type=checkbox] + span::after {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 16px;
  height: 16px;
  background: url("../images/check.svg");
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  opacity: 0;
}
input[type=checkbox]:checked + span::after {
  opacity: 1;
}

p {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 25px;
}

ul li {
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 5px;
  padding-left: 20px;
  position: relative;
}
ul li::before {
  content: "";
  position: absolute;
  left: 6.5px;
  top: 9px;
  width: 3px;
  height: 3px;
  background: #000;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
ul li:last-child {
  margin-bottom: 0;
}

.tt-u {
  text-transform: uppercase;
}

.c-main {
  color: var(--color-primary);
}

.c-white {
  color: #fff;
}

.c-black {
  color: #000;
}

.button, button, a.button {
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  font-size: 14px;
  line-height: 16px;
  color: #fff;
  font-weight: 300;
  background: var(--color-primary);
  padding: 12px 16px;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid var(--color-primary);
  text-decoration: none;
}
.button:hover, button:hover {
  background: transparent;
}

.header {
  height: 80px;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background: var(--color-primary);
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__burger {
  width: 25px;
  height: 25px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: none;
}
.header__burger span {
  width: 25px;
  height: 2px;
  background: #fff;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.header__burger span::before, .header__burger span::after {
  content: "";
  position: absolute;
  left: 0;
  margin: auto;
  width: 25px;
  height: 2px;
  background: #fff;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}
.header__burger span::before {
  top: -8px;
}
.header__burger span::after {
  bottom: -8px;
}
.header__burger.active span {
  background: transparent;
}
.header__burger.active span::before {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 0;
}
.header__burger.active span::after {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  bottom: 0;
}
.header .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header__menu a {
  text-decoration: none;
  color: #fff;
  margin-left: 70px;
  font-weight: 500;
}
.header__menu a:first-child {
  margin-left: 0;
}
.header__menu a:hover {
  text-decoration: underline;
}

.hero-screen {
  position: relative;
  height: 447px;
  background: url(../images/bg.jpg) center no-repeat;
  -webkit-background-size: cover;
          background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.hero-screen::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.39);
  z-index: 1;
}
.hero-screen .container {
  position: relative;
  z-index: 2;
}
.hero-screen .title {
  margin-bottom: 30px;
}
.hero-screen h2 {
  font-size: 20px;
  line-height: 30px;
  margin-bottom: 56px;
  font-weight: 400;
}
.hero-screen a:not(.button) {
  color: #fff;
  text-decoration: underline;
}
.hero-screen a:hover {
  text-decoration: none;
}
.hero-screen__date {
  background: url("../images/date.svg") 0 center no-repeat;
  padding-left: 40px;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0.0004em;
  margin-bottom: 45px;
}
.hero-screen .button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.schedule-screen {
  background: var(--color-primary-light);
  padding: 72px 0 37px;
}
.schedule-screen:nth-child(even) {
  background: #fff;
}
.schedule .title {
  margin-bottom: 25px;
}
.schedule .title-small {
  margin-bottom: 10px;
}
.schedule .title-small:last-child {
  margin-bottom: 0;
}
.schedule__meta {
  margin-bottom: 45px;
}
.schedule__programm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -10px;
}
.schedule__programm-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 33.3333333333%;
          flex: 1 0 33.3333333333%;
  max-width: 33.3333333333%;
  padding: 0 10px;
  margin-bottom: 35px;
}
.schedule__programm-item p {
  padding: 0 7px;
}

.author {
  position: relative;
  padding: 72px 0;
  background: var(--color-primary-light);
}
.author .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.author__photo {
  width: 428px;
  padding-top: 75px;
}
.author__photo img {
  width: 100%;
  height: auto;
}
.author__text {
  width: 520px;
}
.author__name {
  font-size: 20px;
  line-height: 30px;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 45px;
  color: var(--color-primary);
}
.author p {
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 30px;
  font-weight: 300;
}
.author p:last-child {
  margin-bottom: 0;
}

.about-avdo {
  min-height: 394px;
  padding: 72px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff url("../images/logo_bg.svg") center no-repeat;
}
.about-avdo p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 300;
  max-width: 577px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.price {
  padding: 72px 0;
  background: var(--color-primary-light);
}
.price .title {
  text-align: center;
  margin-bottom: 72px;
}
.price__list {
  max-width: 881px;
  width: 100%;
  margin: 0 auto 72px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-around;
}
.price__item {
  background: #fff;
  max-width: calc(33.3333333333% - 14px);
  width: 100%;
  text-align: center;
  padding: 35px 30px;
}
.price__label p {
  font-size: 18px;
  line-height: 24px;
  font-weight: 500;
  margin-bottom: 0;
}
.price__description {
  margin-top: 40px;
  font-size: 16px;
  line-height: 26px;
  font-weight: 300;
  margin-bottom: 0;
}
.price__text {
  max-width: 540px;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
.price__text p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 300;
  margin-bottom: 20px;
}
.price__text p:last-child {
  margin-bottom: 0;
}

.registration {
  padding: 72px 0;
}
.registration .title {
  margin-bottom: 72px;
  text-align: center;
}
.registration__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.registration__text {
  width: 450px;
}
.registration__text .title-small {
  margin-bottom: 45px;
}
.registration__text p {
  margin-bottom: 20px;
}
.registration__text p span {
  font-weight: 300;
}
.registration__text a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
  text-decoration: none;
  color: #000;
  font-size: 14px;
  line-height: 21px;
  font-weight: 300;
}
.registration__text a:last-child {
  margin-bottom: 0;
}
.registration__text a img {
  margin-right: 16px;
}
.registration__form {
  width: 340px;
}
.registration__form .success {
  margin: 16px 0 0 0;
  width: 100%;
  padding: 16px;
  text-align: center;
  background: #B5F835;
  color: #000;
}
.registration__form .error-text-result {
  margin: 16px 0 0 0;
  width: 100%;
  padding: 16px;
  text-align: center;
  background: red;
  color: #000;
}
.registration__form .error-text p,
.registration__form .success p {
  color: #000;
  margin: 0;
}
.registration .button {
  margin-top: 20px;
  margin-left: auto;
}
.registration .button:hover {
  color: var(--color-primary);
}
.registration__acceptance .error-text {
  line-height: 18px;
  margin-top: 8px;
  padding-left: 29px;
}

.footer {
  min-height: 160px;
  border-top: 5px solid var(--color-primary);
  padding-top: 30px;
  padding-bottom: 30px;
}
.footer .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.footer__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.footer__menu a {
  margin-left: 80px;
  color: #000;
  text-decoration: none;
  font-size: 14px;
  line-height: 21px;
}
.footer__menu a:hover {
  text-decoration: underline;
}
.footer__menu a:first-child {
  margin-left: 0;
}
.footer__contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.footer__contacts a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  line-height: 21px;
  font-weight: 300;
  text-decoration: none;
  margin-bottom: 20px;
  color: #000;
}
.footer__contacts a:last-child {
  margin-bottom: 0;
}
.footer__contacts a:hover {
  text-decoration: underline;
}
.footer__contacts a img {
  margin-right: 16px;
}
.footer__meta {
  width: 106px;
}
.footer__meta svg {
  width: 106px;
}
.footer__logo svg path {
  fill: var(--color-primary);
}
.footer__name {
  font-size: 12px;
  line-height: 15px;
  color: #000;
  margin-bottom: 13px;
  margin-top: 10px;
}
.footer__copyright {
  font-size: 10px;
  line-height: 12px;
  color: #999;
  letter-spacing: 0.03em;
}
.di {
    font-size: 0;
    position: relative;
}
.di img {
    width: 100%;
}
.di span {
    position: absolute;
    left: 15px;
    bottom: 15px;
    background: rgba(0,0,0,0.5);
    color: #fff;
    font-size: 20px;
    font-weight: 300;
    padding: 15px 20px 17px;
}

@media screen and (max-width: 960px) {
  .container {
    max-width: 380px;
    padding: 0 10px;
  }
  .header {
    position: relative;
    height: 60px;
  }
  .header__logo img {
    height: 25px;
  }
  .header__burger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header__menu {
    position: absolute;
    left: 0;
    top: 43px;
    right: 0;
    background: var(--color-primary);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 16px 0 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: var(--transition);
    -o-transition: var(--transition);
    transition: var(--transition);
  }
  .header__menu.active {
    opacity: 1;
    visibility: visible;
  }
  .header__menu a {
    margin: 0 0 16px 0;
  }
  .header__menu a:last-child {
    margin: 0;
  }
  .header__menu::before {
    content: "";
    position: absolute;
    left: -9999px;
    top: 0;
    bottom: 0;
    background: var(--color-primary);
    right: 100%;
  }
  .header__menu::after {
    content: "";
    position: absolute;
    right: -9999px;
    top: 0;
    bottom: 0;
    background: var(--color-primary);
    left: 100%;
  }
  .site-wrapper {
    position: relative;
    overflow: hidden;
  }
  .schedule__programm {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .schedule__programm-item {
    width: 100%;
    max-width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
  }
  .author .container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .author__photo {
    padding-top: 0;
  }
  .author__name {
    margin-bottom: 24px;
  }
  .author__photo, .author__text {
    max-width: 100%;
    width: 100%;
  }
  .author__photo {
    margin-bottom: 32px;
  }
  .about-avdo {
    -webkit-background-size: 400px 400px;
            background-size: 400px;
  }
  .price__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .price__item {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
  }
  .price__item:last-child {
    margin-bottom: 0;
  }
  .registration__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .registration__text, .registration__form {
    width: 100%;
    max-width: 100%;
  }
  .registration__form {
    margin-bottom: 48px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .registration__text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .footer .container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
  }
  .footer__contacts {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 32px;
  }
  .footer__contacts a {
    margin-bottom: 16px;
  }
  .footer__menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    margin-top: 32px;
  }
  .footer__menu a {
    margin: 0 0 16px 0;
  }
  .footer__menu a:last-child {
    margin-bottom: 0;
  }
  .di span {
    font-size: 18px;
    padding: 10px 15px 12px;
  }
}

.not-found {
  position: relative;
  min-height: calc(100vh - 80px - 165px);
  display: flex;
  align-items: center;
  text-align: center;
}