/**
 @author Oleg Krasnov (krasnov@artlebedev.ru)
 @created 2019.01.28
 @copyright Art. Lebedev Studio (http://www.artlebedev.ru/)

 This source code follows Formatting section of Google CSS Style Guide
 https://google.github.io/styleguide/htmlcssguide.html#CSS_Formatting_Rules
 */
/**
 @author Oleg Krasnov (krasnov@artlebedev.ru)
 @created 2019.01.28
 @copyright Art. Lebedev Studio (http://www.artlebedev.ru/)

 This source code follows Formatting section of Google CSS Style Guide
 https://google.github.io/styleguide/htmlcssguide.html#CSS_Formatting_Rules
 */
@font-face {
  font-family: 'Stem';
  src: url("Stem-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Stem';
  src: url("Stem-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Stem';
  src: url("Stem-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal; }

/*
  @author Alexander Samilyak (aleksam241@gmail.com)
  @created 2013.03.25
  @copyright Art. Lebedev Studio (www.artlebedev.ru)

  This source code follows Formatting section of Google CSS Style Guide
  https://google.github.io/styleguide/htmlcssguide.html#CSS_Formatting_Rules
*/
/**
  @param {string} value
  @param {boolean=} important
  @return {string}
*/
/**
  Clearfix in float based layouts
*/
/**
  @param {color} hexOrName
  @param {boolean=} important
*/
/**
  Pure css triangle
*/
div,
p {
  font-size: 18px; }

*,
h1,
h2,
h3,
h4 {
  font-family: 'Stem', Arial, sans-serif; }

h2 {
  font-size: 26px; }

h3 {
  font-size: 21px; }

h4 {
  font-size: 18px; }

#layout {
  -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
     -moz-box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
  margin: 0 auto;
  overflow: hidden;
  padding: 0; }

section.main {
  background-color: #77787b;
  color: #fff;
  padding: 40px;
  position: relative; }
  section.main .logo {
    position: relative;
    min-height: 220px;
    z-index: 1; }
    section.main .logo a {
      color: #fff; }
    section.main .logo span {
      font-size: 56px; }
  section.main .titles {
    position: relative;
    width: 65%;
    z-index: 1; }
    section.main .titles h1 {
      font-size: 64px;
      font-weight: 500;
      margin: 0 0 15px 0; }
    section.main .titles h2 {
      font-size: 36px; }
  section.main .yellow-line {
    background-color: #faa619;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 125px; }

section.course {
  background: #fff;
  -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
     -moz-box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
  margin: 40px;
  padding: 30px 20px 35px; }
  section.course:after {
    content: '';
    display: table;
    clear: both; }
  section.course > div {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    position: relative;
    width: 50%; }
    section.course > div.details {
      padding-right: 20px;
      min-height: 2px; }
    section.course > div.program {
      padding-left: 20px; }
    section.course > div .holder {
      position: fixed; }
      section.course > div .holder.stopped {
        position: relative; }
  section.course h3 {
    font-size: 28px;
    font-weight: 500;
    line-height: 33px;
    margin-bottom: 35px;
    margin-top: 20px; }
  section.course h4 {
    font-size: 21px;
    font-weight: 600;
    line-height: 26px;
    margin-top: 20px; }
  section.course ul li {
    margin-bottom: 20px; }
    section.course ul li p {
      margin-bottom: 0.5em; }
  section.course strong {
    display: block;
    margin-bottom: 5px; }
  section.course .download {
    margin-top: -5px; }
    section.course .download i {
      color: rgba(0, 0, 0, 0.4); }
    section.course .download span {
      background: #0281bb;
      padding: 2px 10px; }
      section.course .download span:hover {
        background: #00a0e8; }
      section.course .download span a {
        color: #fff; }
  section.course .registration {
    font-size: 16px; }
    section.course .registration i {
      color: rgba(0, 0, 0, 0.4); }

section.description {
  margin: 70px 40px;
  position: relative; }
  section.description:after {
    content: '';
    display: table;
    clear: both; }
  section.description > div {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    width: 50%; }
    section.description > div h3,
    section.description > div h4 {
      line-height: 25px;
      margin-bottom: 0; }
    section.description > div:nth-child(1) {
      padding: 40px 20px 40px 40px; }
    section.description > div:nth-child(2) {
      padding: 40px 0 40px 20px; }
  section.description .yellow-line {
    background-color: #faa619;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 85px;
    z-index: -1; }

section.footer {
  margin: 0 40px;
  padding: 80px 0 60px; }
  section.footer ul.menu {
    padding-right: 100px;
    position: relative; }
    section.footer ul.menu:after {
      content: '';
      display: table;
      clear: both; }
    section.footer ul.menu li {
      float: left;
      margin-bottom: 10px;
      margin-right: 30px; }
      section.footer ul.menu li a {
        color: #000;
        border: none; }
        section.footer ul.menu li a:hover {
          border-bottom-style: solid;
          border-bottom-width: 1px; }
      section.footer ul.menu li.als {
        margin-right: 0;
        position: absolute;
        right: 0; }
        section.footer ul.menu li.als a {
          border: none; }

section.course_description {
  margin: 70px 40px;
  position: relative; }
  section.course_description:after {
    content: '';
    display: table;
    clear: both; }
  section.course_description h2 {
    max-width: 60%; }
  section.course_description .item {
    margin-bottom: 55px;
    position: relative; }
    section.course_description .item svg {
      max-height: 270px;
      max-width: 482px;
      width: 100%; }
      section.course_description .item svg:last-child {
        margin-bottom: 0; }
      section.course_description .item svg .svg_text tspan {
        font-size: 3rem;
        font-weight: 500;
        fill: #fff;
        -webkit-transition: 0.1s;
        -o-transition: 0.1s;
        -moz-transition: 0.1s;
        transition: 0.1s; }
    section.course_description .item .svg_description {
      left: 60%;
      opacity: 0;
      position: absolute;
      top: 10px;
      width: 40%; }
      section.course_description .item .svg_description h3 {
        max-width: 548px; }
      section.course_description .item .svg_description ul {
        font-size: inherit;
        list-style-type: square;
        margin-left: 30px; }
        section.course_description .item .svg_description ul li {
          font-size: inherit;
          line-height: 1.2;
          margin-bottom: 10px; }
    section.course_description .item.active svg .svg_text tspan {
      fill: #000; }
    section.course_description .item.active > div {
      opacity: 1;
      -webkit-transition: opacity 0.6s;
      -o-transition: opacity 0.6s;
      -moz-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    section.course_description .item .fixed {
      -webkit-box-sizing: border-box;
         -moz-box-sizing: border-box;
              box-sizing: border-box;
      padding-right: 30px;
      position: fixed;
      top: 100px;
      width: inherit; }

.circle {
  background: #faa619;
  -webkit-border-radius: 100%;
     -moz-border-radius: 100%;
          border-radius: 100%;
  display: block;
  height: 1600px;
  left: -webkit-calc(50% - 300px);
  left: -moz-calc(50% - 300px);
  left: calc(50% - 300px);
  position: absolute;
  top: 98%;
  -webkit-transform: translate(-50%, -50%);
     -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
       -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 1600px;
  z-index: -1; }

.button,
button {
  background: #0281bb;
  -webkit-border-radius: 0;
     -moz-border-radius: 0;
          border-radius: 0;
  border: none;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  margin-top: 35px;
  padding: 20px 35px; }
  .button:hover,
  button:hover {
    background: #00a0e8; }
  .button.disabled,
  button.disabled {
    background: #ccc;
    cursor: auto; }

section img {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 100%; }

@media (max-width: 980px) {
  section.main .logo {
    min-height: 200px; }
  section.course_description .item svg {
    max-width: 430px; }
  section.course_description .item > div {
    font-size: 21px;
    font-weight: 400;
    top: 28px; } }

@media (max-width: 760px) {
  section.main {
    padding: 20px; }
    section.main .logo {
      min-height: 150px; }
    section.main .titles h1 {
      font-size: 48px; }
    section.main .titles h2 {
      font-size: 28px; }
    section.main .yellow-line {
      width: 80px; }
  section.course_description {
    margin: 20px; }
    section.course_description h2 {
      max-width: 100%; }
    section.course_description .item svg .svg_text tspan {
      fill: #000; }
    section.course_description .item .svg_description {
      color: #fff;
      opacity: 0.4;
      position: static;
      width: 100%; }
      section.course_description .item .svg_description h3 {
        position: static; }
    section.course_description .item.active .svg_description h3 {
      color: #000;
      -webkit-transition: 0.1s;
      -o-transition: 0.1s;
      -moz-transition: 0.1s;
      transition: 0.1s; }
  section.course {
    margin: 20px; }
    section.course > div {
      float: none;
      width: 100%; }
      section.course > div.details {
        padding-right: 0; }
        section.course > div.details .holder {
          position: static; }
      section.course > div.program {
        margin-top: 50px;
        padding-left: 0; }
  section.description {
    margin: 70px 20px; }
    section.description > div:nth-child(1), section.description > div:nth-child(2) {
      float: none;
      padding: 40px 20px 40px 20px;
      width: 100%; }
  section.footer {
    margin: 0 20px; } }

@media (max-width: 425px) {
  section.main {
    padding: 40px 20px; }
    section.main .titles h1 {
      font-size: 42px; }
    section.main .yellow-line {
      width: 30px; }
  section.course h3 {
    font-size: 22px;
    line-height: 28px; } }

@media (max-width: 375px) {
  section.course {
    margin: 20px 10px; }
  section.description .item.active > div {
    -webkit-transition: 0s;
    -o-transition: 0s;
    -moz-transition: 0s;
    transition: 0s; }
  section.footer {
    margin: 0 10px; } }
