@font-face {
    font-family: 'HelveticaNeueMedium';
    src: url('../fonts/HelveticaNeueMedium/HelveticaNeueMedium.eot');
    src: url('../fonts/HelveticaNeueMedium/HelveticaNeueMedium.eot?#iefix') format('embedded-opentype'),
    url('../fonts/HelveticaNeueMedium/HelveticaNeueMedium.woff') format('woff'),
    url('../fonts/HelveticaNeueMedium/HelveticaNeueMedium.ttf') format('truetype'),
    url('../fonts/HelveticaNeueMedium/HelveticaNeueMedium.svg#Sri-TSCMedium') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'HelveticaNeueRegular';
    src: url('../fonts/HelveticaNeueRegular/HelveticaNeueRegular.eot');
    src: url('../fonts/HelveticaNeueRegular/HelveticaNeueRegular.eot?#iefix') format('embedded-opentype'),
    url('../fonts/HelveticaNeueRegular/HelveticaNeueRegular.woff') format('woff'),
    url('../fonts/HelveticaNeueRegular/HelveticaNeueRegular.ttf') format('truetype'),
    url('../fonts/HelveticaNeueRegular/HelveticaNeueRegular.svg#Sri-TSCRegular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'HelveticaNeueLight';
    src: url('../fonts/HelveticaNeueLight/HelveticaNeueLight.eot');
    src: url('../fonts/HelveticaNeueLight/HelveticaNeueLight.eot?#iefix') format('embedded-opentype'),
    url('../fonts/HelveticaNeueLight/HelveticaNeueLight.woff') format('woff'),
    url('../fonts/HelveticaNeueLight/HelveticaNeueLight.ttf') format('truetype'),
    url('../fonts/HelveticaNeueLight/HelveticaNeueLight.svg#Sri-TSCMedium') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'HelveticaNeueBold';
    src: url('../fonts/HelveticaNeueBold/HelveticaNeueBold.eot');
    src: url('../fonts/HelveticaNeueBold/HelveticaNeueBold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/HelveticaNeueBold/HelveticaNeueBold.woff') format('woff'),
    url('../fonts/HelveticaNeueBold/HelveticaNeueBold.ttf') format('truetype'),
    url('../fonts/HelveticaNeueBold/HelveticaNeueBold.svg#Sri-TSCMedium') format('svg');
    font-weight: normal;
    font-style: normal;
}

* {
    margin: 0;
    padding: 0;
    position: relative;
    font-family: 'HelveticaNeueMedium', sans-serif;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.container-fluid {
    overflow: hidden;
}

.expansion-delimiter {
    max-width: 1366px;
    margin: 0 auto;
}

.read-more-link {
    margin: 5px 0 20px 0;
    color: #0e96d7;
    display: none;
}

.read-more-link:after {
    content: url(../img/read-more-arrow.png);
    position: relative;
    top: -2px;
    left: 5px;
}

.plus {
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
}

.plus:before, .plus:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.plus:after {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
}

.ring, .circle, .plus:before, .plus:after, .navigation li:before, .app-integrations h2:before,
.learning-list li:before {
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
}

.row {
    padding: 0 79px;
}

.image-with-square:before {
    content: '';
    position: absolute;
    top: 7px;
    left: -7px;
    width: 12px;
    height: 12px;
    background-color: #2380bd;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.top-section {
    background: url('../img/palm-trees.jpg') center/cover;
}

h1, h2, h3 {
    font-weight: normal;
}

h1, .top-section p {
    text-align: center;
}

h1 {
    margin: 126px 0 26px 0;
    font: 47px/60px "HelveticaNeueLight";
    color: #fff;
    text-align: center;
}

h2 {
    font: 35px/60px "HelveticaNeueMedium";
    color: #0e96d7;
}

h3 {
    font: 23px/30px "HelveticaNeueBold";
    color: #363347;
}

.top-section p {
    font: 18px/30px "HelveticaNeueLight";
    color: #c6e6fb;
}

.top-section .date {
    width: 502px;
    margin: 45px auto;
    font: 21px/72px "HelveticaNeueMedium";
    color: #f5ea3f;
    text-transform: uppercase;
    border-top: 1px solid #6aa5d8;
    border-bottom: 1px solid #6aa5d8;
}

.top-section .save-seat-button {
    display: none;
    width: 233px;
    margin: 0 auto;
}

.portraits {
    width: 440px;
    margin: 0 auto;
}

.top-section .portrait {
    width: 50%;
    float: left;
    margin-bottom: -61px;
}

.portrait span {
    display: block;
    font: 21px/30px "HelveticaNeueLight";
    color: #fff;
    text-align: center;
}

.portrait img {
    display: block;
    margin: 0 auto;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border-radius: 100px;
    width: 131px;
    height: 131px;
    -webkit-box-shadow: 0 7px 18px 0 rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 7px 18px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 7px 18px 0 rgba(0, 0, 0, 0.1);
}

.background-shapes {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.background-shapes div {
    position: absolute;
}

.background-shapes .line {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background-color: #b8d3ec;
}

.background-shapes .line-1 {
    width: 79px;
    height: 2px;
    bottom: 27px;
    left: 21.15666178623719%;
    margin: -1px 0 0 -39px;
    opacity: 0.5;
}

.background-shapes .line-2 {
    width: 77px;
    height: 2px;
    top: 27px;
    left: 56.07613469985359%;
    margin: -1px 0 0 -38px;
    opacity: 0.5;
}

.background-shapes .line-3 {
    width: 69px;
    height: 2px;
    top: 15.584415584415584%;
    left: 1.7569546120058566%;
    margin: -1px 0 0 -34px;
    opacity: 0.8;
}

.background-shapes .line-4 {
    width: 57px;
    height: 2px;
    bottom: 20px;
    right: 20px;
    margin: 0 -28px -1px 0;
    opacity: 0.3;
}

.background-shapes .ring-1 {
    height: 40px;
    width: 40px;
    top: 78.4786641929499%;
    border: 7px solid #21b5ee;
    margin: -20px 0 0 -20px;
    left: 4.685212298682284%;
}

.background-shapes .ring-2 {
    width: 40px;
    height: 40px;
    top: 18.923933209647494%;
    left: 91.06881405563689%;
    margin: -20px 0 0 -20px;
    border: 7px solid #21b5ee;
    opacity: 0.32;
}

.background-shapes .circle {
    width: 10px;
    height: 10px;
    top: 9.461966604823747%;
    left: 29.575402635431917%;
    margin: -5px 0 0 -5px;
    background-color: #fff;
}

.background-shapes .plus-1 {
    width: 17px;
    height: 3px;
    top: 21.521335807050093%;
    left: 17.86237188872621%;
    margin: -1px 0 0 -8px;
    background-color: #fff;
    opacity: 0.2;
}

.background-shapes .plus-2 {
    width: 22px;
    height: 4px;
    top: 58.62708719851577%;
    left: 92.09370424597364%;
    margin: -2px 0 0 -11px;
    background-color: #fff;
    opacity: 0.5;
}

.background-shapes .plus:before, .background-shapes .plus:after {
    background: #fff;
}

.admission-form-section {
    margin-top: 108px;
}

.admission-form-container .name-block .input-container {
    width: 100%;
    padding: 0;
}

.admission-form-container form {
    margin-top: 3px;
}

.admission-form-container form {
    width: 330px;
}

.admission-form-container label, .admission-form-container input {
    display: block;
}

.admission-form-container label {
    font: 11px/11px "HelveticaNeueRegular";
    color: #52505d;
    text-transform: uppercase;
    margin: 22px 0 9px 0;
}

.admission-form-container input,
.admission-form-container button,
.save-seat-button {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}

.admission-form-container input {
    font: 15px/40px "HelveticaNeueRegular";
    color: #74829c;
    height: 40px;
    width: 100%;
    padding: 0 10px;
    background-color: #fafafa;
    border: 1px solid #dedede;
    -webkit-transition: box-shadow 300ms;
    -moz-transition: box-shadow 300ms;
    -ms-transition: box-shadow 300ms;
    -o-transition: box-shadow 300ms;
    transition: box-shadow 300ms;
    outline: none;
}

.admission-form-container input:focus {
    -webkit-box-shadow: 0 7px 18px 0 rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 7px 18px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 7px 18px 0 rgba(0, 0, 0, 0.1);
}

.admission-form-container .correct input {
    border-color: #3bd784;
}

.admission-form-container .correct:before {
    content: url('../img/checkmark.png');
    display: block;
    position: absolute;
    top: 13px;
    right: 13px;
    z-index: 1;
}

.admission-form-container .error-message {
    font: 12px/12px "HelveticaNeueRegular";
    color: #ee4148;
    position: absolute;
    left: 0;
    bottom: -19px;
    display: none;
}

.admission-form-container .wrong input {
    border-color: #ee4148;
}

.admission-form-container .wrong:before {
    content: url('../img/warning.png');
    display: block;
    position: absolute;
    top: 10px;
    right: 14px;
    z-index: 1;
}

.admission-form-container .wrong .error-message {
    display: block;
}

.name-block div {
    width: 50%;
    float: left;
}

.name-block div:nth-child(1) {
    padding-right: 10px;
}

.name-block div:nth-child(2) {
    padding-left: 10px;
}

.admission-form-container button,
.save-seat-button {
    width: 100%;
    margin-top: 30px;
    font: 11px/40px "HelveticaNeueBold";
    color: #dfffee;
    text-transform: uppercase;
    background-color: #3bd784;
    -webkit-box-shadow: 0 7px 21px 0 rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 7px 21px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 7px 21px 0 rgba(0, 0, 0, 0.15);
    -webkit-transition: background-color 300ms;
    -moz-transition: background-color 300ms;
    -ms-transition: background-color 300ms;
    -o-transition: background-color 300ms;
    transition: background-color 300ms;
    border: none;
}

.admission-form-container button:hover {
    background-color: #36c779;
}

.learning-list {
    padding: 0;
}

.learning-list li {
    font: 19px/40px "HelveticaNeueRegular";
    margin: 10px 0 20px 0;
    color: #74829c;
    list-style: none;
}

.learning-list li:before {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    top: 16px;
    left: -31px;
    border: 3px solid #f7a723;
    -webkit-box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
}

.admission-form-section .hexagon {
    position: absolute;
    top: -48px;
    left: 16.105417277%;
    margin-left: -11px;
}

.admission-form-section .circle {
    width: 9px;
    height: 9px;
    position: absolute;
    top: -35px;
    left: 90.19033675%;
    margin-left: -5px;
    background-color: #5ee1c7;
}

.speakers-section {
    overflow: visible;
}

.speakers-section:before {
    content: "";
    width: 200%;
    height: 700px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -100%;
    margin-top: -350px;
    background-color: #d1f1f8;
    -webkit-transform: skewY(-16.68deg);
    -moz-transform: skewY(-16.68deg);
    -ms-transform: skewY(-16.68deg);
    -o-transform: skewY(-16.68deg);
    transform: skewY(-16.68deg);
    opacity: 0.2;
    z-index: -1;
}

.speakers-section h2,
.video h2 {
    text-align: center;
    margin: 56px 0 11px 0;
}

.video .wistia_embed {
    margin: 0 auto;
    max-width: 640px;
    height: 360px;
}

.speakers-section h3 {
    margin: 10px 0 18px 0;
}

.speakers-section .portrait img {
    max-width: 150px;
    height: auto;
    width: 100%;
    margin: 0;
}

.speaker .specialty, .speaker .info {
    color: #9ba3b1;
}

.speaker .specialty {
    font: 14px/21px "HelveticaNeueLight";
}

.speaker .info {
    font: 17px/35px "HelveticaNeueRegular";
    margin: 11px 0 77px 0;
}

.speaker .collapsed-info {
    display: none;
}

.speaker .info a {
    color: #7fc0f2;
    text-decoration: none;
}

.speaker .social-networks {
    position: absolute;
    top: 7px;
    right: 11px;
    height: 24px;
}

.speaker .social-networks a {
    display: block;
    float: left;
    margin-left: 10px;
}

.speaker .hexagon {
    position: absolute;
    bottom: 27px;
    left: 70.571010249%;
    margin-left: -12px;
}

.footer {
    margin-top: 235px;
    height: 107px;
}

.footer p {
    margin-top: 29px;
    font: 15px/30px "HelveticaNeueRegular";
    text-align: center;
    color: #d6d6d6;
}

.footer .ring {
    width: 30px;
    height: 30px;
    position: absolute;
    left: 14.787701318%;
    margin-left: -15px;
    top: -33px;
    border: 6px solid #5bb2ea;
    opacity: 0.72;
}

@media screen and (max-width: 1280px) {
    .row {
        padding: 0 20px;
    }
}

@media screen and (max-width: 1057px) {
    h2 {
        font: 30px/50px "HelveticaNeueBold";
    }

    .admission-form-container h2 {
        text-align: center;
    }

    .learning-list ul {
        margin-top: 40px;
    }

    .learning-list li {
        font: 16px/30px "HelveticaNeueRegular";
        margin-bottom: 18px;
    }

    .learning-list li:before {
        top: 10px;
    }

    .admission-form-container form {
        width: 280px;
        margin: 0 auto;
    }

    .admission-form-container .name-block div {
        width: 100%;
        padding: 0;
    }
}

@media screen and (max-width: 768px) {
    .row {
        padding: 0 9px;
    }

    h2, h3 {
        text-align: center;
    }

    h3 {
        font: 18px/30px "HelveticaNeueBold";
    }

    .speakers-section .portrait img {
        margin: 0 auto;
    }

    .speakers-section .hexagon, .admission-form-section .hexagon,
    .admission-form-section .circle, .image-with-square:before, .background-shapes,
    .footer .ring {
        display: none;
    }

    .admission-form-section {
        margin-top: 99px;
    }

    .admission-form-container {
        padding: 0;
    }

    .learning-list h2 {
        margin-top: 47px;
    }

    .admission-form-section ul {
        padding-left: 28px;
    }

    .learning-list li:before {
        left: -29px;
    }

    .speakers-section h2 {
        margin-top: 31px;
    }

    .speakers-section h3 {
        margin: 20px 0 14px 0;
    }

    .speaker .social-networks {
        position: relative;
        top: auto;
        right: auto;
        padding-right: 10px;
        width: 112px;
        margin: 30px auto 60px auto;
    }

    .speaker .info {
        font: 15px/30px "HelveticaNeueRegular";
        margin-bottom: 0;
    }

    .footer {
        margin-top: -12px;
        height: 80px;
    }

    .footer p {
        margin-top: 0;
    }
}

@media screen and (max-width: 510px) {
    .read-more-link {
        display: block;
    }

    .speaker .social-networks {
        margin: 0 auto 60px auto;
    }

    h1 {
        font: 21px/26px "HelveticaNeueLight";
        margin: 72px 0 15px 0;
    }

    .top-section p {
        font: 14px/30px "HelveticaNeueLight"
    }

    .top-section .date {
        font: 17px/28px "HelveticaNeueMedium";
        width: 280px;
        padding: 16px 0;
        margin: 16px auto 30px auto;
    }
    .top-section .save-seat-button {
        margin-bottom: 30px;
    }

    .top-section .portraits {
        width: 100%;
        margin-bottom: -61px;
    }

    .top-section .portrait {
        width: 100%;
        float: none;
    }

    .top-section .portrait {
        margin: 16px auto 0 auto;
    }

    .top-section .portrait span {
        font: 23px/30px "HelveticaNeueLight";
        margin-bottom: 6px;
    }

    .video .wistia_embed {
        height: 230px;
    }

    .top-section .save-seat-button {
        display: block;
        margin-bottom: 30px;
    }

    .video .wistia_embed {
        height: 300px;
    }

    .speaker .info {
        display: none;
    }

    .speaker .collapsed-info {
        display: block;
    }
}

@media screen and (max-width: 400px) {

    .speaker .info {
        display: none;
    }

    .speaker .collapsed-info {
        display: block;
    }
}




