html, body {
  height: 100%;
}

body {
  font: 400 15px/1.6 'Roboto', Helvetica, Arial, sans-serif;
  color: #333;
}

a {
  color: #30d8a4;
}

a:hover,
a:focus {
  color: #30d8a4;
  text-decoration: underline;
}

/* START HELPERS */
.vertical-center {
  display: table-cell;
  height: 100%;
  vertical-align: middle;
}

.no-margin {
  margin: 0 !important;
}

.no-padding {
  padding: 0 !important;
}

.spacer {
  clear: both;
  height: 20px;
}

.divider {
  margin: 0 8px;
  opacity: 0.5;
}
/* END HELPERS */

/* START LANDING PAGE */
.landing-page {
  background: url(/assets/img/head-bg.jpg) no-repeat center/cover;
  display: table;
  height: 100%;
  width: 100%;
}

.landing-page .panel {
  margin: 0 auto;
  width: 320px;
}

.landing-page .panel .panel-body {
  padding: 20px;
}

.landing-page .panel img {
  width: 60%;
}
/* END LANDING PAGE */

/* START NAVBAR */
.navbar {
  border: none;
  box-shadow: none;
  margin: 0;
  padding: 10px 0;
  transition: all 0.3s;
}

.navbar .navbar-collapse {
  border: none;
}

.navbar .navbar-brand {
  padding: 5px 0 5px 15px;
}

.navbar .navbar-brand img {
  height: 40px;
}

.navbar .navbar-nav {
  margin-bottom: 0;
  margin-top: 0;
}

.navbar-inverse {
  background: transparent;
}

.navbar-inverse:before {
  content: '';
  display: block;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.3s;
  width: 100%;
  z-index: -1;
}

.navbar-inverse.bg {
  background: #30d8a4;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}

.navbar-inverse.bg:before {
  background-image: linear-gradient(to right, #30d8a4, #45dcad, #30d8a4);
  opacity: 1;
}

.navbar-inverse .navbar-brand {
  color: #fff;
}

.navbar-inverse .navbar-nav > li > a {
  color: #fff;
}

.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
    background: none;
}

.navbar-inverse .navbar-toggle {
  border-color: #fff;
}

.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background: transparent;
}

.navbar-right .dropdown-menu {
    right: auto;
}
/* END NAVBAR */

/* START BOOTSTRAP */
.btn,
.form-control {
  border-width: 2px;
  box-shadow: none;
  position: relative;
  transition: all 0.3s;
}

.btn {
  z-index: 1;
}

.btn:before {
  content: '';
  display: block;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.3s;
  width: 100%;
  z-index: -1;
}

.btn:hover:before,
.btn:focus:before {
  opacity: 1;
}

.btn-green {
  background: #30d8a4;
  border-color: #30d8a4;
  color: #fff;
}

.btn-green:hover,
.btn-green:focus {
  color: #fff;
}

.btn-green:before {
  background-image: linear-gradient(transparent, #2bc293);
}

.btn-green-outlined {
  background: transparent;
  border-color: #30d8a4;
  color: #30d8a4;
}

.btn-green-outlined:hover,
.btn-green-outlined:focus {
  background: #30d8a4;
  color: #fff;
}

.btn-red {
  background: #f66;
  border-color: #f66;
  color: #fff;
}

.btn-red:hover,
.btn-red:focus {
  color: #fff;
}

.btn-red:before {
  background-image: linear-gradient(transparent, #e55c5c);
}

.btn-red-outlined {
  background: transparent;
  border-color: #f66;
  color: #f66;
}

.btn-red-outlined:hover,
.btn-red-outlined:focus {
  background: #f66;
  color: #fff;
}

.btn-white {
  background: #fff;
  border-color: #fff;
  color: #30d8a4;
}

.btn-white-outlined {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

.btn-white-outlined:hover,
.btn-white-outlined:focus {
  background: #fff;
  color: #30d8a4;
}

.form-control {
  -webkit-appearance: none;
}

.form-control,
select.form-control,
.checkbox label {
  line-height: 1.3;
}

.form-control:focus {
  border-color: #30d8a4;
  box-shadow: none !important;
}

.input-group-btn {
    vertical-align: top;
}

.pager li > a,
.pager li > span {
  border-width: 2px;
  color: #bbb;
  transition: all 0.3s;
}
/* END BOOTSTRAP */

/* START BASE */
.section {
  padding: 80px 0;
}

.section.head {
  background: url(/assets/img/head-bg.jpg) no-repeat center/cover;
  color: #fff;
  padding: 150px 0 80px;
  text-align: center;
}

.section.head h1 {
  font-size: 40px;
}

.section.green {
  background: #30d8a4;
  background-image: linear-gradient(to right, #30d8a4, #45dcad, #30d8a4);
  color: #fff;
}

.section.green a:not(.btn) {
    color: #fff;
}

.section.black {
  background: #333;
  background-image: linear-gradient(to right, #333, #484848, #333);
  color: #fff;
}

.section h2,
.section h3 {
  text-align: center;
}

.section h2 {
  font-size: 30px;
  margin: 0 0 30px;
  position: relative;
  text-transform: uppercase;
}

.section h2:after {
  background: #000;
  content: '';
  display: block;
  height: 1px;
  left: 50%;
  margin: 12px 0 0 -25px;
  opacity: 0.3;
  position: absolute;
  width: 50px;
}

.section.green h2:after,
.section.black h2:after {
  background: #fff;
}

.section h3 {
  font-size: 20px;
  margin: 30px 0;
}
/* END BASE */

/* START INTRO */
.intro {
  align-items: center;
  background: url(/assets/img/head-bg.jpg) no-repeat center/cover;
  color: #fff;
  display: flex;
  min-height: 60%;
  padding: 170px 0 100px;
  text-align: center;
}

.intro h1 {
  font-size: 50px;
  margin: 0;
}

.intro h2 {
  font-size: 40px;
  margin: 30px 0;
}

.intro .btn {
  font-size: 24px;
  padding: 20px 40px;
  text-transform: uppercase;
}
/* END INTRO */

/* START WHY */
.why .boxes {
  margin-bottom: 20px;
}

.why .boxes .box {
  margin: 20px 0;
}

.why .boxes .box .icon {
  border: 3px #fff solid;
  border-radius: 50%;
  display: block;
  float: left;
  font-size: 28px;
  height: 60px;
  line-height: 55px;
  margin: 10px 20px 50px 0;
  margin-left: 0;
  text-align: center;
  width: 60px;
}
/* END WHY */

/* START COURSES */
.courses .cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.courses .course-card {
  display: flex;
  flex-direction: column;
  margin: 20px 0;
  text-align: center;
}

.courses .course-card a.image {
  background: #333;
  border-radius: 3px 3px 0 0;
  position: relative;
}

.courses .course-card.sold-out a.image:before {
  color: #f66;
  content: 'Esgotado';
  display: table-cell;
  font-size: 40px;
  font-weight: 700;
  line-height: 40px;
  position: absolute;
  text-align: center;
  text-transform: uppercase;
  top: 90px;
  width: 100%;
  z-index: 1;
}

.courses .course-card a.image img {
  border-radius: 3px 3px 0 0;
}

.courses .course-card.sold-out a.image img {
  filter: grayscale(100%);
  opacity: 0.5;
  position: relative;
}

.courses .course-card .content {
  border: 1px #e0e0e0 solid;
  border-radius: 0 0 3px 3px;
  border-top: none;
  display: flex;
  flex: 1;
  flex-direction: column;
}

.courses .course-card .content h4 {
  background: #30d8a4;
  margin: 0;
  text-transform: uppercase;
}

.courses .course-card .content h4 a {
  color: #fff;
  display: block;
  padding: 15px;
  text-decoration: none;
}

.courses .course-card .content .details {
  background: #e0e0e0;
  color: #777;
  font-size: 15px;
  line-height: 20px;
  margin: 0;
  padding: 15px 0;
}

.courses .course-card .content .text {
  display: flex;
  flex: 1;
  flex-direction: column;
  font-size: 16px;
  justify-content: space-between;
  padding: 15px;
}

.courses .course-card .content .text .summary {
  flex-grow: 1;
}

.courses .course-card .content .text .price {
  color: #999;
  font-size: 20px;
}

.courses .button {
  margin-top: 20px;
  text-align: center;
}

.course .description h3 {
    margin: 20px 0 10px;
    text-align: left;
}

.course .description h4 {
    margin: 15px 0 10px;
}

.course form .checkbox {
  margin-bottom: 25px;
}

.course form .company-data {
  display: none;
}

.course .sidebar {
  border-left: 1px #eee solid;
}

.course .sidebar .instructor img {
  height: 120px;
  width: 120px;
}

.course .sidebar .instructor h5 {
  font-weight: 700;
}

.invoice .countdown {
  border: 3px #1dd7b2 solid;
  color: #1dd7b2;
  display: inline-block;
  font-size: 40px;
  margin: 30px 0 50px;
  padding: 5px 15px;
}

.invoice table thead th {
  border-bottom: none;
  text-align: center;
}
/* END COURSES */

/* START TESTIMONIALS */
.testimonials .carousel .carousel-caption {
  font-size: 16px;
  padding: 20px 0;
  position: static;
  text-shadow: none;
}

.testimonials .carousel .carousel-caption img {
  border: 3px #fff solid;
  width: 115px;
}

.testimonials .carousel .carousel-indicators {
  bottom: -20px;
}
/* END TESTIMONIALS */

/* START PARTNERS */
.partners .boxes {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 30px;
  text-align: center;
}

.partners .boxes img {
  max-width: 100%;
}
/* END PARTNERS */

/* START NEWSLETTER */
.newsletter form {
  margin: 0 auto;
  max-width: 400px;
}
/* END NEWSLETTER */

/* START BLOG */
.blog-text {
  font-size: 18px;
}

.blog-text p {
  margin: 0px 0px 30px 0px;
}

.blog-text h3 {
  font-size: 26px;
  margin-bottom: 10px;
}

.blog .post {
  border-bottom: 1px #eee solid;
  margin-bottom: 30px;
  padding-bottom: 30px;
}

.blog .post:last-child {
  border: none;
  margin: 0;
  padding: 0;
}

.blog .post .details {
  border: 1px #eee solid;
  border-left: none;
  border-right: none;
  color: #999;
  margin: 10px 0;
  padding: 10px 0;
}

.blog .post h2 {
  margin-bottom: 10px;
  text-align: left;
}

.blog .post h2:after {
  display: none;
}

.blog .post .label-green {
  background: #30d8a4;
}

.blog .post .share-bar {
  margin: 10px 0;
}

.blog h3 {
  text-align: left;
}

.blog .cards {
  justify-content: flex-start;
}

.blog .sidebar {
  border-left: 1px #eee solid;
  color: #777;
}
/* END BLOG */

/* START ABOUT US */
.about-us .team {
  text-align: center;
}

.about-us .team .box {
  margin: 15px 0;
}

.about-us .team img {
  width: 60%;
}

.about-us .team .btn {
  width: 60px;
}
/* END ABOUT US */

/* START CAREERS */
.careers .box {
  margin-bottom: 20px;
  margin-top: 20px;
}

.careers .box h3 {
  margin: 0 0 10px;
  text-align: left;
}
/* END CAREERS */

/* START FOOTER */
.footer {
  background: #333;
  color: #fff;
  padding: 30px 0;
}
/* END FOOTER */

/* START EXIT POPUP */
.exit-popup .modal-dialog {
  max-width: 450px;
}

.exit-popup h3 {
  margin: 10px 0;
}
/* END EXIT POPUP */

/* START COOKIE NOTICE */
.cookie-notice {
  background: #222;
  bottom: 0;
  margin: 10px;
  padding: 20px;
  position: fixed;
  right: 0;
  z-index: 9999;
}

.cookie-notice .text {
  color: #fff;
}
/* END COOKIE NOTICE */

@media (max-width: 767px) {
  /* START BOOTSTRAP */
  .form-control,
  .checkbox label {
    line-height: 1.6;
  }
  /* END BOOSTRAP */

  /* START LANDING PAGE */
  .landing-page {
    padding: 15px;
  }

  .landing-page .panel {
    max-width: 320px;
    width: 100%;
  }
  /* END LANDING PAGE */

  /* START NAVBAR */
  .navbar .navbar-collapse {
    margin-bottom: -10px;
    margin-top: 10px;
  }

  .navbar .navbar-nav > li > a {
    padding-bottom: 15px;
    padding-top: 15px;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #fff;
  }
  /* END NAVBAR */

  /* START BASE */
  .section {
    padding: 40px 0;
  }

  .section.head {
    padding: 110px 0 40px;
  }

  .section.head h1 {
    font-size: 30px;
  }

  .section h2 {
    font-size: 24px;
  }

  .section h3 {
    font-size: 20px;
  }
  /* END BASE */

  /* START INTRO */
  .intro {
    padding: 120px 0 50px;
  }

  .intro h1 {
    font-size: 30px;
  }

  .intro h2 {
    font-size: 20px;
  }

  .intro .btn {
    font-size: 18px;
    padding: 10px 20px;
  }
  /* END INTRO */

  /* START WHY */
  .why .boxes .box .icon {
    float: none;
    margin: 0 0 20px;
  }
  /* END WHY */

  /* START COURSES */
  .course form .checkbox {
    margin-bottom: 15px;
  }

  .course .sidebar {
    border: none;
  }
  /* END COURSES */

  /* START BLOG */
  .blog .sidebar {
    border: none;
  }

  .blog-text h3 {
      font-size: 26px;
      margin-bottom: 10px;
  }
  /* END BLOG */
}
