.page-template-template-landing-page .wrapper:after,
.page-template-template-landing-page .clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0; }

.page-template-template-landing-page .inner-hero .phone-number {
  color: #fff;
  font-size: 56px;
  padding-top: 20px;
  display: inline-block; }
  @media all and (max-width: 1200px) {
    .page-template-template-landing-page .inner-hero .phone-number {
      font-size: 50px; } }
  @media all and (max-width: 960px) {
    .page-template-template-landing-page .inner-hero .phone-number {
      font-size: 44px; } }
  @media all and (max-width: 767px) {
    .page-template-template-landing-page .inner-hero .phone-number {
      font-size: 38px; } }
  @media all and (max-width: 500px) {
    .page-template-template-landing-page .inner-hero .phone-number {
      font-size: 32px; } }

.page-template-template-landing-page .hero {
  height: 560px; }

.page-template-template-landing-page .ocean-top-paragraph {
  text-align: center;
  padding: 5em 0;
  margin: 0; }
  @media all and (max-width: 1200px) {
    .page-template-template-landing-page .ocean-top-paragraph {
      padding: 4em 0; } }
  @media all and (max-width: 960px) {
    .page-template-template-landing-page .ocean-top-paragraph {
      padding: 3em 0; } }
  @media all and (max-width: 767px) {
    .page-template-template-landing-page .ocean-top-paragraph {
      padding: 2em 0; } }
  @media all and (max-width: 500px) {
    .page-template-template-landing-page .ocean-top-paragraph {
      padding: 1em 0; } }
  .page-template-template-landing-page .ocean-top-paragraph:first-of-type {
    background: #f6f6f6; }
  .page-template-template-landing-page .ocean-top-paragraph .wrapper {
    max-width: 920px; }
  .page-template-template-landing-page .ocean-top-paragraph .cta {
    width: 260px;
    margin: 0 20px;
    vertical-align: top;
    position: relative;
    height: 85px; }
    @media all and (max-width: 980px) {
      .page-template-template-landing-page .ocean-top-paragraph .cta {
        width: 100%;
        margin: 0 auto 20px;
        padding: 20px;
        height: auto; } }
    @media all and (max-width: 980px) {
      .page-template-template-landing-page .ocean-top-paragraph .cta:last-of-type {
        margin-bottom: 0; } }
    .page-template-template-landing-page .ocean-top-paragraph .cta span {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 50%;
      transform: translateY(-50%); }
      @media all and (max-width: 980px) {
        .page-template-template-landing-page .ocean-top-paragraph .cta span {
          position: static;
          transform: none; } }
    .page-template-template-landing-page .ocean-top-paragraph .cta.teacher {
      width: auto;
      line-height: 1;
      height: auto; }
  .page-template-template-landing-page .ocean-top-paragraph h2 {
    max-width: none;
    color: #00d0f6; }
  @media all and (max-width: 1200px) {
    .page-template-template-landing-page .ocean-top-paragraph p {
      font-size: 20px; } }
  @media all and (max-width: 980px) {
    .page-template-template-landing-page .ocean-top-paragraph p {
      font-size: 18px; } }
  @media all and (max-width: 767px) {
    .page-template-template-landing-page .ocean-top-paragraph p {
      font-size: 16px; } }

.page-template-template-landing-page .ocean-services.services-list {
  background-size: auto 100% !important; }
  @media all and (max-width: 980px) {
    .page-template-template-landing-page .ocean-services.services-list {
      background-image: none !important; } }

.page-template-template-landing-page .ocean-services .services {
  max-width: 730px; }
  @media all and (max-width: 980px) {
    .page-template-template-landing-page .ocean-services .services {
      max-width: 100%; } }
  .page-template-template-landing-page .ocean-services .services .service {
    width: 50%;
    float: left;
    box-sizing: border-box;
    padding-right: 25px;
    margin-bottom: 20px; }
    @media all and (max-width: 980px) {
      .page-template-template-landing-page .ocean-services .services .service {
        width: 33.3333%;
        text-align: center;
        padding-right: 0; } }
    @media all and (max-width: 720px) {
      .page-template-template-landing-page .ocean-services .services .service {
        width: 50%;
        margin-bottom: 20px; } }
    .page-template-template-landing-page .ocean-services .services .service .image {
      float: left;
      border-radius: 250px;
      background-size: cover !important;
      margin: 0 20px 20px 0;
      width: 120px;
      height: 120px; }
      @media all and (max-width: 980px) {
        .page-template-template-landing-page .ocean-services .services .service .image {
          float: none;
          display: inline-block;
          margin: 0 auto; } }
    .page-template-template-landing-page .ocean-services .services .service h3 {
      color: #00d0f6;
      font-size: 24px;
      margin-bottom: 10px; }
      @media all and (max-width: 1200px) {
        .page-template-template-landing-page .ocean-services .services .service h3 {
          font-size: 23px; } }
      @media all and (max-width: 980px) {
        .page-template-template-landing-page .ocean-services .services .service h3 {
          font-size: 22px; } }
      @media all and (max-width: 767px) {
        .page-template-template-landing-page .ocean-services .services .service h3 {
          font-size: 21px; } }
      @media all and (max-width: 500px) {
        .page-template-template-landing-page .ocean-services .services .service h3 {
          font-size: 20px; } }
    .page-template-template-landing-page .ocean-services .services .service .cta {
      padding: 10px 12px;
      margin-top: 0;
      font-size: 14px; }

.page-template-template-landing-page .ocean-services.packages {
  background: #fff;
  outline: none !important; }
  .page-template-template-landing-page .ocean-services.packages h2 {
    font-size: 60px; }
    @media all and (max-width: 1200px) {
      .page-template-template-landing-page .ocean-services.packages h2 {
        line-height: 1.2;
        font-size: 54px; } }
    @media all and (max-width: 980px) {
      .page-template-template-landing-page .ocean-services.packages h2 {
        font-size: 48px; } }
    @media all and (max-width: 767px) {
      .page-template-template-landing-page .ocean-services.packages h2 {
        font-size: 42px; } }
    @media all and (max-width: 500px) {
      .page-template-template-landing-page .ocean-services.packages h2 {
        font-size: 36px; } }
  .page-template-template-landing-page .ocean-services.packages .wrapper {
    background-size: auto 90% !important; }
    @media all and (max-width: 1200px) {
      .page-template-template-landing-page .ocean-services.packages .wrapper {
        background-size: auto 100% !important; } }
    @media all and (max-width: 920px) {
      .page-template-template-landing-page .ocean-services.packages .wrapper {
        background: none !important; } }
  .page-template-template-landing-page .ocean-services.packages .packages-list {
    float: right;
    width: 50%; }
    @media all and (max-width: 1200px) {
      .page-template-template-landing-page .ocean-services.packages .packages-list {
        width: 70%; } }
    @media all and (max-width: 920px) {
      .page-template-template-landing-page .ocean-services.packages .packages-list {
        background: none !important;
        width: 100%; } }
    .page-template-template-landing-page .ocean-services.packages .packages-list .package {
      background: #f6f6f6;
      width: 460px;
      margin: 0 auto 30px;
      font-size: 14px; }
      @media all and (max-width: 480px) {
        .page-template-template-landing-page .ocean-services.packages .packages-list .package {
          width: auto; } }
      .page-template-template-landing-page .ocean-services.packages .packages-list .package .left {
        width: 50%;
        box-sizing: border-box;
        display: inline-block;
        padding: 20px;
        vertical-align: middle; }
        .page-template-template-landing-page .ocean-services.packages .packages-list .package .left h3 {
          color: #f06e22;
          font-size: 26px;
          line-height: 26px;
          margin-bottom: 10px; }
          @media all and (max-width: 1200px) {
            .page-template-template-landing-page .ocean-services.packages .packages-list .package .left h3 {
              font-size: 25px;
              line-height: 25px; } }
          @media all and (max-width: 980px) {
            .page-template-template-landing-page .ocean-services.packages .packages-list .package .left h3 {
              font-size: 24px;
              line-height: 24px; } }
          @media all and (max-width: 767px) {
            .page-template-template-landing-page .ocean-services.packages .packages-list .package .left h3 {
              font-size: 23px;
              line-height: 23px; } }
          @media all and (max-width: 500px) {
            .page-template-template-landing-page .ocean-services.packages .packages-list .package .left h3 {
              font-size: 22px;
              line-height: 22px; } }
          .page-template-template-landing-page .ocean-services.packages .packages-list .package .left h3 span {
            font-size: 18px; }
            @media all and (max-width: 1200px) {
              .page-template-template-landing-page .ocean-services.packages .packages-list .package .left h3 span {
                font-size: 17px; } }
            @media all and (max-width: 980px) {
              .page-template-template-landing-page .ocean-services.packages .packages-list .package .left h3 span {
                font-size: 16px; } }
            @media all and (max-width: 767px) {
              .page-template-template-landing-page .ocean-services.packages .packages-list .package .left h3 span {
                font-size: 15px; } }
            @media all and (max-width: 500px) {
              .page-template-template-landing-page .ocean-services.packages .packages-list .package .left h3 span {
                font-size: 14px; } }
        .page-template-template-landing-page .ocean-services.packages .packages-list .package .left .cta {
          padding: 10px 12px;
          margin-top: 0;
          font-size: 14px; }
      .page-template-template-landing-page .ocean-services.packages .packages-list .package .right {
        display: inline-block;
        vertical-align: middle;
        width: 50%;
        padding: 0 20px 0 0; }
        .page-template-template-landing-page .ocean-services.packages .packages-list .package .right .disclaimer {
          font-size: 12px; }
        .page-template-template-landing-page .ocean-services.packages .packages-list .package .right p {
          font-size: 16px; }

.page-template-template-landing-page .ocean-services.schedule {
  padding: 60px 0;
  text-align: center; }
  @media all and (max-width: 1200px) {
    .page-template-template-landing-page .ocean-services.schedule {
      padding: 50px 0; } }
  @media all and (max-width: 980px) {
    .page-template-template-landing-page .ocean-services.schedule {
      padding: 40px 0; } }
  @media all and (max-width: 767px) {
    .page-template-template-landing-page .ocean-services.schedule {
      padding: 30px 0; } }
  @media all and (max-width: 500px) {
    .page-template-template-landing-page .ocean-services.schedule {
      padding: 20px 0; } }
  .page-template-template-landing-page .ocean-services.schedule h2 {
    color: #00d0f6; }

.page-template-template-landing-page .ocean-services.policies {
  background-size: cover !important;
  color: #fff !important;
  padding: 100px 0; }
  @media all and (max-width: 1200px) {
    .page-template-template-landing-page .ocean-services.policies {
      padding: 80px 0; } }
  @media all and (max-width: 980px) {
    .page-template-template-landing-page .ocean-services.policies {
      padding: 60px 0; } }
  @media all and (max-width: 767px) {
    .page-template-template-landing-page .ocean-services.policies {
      padding: 40px 0; } }
  @media all and (max-width: 500px) {
    .page-template-template-landing-page .ocean-services.policies {
      padding: 20px 0; } }
  .page-template-template-landing-page .ocean-services.policies h2 {
    text-align: center; }
  .page-template-template-landing-page .ocean-services.policies .left,
  .page-template-template-landing-page .ocean-services.policies .right {
    width: 49%;
    float: left;
    box-sizing: border-box; }
    @media all and (max-width: 767px) {
      .page-template-template-landing-page .ocean-services.policies .left,
      .page-template-template-landing-page .ocean-services.policies .right {
        float: none;
        width: 100%; } }
  .page-template-template-landing-page .ocean-services.policies .left {
    margin-right: 2%; }
    @media all and (max-width: 767px) {
      .page-template-template-landing-page .ocean-services.policies .left {
        margin-right: 0; } }

.page-template-template-landing-page .app-section {
  padding: 60px 0;
  background: #f6f6f6; }
  @media all and (max-width: 1200px) {
    .page-template-template-landing-page .app-section {
      padding: 50px 0; } }
  @media all and (max-width: 980px) {
    .page-template-template-landing-page .app-section {
      padding: 40px 0; } }
  @media all and (max-width: 1200px) {
    .page-template-template-landing-page .app-section h1 {
      line-height: 1.2;
      font-size: 54px; } }
  @media all and (max-width: 980px) {
    .page-template-template-landing-page .app-section h1 {
      font-size: 48px; } }
  @media all and (max-width: 767px) {
    .page-template-template-landing-page .app-section h1 {
      font-size: 42px; } }
  @media all and (max-width: 500px) {
    .page-template-template-landing-page .app-section h1 {
      font-size: 36px; } }

.page-template-template-landing-page .map-slider .slide {
  height: 500px; }
  @media all and (max-width: 1200px) {
    .page-template-template-landing-page .map-slider .slide {
      height: 460px; } }
  @media all and (max-width: 980px) {
    .page-template-template-landing-page .map-slider .slide {
      height: 420px; } }
  @media all and (max-width: 767px) {
    .page-template-template-landing-page .map-slider .slide {
      height: 380px; } }
  @media all and (max-width: 500px) {
    .page-template-template-landing-page .map-slider .slide {
      height: 340px; } }
  .page-template-template-landing-page .map-slider .slide iframe {
    height: 100%;
    width: 100%; }
  .page-template-template-landing-page .map-slider .slide .info {
    z-index: 1000;
    position: absolute;
    background: #fff;
    top: 20px;
    left: 0;
    padding: 20px;
    border: 1px solid #222222; }
    .page-template-template-landing-page .map-slider .slide .info strong {
      font-size: 18px;
      display: block;
      margin-bottom: 10px; }

.page-template-template-landing-page .map-slider .slick-dots li {
  list-style-image: none !important; }

@media all and (max-width: 600px) {
  .page-template-template-landing-page #gform_wrapper_3 {
    max-width: none !important; } }

.page-template-template-landing-page #gform_wrapper_3 .gform_footer {
  float: none; }
