:root {
  --color-red: #ff1d38;
  --color-yellow: #ffc100;
  --color-purple: #6646cb;
  --color-grey: #828282;
  --color-black: #000000;
  --color-white: #ffffff;
}

@font-face {
  font-family: "Cera Round Pro";
  font-style: normal;
  font-weight: bold;
  font-display: fallback;
  src: url("../fonts/CeraRoundPro-Bold.eot");
  src: url("../fonts/CeraRoundPro-Bold.eot?#iefix") format("embedded-opentype"),
    url("../fonts/CeraRoundPro-Bold.woff2") format("woff2"),
    url("../fonts/CeraRoundPro-Bold.woff") format("woff"),
    url("../fonts/CeraRoundPro-Bold.ttf") format("truetype"),
    url("../fonts/CeraRoundPro-Bold.svg#CeraRoundPro-Bold") format("svg");
}
@font-face {
  font-family: "Rubik";
  font-style: italic;
  font-weight: 400;
  font-display: fallback;
  src: url("../fonts/rubik-v9-latin-italic.eot");
  src: local("Rubik Italic"), local("Rubik-Italic"),
    url("../fonts/rubik-v9-latin-italic.eot?#iefix") format("embedded-opentype"),
    url("../fonts/rubik-v9-latin-italic.woff2") format("woff2"),
    url("../fonts/rubik-v9-latin-italic.woff") format("woff"),
    url("../fonts/rubik-v9-latin-italic.ttf") format("truetype"),
    url("../fonts/rubik-v9-latin-italic.svg#Rubik") format("svg");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url("../fonts/rubik-v9-latin-regular.eot");
  src: local("Rubik"), local("Rubik-Regular"),
    url("../fonts/rubik-v9-latin-regular.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/rubik-v9-latin-regular.woff2") format("woff2"),
    url("../fonts/rubik-v9-latin-regular.woff") format("woff"),
    url("../fonts/rubik-v9-latin-regular.ttf") format("truetype"),
    url("../fonts/rubik-v9-latin-regular.svg#Rubik") format("svg");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 500;
  font-display: fallback;
  src: url("../fonts/rubik-v9-latin-500.eot");
  src: local("Rubik Medium"), local("Rubik-Medium"),
    url("../fonts/rubik-v9-latin-500.eot?#iefix") format("embedded-opentype"),
    url("../fonts/rubik-v9-latin-500.woff2") format("woff2"),
    url("../fonts/rubik-v9-latin-500.woff") format("woff"),
    url("../fonts/rubik-v9-latin-500.ttf") format("truetype"),
    url("../fonts/rubik-v9-latin-500.svg#Rubik") format("svg");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 700;
  font-display: fallback;
  src: url("../fonts/rubik-v9-latin-700.eot");
  src: local("Rubik Bold"), local("Rubik-Bold"),
    url("../fonts/rubik-v9-latin-700.eot?#iefix") format("embedded-opentype"),
    url("../fonts/rubik-v9-latin-700.woff2") format("woff2"),
    url("../fonts/rubik-v9-latin-700.woff") format("woff"),
    url("../fonts/rubik-v9-latin-700.ttf") format("truetype"),
    url("../fonts/rubik-v9-latin-700.svg#Rubik") format("svg");
}

html,
body {
  height: 100%;
  width: 100%;
}
html {
  scroll-behavior: smooth;
}
body {
  display: flex;
  flex-direction: column;
  font-family: "Rubik", sans-serif;
  color: var(--color-black);
}

strong {
  font-weight: bold;
}

p {
  font-weight: normal;
  font-size: 20px;
  line-height: 32px;
}

@media (min-width: 576px) {
  .col-sm-2-4 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
  }
}

.font-cera {
  font-family: "Cera Round Pro";
  font-weight: bold;
}

.background-red {
  background-color: var(--color-red);
}
.background-yellow {
  background-color: var(--color-yellow);
}
.background-purple {
  background-color: var(--color-purple);
}
.foreground-black {
  color: var(--color-black);
}
.foreground-white {
  color: var(--color-white);
}

.z-index-1 {
  z-index: 1;
}
.z-index-2 {
  z-index: 2;
}

main {
  padding-top: 86px;
}

footer {
  margin-top: auto;
  padding-top: 32px;
  padding-bottom: 180px;
}

@media (max-width: 575.98px) {
  footer {
    padding-top: 30px;
    padding-bottom: 60px;
  }
}

.navbar-dark .navbar-brand img {
  width: 64px;
  height: 60px;
  object-fit: contain;
  object-position: 50% 50%;
}
.navbar-dark .navbar-brand:focus {
  outline-color: var(--color-white);
  outline-width: 2px;
}
.navbar-dark .navbar-toggler {
  color: var(--color-white);
  border: none;
  padding: 0;
}
.navbar-dark .navbar-toggler:focus {
  outline-color: var(--color-white);
  outline-width: 2px;
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(255,255,255)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover {
  color: var(--color-white);
}
.navbar-dark .navbar-nav .nav-link:focus {
  outline-color: var(--color-white);
  outline-width: 2px;
}

.nav-pills .nav-link {
  border-radius: 0px;
  padding: 0px;
  color: var(--color-grey);
  outline: 0;
}
.nav-pills .nav-link:focus,
.nav-pills .nav-link:hover {
  color: var(--color-black);
}
.nav-pills .nav-link.active {
  color: var(--color-black);
  background-color: var(--color-white);
}

.carousel-indicators {
  bottom: -64px;
}
.carousel-indicators li {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--color-black);
  opacity: 0.2;
}

.button-book {
  font-weight: bold;
  font-size: 24px;
  line-height: 32px;
  border-radius: 6px;
  color: var(--color-white);
  background-color: var(--color-black);
  border-color: var(--color-black);
  padding: 24px 85px;
}
.button-book:focus,
.button-book:hover {
  color: var(--color-black);
  background-color: var(--color-white);
  border-color: var(--color-white);
}

.page-title {
  font-family: "Cera Round Pro";
  font-weight: bold;
  font-size: 86px;
  line-height: 86px;
  margin: 0;
  margin-bottom: 32px;
}
.page-subtitle {
  font-weight: normal;
  font-size: 32px;
  line-height: 46px;
  margin: 0;
}
@media (max-width: 575.98px) {
  .page-title {
    font-size: 52px;
    line-height: 52px;
  }
  .page-subtitle {
    font-size: 20px;
    line-height: 36px;
    text-align: center;
  }
}

.section {
  position: relative;
  padding-top: 64px;
  padding-bottom: 64px;
}
.section-jumper {
  position: absolute;
  top: -86px;
  visibility: hidden;
}
.section-title {
  font-family: "Cera Round Pro";
  font-weight: bold;
  font-size: 42px;
  line-height: 52px;
  margin: 0;
  margin-bottom: 32px;
}
.section-main {
  padding-bottom: 210px;
}
.section-main__accent {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 120px;
  background-color: #f31832;
}
.section-main__image {
  position: absolute;
  left: 0px;
  top: -36px;
  width: 500px;
  height: 400px;
  margin-left: -500px;
  background-image: url("../images/main-image.png?v=1.0.4");
  background-image: -webkit-image-set(
    url("../images/main-image@2x.png?v=1.0.4") 2x,
    url("../images/main-image@3x.png?v=1.0.4") 3x
  );
  background-image: image-set(
    url("../images/main-image@2x.png?v=1.0.4") 2x,
    url("../images/main-image@3x.png?v=1.0.4") 3x
  );
  background-size: 500px 400px;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (max-width: 575.98px) {
  .section-main {
    padding-bottom: 300px;
  }
  .section-main__accent {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 80px;
  }
  .section-main__image {
    left: 50%;
    top: 170px;
    transform: translate(-50%, 0);
    width: 320px;
    height: 256px;
    margin-left: 0;
    background-size: 320px 256px;
    background-position: center center;
  }
}
.section-video {
  padding-top: 42px;
  padding-bottom: 42px;
  background-color: #fafafa;
}
.section-program__tab {
  display: block;
}
.section-program__tab__item {
  border-bottom: solid 1px #f2f2f2;
}
.section-program__tab__item__day {
  min-width: 96px;
  align-self: flex-start;
  font-weight: bold;
  font-size: 24px;
  line-height: 28px;
}
.section-program__tab__item__speaker {
  font-family: "Cera Round Pro";
  font-weight: bold;
  font-size: 20px;
  line-height: 20px;
  margin-bottom: 8px;
}
.section-program__tab__item__title {
  font-size: 16px;
  line-height: 19px;
}
.nav-link.active .section-program__tab__item__icon {
  visibility: visible;
}
.section-program__tab__item__icon {
  visibility: hidden;
  width: 18px;
  height: 18px;
  object-fit: contain;
  object-position: 50% 50%;
}
.section-program__carousel {
  display: none;
  margin-bottom: 40px;
  margin-left: -15px;
  margin-right: -15px;
}
@media (max-width: 991.98px) {
  .section-program__tab {
    display: none;
  }
  .section-program__carousel {
    display: block;
  }
}
.section-program__item {
  padding: 0px 15px;
}
.section-program__item__day {
  font-weight: bold;
  font-size: 50px;
  line-height: 59px;
}
.section-program__item__title {
  font-weight: 500;
  font-size: 20px;
  line-height: 24px;
  margin-top: 12px;
  margin-bottom: 24px;
}
.section-program__item__image {
  width: 290px;
  height: 145px;
  margin-left: -30px;
}
.section-program__item__speaker {
  font-family: "Cera Round Pro";
  font-weight: bold;
  font-size: 28px;
  line-height: 28px;
  margin-top: 32px;
  margin-bottom: 16px;
}
.section-program__item__description {
  font-style: italic;
  font-weight: normal;
  font-size: 20px;
  line-height: 24px;
}
.section-program__item__date {
  font-weight: normal;
  font-size: 16px;
  line-height: 19px;
  margin-top: 24px;
  margin-bottom: 34px;
}
.section-program__item__price {
  font-weight: bold;
  font-size: 20px;
  line-height: 24px;
  margin-bottom: 12px;
}
.section-program__item__button {
  padding: 24px 60px;
}
@media (min-width: 992px) {
  .section-program__item {
    padding: 0px;
    padding-left: 24px;
  }
  .section-program__item > div {
    padding: 42px 42px 32px 32px;
  }
  .section-program__item__day {
    font-size: 54px;
    line-height: 58px;
    margin-top: -8px;
  }
  .section-program__item__title {
    margin-bottom: 0px;
  }
  .section-program__item__image {
    width: 300px;
    height: 150px;
    margin-left: -56px;
  }
  .section-program__item__speaker {
    font-size: 32px;
    line-height: 32px;
  }
  .section-program__item__description {
    font-size: 24px;
    line-height: 28px;
  }
  .section-program__item__date {
    font-size: 20px;
    line-height: 24px;
  }
  .section-program__item__price {
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 0px;
  }
  .section-program__item__button {
    padding: 24px 82px;
  }
}
@media (min-width: 1200px) {
  .section-program__item__day {
    font-size: 64px;
    line-height: 76px;
    margin-top: -14px;
  }
  .section-program__item__image {
    width: 360px;
    height: 180px;
  }
}
.section-video__frame {
  max-width: 560px;
  box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.15);
  border-radius: 8px;
}
.section-pass__price {
  font-weight: bold;
  font-size: 24px;
  line-height: 28px;
}
.section-pass__image {
  position: absolute;
  right: 15px;
  bottom: -95px;
  width: 360px;
  height: 324px;
}
@media (max-width: 575.98px) {
  .section-pass {
    padding-bottom: 240px;
  }
  .section-pass__image {
    left: 50%;
    right: 0;
    bottom: -260px;
    transform: translate(-50%, 0);
    width: 240px;
    height: 216px;
  }
}
.section-about__logo {
  width: 120px;
  height: 110px;
  object-fit: contain;
  object-position: 50% 50%;
  margin-bottom: 32px;
}
.section-about__image__side {
  position: absolute;
  left: 0px;
  top: 90px;
  width: 320px;
  height: 294px;
  margin-left: -245px;
  background-image: url("../images/about-image-side.png?v=1.0.4");
  background-image: -webkit-image-set(
    url("../images/about-image-side@2x.png?v=1.0.4") 2x,
    url("../images/about-image-side@3x.png?v=1.0.4") 3x
  );
  background-image: image-set(
    url("../images/about-image-side@2x.png?v=1.0.4") 2x,
    url("../images/about-image-side@3x.png?v=1.0.4") 3x
  );
  background-size: 320px 294px;
  background-position: center center;
  background-repeat: no-repeat;
}
.section-about__image__bottom {
  position: absolute;
  right: 15px;
  bottom: -140px;
  width: 240px;
  height: 170px;
  background-image: url("../images/about-image-bottom.png?v=1.0.4");
  background-image: -webkit-image-set(
    url("../images/about-image-bottom@2x.png?v=1.0.4") 2x,
    url("../images/about-image-bottom@3x.png?v=1.0.4") 3x
  );
  background-image: image-set(
    url("../images/about-image-bottom@2x.png?v=1.0.4") 2x,
    url("../images/about-image-bottom@3x.png?v=1.0.4") 3x
  );
  background-size: 240px 170px;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (max-width: 575.98px) {
  .section-about {
    padding-bottom: 90px;
  }
  .section-about__image__side {
    display: none;
  }
  .section-about__image__bottom {
    right: 0px;
    bottom: -135px;
    width: 182px;
    height: 129px;
    background-size: 182px 129px;
    background-position: left 15px center;
  }
}
.section-ticket__image__left {
  position: absolute;
  left: 50%;
  top: 20px;
  transform: translate(-320%, 0);
  width: 125px;
  height: 166px;
  background-image: url("../images/ticket-image-left.png?v=1.0.4");
  background-size: 125px 166px;
  background-position: center center;
  background-repeat: no-repeat;
}
.section-ticket__image__right {
  position: absolute;
  left: 50%;
  top: 200px;
  transform: translate(20%, 0);
  width: 419px;
  height: 384px;
  background-image: url("../images/ticket-image-right.png?v=1.0.4");
  background-size: 419px 384px;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (max-width: 991.98px) {
  .section-ticket__image__left {
    display: none;
  }
  .section-ticket__image__right {
    display: none;
  }
}
.section-support__title {
  margin-bottom: 26px;
}
.section-support__logo {
  width: 100%;
  object-fit: contain;
  object-position: top center;
  margin: 6px 0px;
}
.section-support__media {
  object-fit: contain;
  object-position: top center;
  margin: 4px 8px;
}
.section-support__media--t-1 {
  width: 100px;
}
.section-support__media--t-2 {
  width: 70px;
}
.section-support__media--t-3 {
  width: 40px;
}

.footer-logo img {
  width: 72px;
  height: 66px;
  object-fit: contain;
  object-position: 50% 50%;
}
.footer-company img {
  width: 100px;
  height: 42px;
  object-fit: contain;
  object-position: 50% 50%;
}

.social-icon img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  object-position: 50% 50%;
}
.social-icon,
.social-icon:focus,
.social-icon:hover {
  color: var(--color-white);
}

.link,
.link:focus,
.link:hover {
  color: inherit;
  text-decoration: none;
}
.animate-link {
  text-decoration: none;
  display: inline-block;
}
.animate-link:after {
  content: "";
  display: block;
  height: 2px;
  width: 0;
  background-color: transparent;
  transition: width 0.5s ease, background-color 0.5s ease; /* .5 seonds for changes to the width and background-color */
  -webkit-transition: width 0.5s ease, background-color 0.5s ease; /* Chrome and Safari */
  -moz-transition: width 0.5s ease, background-color 0.5s ease; /* FireFox */
}
.animate-link:hover:after {
  width: 100%;
  background-color: var(--color-white);
}
