body {
    margin: 0 auto;
    width: 100%;
    background-color: ##fff;
}

.mobile-only,
.btn-mobile-menu { display: none; }

.section, .wrapper {
    position: relative;
    margin: 0 auto;
    width: 100%;
    font-size: 14px; font-size: 1.4rem;
    font-family: Helvetica, Arial, sans-serif;
}


    .section { max-width: 1600px; }
    .wrapper { max-width: 1200px; }


    .section .h2,
    .section .h3 {
        display: block;
        margin: 0 auto;
        width: 100%;
        height: auto;
        font-size: 32px; font-size: 3.2rem;
        font-family: "Oswald", Helvetica, Arial, sans-serif;
        font-weight: 300;
        text-align: center;
        text-transform: uppercase;
    }

    .section .h2 { font-size: 32px; font-size: 3.2rem; }
    .section .h3 { font-size: 22px; font-size: 2.2rem; }


/* BUTTONS */

.btn-more-info {
    display: block;
    margin: 0 auto;
    width: 170px;
    height: 50px;
    font-size: 13px; font-size: 1.3rem;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: normal;
    line-height: 2.4;
    text-align: center;
    border-radius: 30px;

    transition: all 0.3s ease-out;
      -webkit-transition: all 0.3s ease-out;
}

.btn-more-info:link,
.btn-more-info:visited { color: #fff; background-color: #d61c26; text-decoration: none; }

.btn-more-info:hover,
.btn-more-info:active { opacity: 0.8; }


/* BUTTONS */


/* HEADER */

.header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    height: 130px;
    width: 100%;
    max-width: 1600px;
    font-size: 0;
    text-align: right;
    background-color: #fff;
    z-index: 9999;
}

    .header .wrapper { max-width: 1600px; }

    .header.header-sticky {
        /*overflow-x: hidden;*/
        box-shadow: 1px 4px 8px -9px #000;
        -webkit-box-shadow: 1px 4px 8px -9px #000;
    }


    .logo {
        position: absolute;
        top: 15px;
        left: 0;
        width: 372px;
        height: 94px;
        z-index: 9;
    }

    .header.header-sticky .logo {
        top: 22px;
        transition: all 0.3s ease-out;
          -webkit-transition: all 0.3s ease-out;
    }

    /** { outline: 1px dotted red !important; }*/



/*-------------------------*\
    NAVIGATION
\*-------------------------*/
/**
 * Navigation abstraction.
 *
 * Always use the main '.nav' class on navigation items, then expand on them.
 */
 .nav { list-style-type: none; margin: 0; padding: 0; }
   .nav li { position: relative; display: inline-block; *display: inline; *zoom: 1; }
     .nav a { display: block; }

     .nav-main {
         position: absolute;
         top: 40px;
         right: 0;
         padding-left: 0;
         width: 90%;
     }

        .nav-main li {
            display: inline-block;
            margin-left: 2%;
            width: 9%;
            vertical-align: top;
        }

        .nav-main li.last-child {
            width: 15%;
            min-width: 260px;
        }

        .nav-main a {
            position: relative;
            display: block;
            padding: 0 2%;
            width: 96%;
            height: 55px;
            font-size: 10px; font-size: 1.0rem;
            font-family: "Montserrat", Helvetica, Arial, sans-serif;
            font-weight: 700;
            line-height: 3.4;
            text-align: center;
            text-transform: uppercase;
            transition: all 0.3s ease-out;
            -webkit-transition: all 0.3s ease-out;
        }

        .nav-main a:link,
        .nav-main a:visited { color: #231f20; text-decoration: none; }

        .nav-main a:hover,
        .nav-main a:active { opacity: 0.75; }

        .nav-main li:nth-child(1) > a:before,
        .nav-main li:nth-child(3) > a:before {
          position: absolute;
          top: 20px;
          display: block;
          margin-right: 5px;
          content: '';
          width: 11px;
          height: 16px;
          background: url('/images/arrow-drop-down.jpg') no-repeat;
          vertical-align: top;
        }

        .nav-main li:nth-child(1) > a:before { left: -13px; }
        .nav-main li:nth-child(3) > a:before { left: -8px; }

        .nav-main li:nth-child(1).active > a:before,
        .nav-main li:nth-child(3).active > a:before {
            webkit-transform: rotate(-180deg);
            -ms-transform: rotate(-180deg);
                transform: rotate(-180deg);
        }

        .nav-main .btn-training-login {
            padding: 0 8%;
            width: 84%;
            border-radius: 3px;
        }

        .nav-main .btn-training-login:link,
        .nav-main .btn-training-login:visited { color: #fff; background-color: #d61c26; }

        .contentpage .nav-main .btn-training-login { border-radius: 5px; }

        .contentpage .nav-main .btn-training-login:link,
        .contentpage .nav-main .btn-training-login:visited { color: #d61c26; background-color: #fff; border: 1px solid #d61c26; }


/**
 * Drop-down menus.
 *
 * Positioned 100% from the top for the first level. All other levels fly out
 * right by default but can be reversed with the '.nav-sub-reversed' class.
 *
 * Use the '.active' class on li's to style active menu items.
 */
 .nav-sub {
   position: absolute;
   top: 90px;
   left: 50%;
   margin-left: -150px;
   /*padding-bottom: 30px;*/
   width: 300px;;
   display: none;
   opacity: 0;
   background-color: #fff;
   box-shadow: 0px 5px 4px 0px rgba(0, 0, 0, 0.2);
   -webkit-box-shadow: 0px 5px 4px 0px rgba(0, 0, 0, 0.2);
   transition: all 0.1s ease-out;
     -webkit-transition: all 0.1s ease-out;
 }


     .nav-main li.active .nav-sub {
         opacity: 1.0;
         display: block;
     }

   .nav-sub li {
       display: block;
       margin: 0;
       width: 100%;
       height: 50px;
       border-bottom: 1px solid #f6f6f6;
   }

       .nav-sub li:last-child { border: none; }

       .nav-sub li a {
           position: relative;
           padding: 18px 0 0;
           width: 100%;
           height: 32px;
           font-family: Helvetica, Arial, sans-serif;
           font-weight: normal;
           line-height: 0.8;
           text-transform: none;
       }


       .nav-sub li a:link,
       .nav-sub li a:visited { color: #666; }
       .nav-sub li a:hover,  .nav-sub li a:active   { color: #d61c26; background-color: #f1f1f1; }


  /* Nested sub navigation flies out to the right. */
  .nav-sub .nav-sub {
    top: 0;
    left: 100%;
  }

/* This fallback makes drop-down menus work for non-JavaScript users. */
.no-js .nav li:hover > .nav-sub { display: block; }



/**
 * Reverses drop-down menus.
 *
 * Expands: '.nav-sub'.
 */
.nav-sub-reversed {
  left: auto;
  right: 0;
}

  /* Nested reversed menus fly-out to the left. */
  .nav-sub-reversed .nav-sub-reversed,
  .nav-sub .nav-sub-reversed {
    left: auto;
    right: 100%;
  }



/* IMPACT HOMEPAGE */

.impact-homepage {
    height: auto;
    min-height: 980px;
    background: #fff url('/images/impact-homepage.jpg') center 30px no-repeat;
    text-align: center;
}

    .impact-homepage .h1,
    .impact-homepage .h2 {
        display: block;
        margin: 0 auto;
        width: 100%;
        height: auto;
        color: #010101;
        font-family: "Oswald", Helvetica, Arial, sans-serif;
        font-style: italic;
        text-transform: uppercase;
    }

    .impact-homepage .h1 {
        padding-top: 300px;
        font-weight: 700;
        font-size: 55px; font-size: 5.5rem;
        line-height: 1;
    }

    .impact-homepage .h2 {
        margin-top: 0;
        font-size: 45px; font-size: 4.5rem;
        font-weight: 300;
    }

    .impact-homepage p {
        display: block;
        margin: 10px auto;
        width: 70%;
        height: auto;
        font-size: 14px; font-size: 1.4rem;
        font-family: Helvetica, Arial, sans-serif;
        font-weight: medium;
    }

    .btn-register-now {
        display: block;
        margin: 20% auto 0;
        width: 100%;
        max-width: 280px;
        height: 70px;
        font-size: 13px; font-size: 1.3rem;
        font-family: "Oswald", Helvetica, Arial, sans-serif;
        font-weight: 700;
        line-height: 2;
        text-align: center;
        text-transform: uppercase;
        border-radius: 3px;

        transition: all 0.3s ease-out;
          -webkit-transition: all 0.3s ease-out;
    }

    .btn-register-now span {
        display: block;
        line-height: 0.8;
    }

    .btn-register-now:link,
    .btn-register-now:visited { color: #fff; background-color: #d61c26; text-decoration: none; }

    .btn-register-now:hover,
    .btn-register-now:active { opacity: 0.8; }

    .btn-register-now:after {
      display: none;
      margin: 20px 0 0 15px;
      content: '';
      width: 40px;
      height: 40px;
      background: url('/images/icon-arrow-register.png') no-repeat;
      vertical-align: top;
    }


/* IMPACT HOMEPAGE */

/* DEVELOPMENT */

.section.development {
    height: auto;
    min-height: 1280px;
    text-align: right;
    font-size: 0;
    background: url('/images/bg-professional-goaltending-development.jpg') center bottom no-repeat;
}

    .logo-ccm-goalie-advisor {
        display: block;
        margin: 40px auto;
        width: 100%;
        max-width: 300px;
        text-align: center;
    }


    .section.development .h2 {
        display: block;
        margin: 80px auto;
        width: 94%;
        color: #d61c26;
        text-align: center;
    }

    .aside-dev {
        display: inline-block;
        padding-bottom: 70px;
        width: 50%;
        height: auto;
        text-align: left;
        vertical-align: top;
    }

        .aside-dev .h3 { color: #d61c26; text-align: left; }

        .aside-dev .btn-more-info { margin: 40px 0 0; }



/* DEVELOPMENT */

/* TRANING VIDEOS */

.section.training-videos {
    height: auto;
    min-height: 900px;
    color: #fff;
    text-align: center;
    background: #fff url('/images/bg-training-videos.jpg') center top no-repeat;
}

    .section.training-videos .h2 {
        display: block;
        padding-top: 80px;
        margin: 0 auto;
        width: 94%;
        color: #fff;
    }

    .section.training-videos p {
        display: block;
        margin: 30px auto;
        width: 90%;
        max-width: 920px;
        height: auto;
        font-weight: light;
        line-height: 1.4;
    }

    .btn-paypal {
        display: block;
        margin: 0 auto;
        width: 90%;
        max-width: 265px;
        height: 60px;
        font-size: 13px; font-size: 1.3rem;
        font-family: Helvetica, Arial, sans-serif;
        font-weight: bold;
        line-height: 3.1;
        text-align: center;
        text-transform: uppercase;
        border-radius: 30px;

        transition: all 0.3s ease-out;
          -webkit-transition: all 0.3s ease-out;
    }

    .btn-paypal:link,
    .btn-paypal:visited { color: #d61c26; background-color: #fff; text-decoration: none; }

    .btn-paypal:hover,
    .btn-paypal:active { opacity: 0.8; }

    .btn-paypal:before {
      display: inline-block;
      margin: 14px 5px 0 0;
      content: '';
      width: 40px;
      height: 40px;
      background: url('/images/icon-paypal.png') no-repeat;
      vertical-align: top;
    }


/* TRANING VIDEOS */

/* SUCCESS STORIES */

.section.success-stories {
    height: auto;
    min-height: 880px;
    text-align: left;
    background: #fff url('/images/bg-success-story.jpg') center top no-repeat;
}

    .section.success-stories .h2 {
        position: relative;
        padding-top: 100px;
        text-align: left;
        text-indent: 30px;
        z-index: 99;
    }

    .icon-quote {
        position: absolute;
        top: 70px;
        left: 0;
        z-index: 0;
        opacity: 0.5;
    }

    .success-stories .btn-more-info {
        margin: 50px 0 0 3%;
    }

    .success-stories .slider-success-stories li {
        position: relative;
        display: block;
        width: 100%;
        max-width: 620px;
        min-height: 350px;
        z-index: 99;
    }

    .story-signature {
        color: #d61c26;
        font-family: "Roboto", Helvetica, Arial, sans-serif;
        font-weight: bold;
    }

    .success-stories .bx-wrapper .bx-pager {
        left: 3%;
        width: 97%;
        text-align: left;
    }


    .success-stories .bx-wrapper .bx-pager.bx-default-pager a {
        display: block;
        color: #000;
        background-color: #000;
        border: 1px solid #000;
        border-radius: 15px;
        background-clip: padding-box;
     }


    .success-stories .bx-wrapper .bx-pager.bx-default-pager a:hover,
    .success-stories .bx-wrapper .bx-pager.bx-default-pager a.active {
        background-color: #fff;
    }


/* SUCCESS STORIES */



/* WORK */

.section.work {
    height: auto;
    min-height: 755px;
    text-align: center;
    background-color: #fff;
}

    .section.work .h2 {
        display: block;
        margin: 30px auto 40px;
        width: 94%;
        color: #d61c26;
    }


/* WORK */

/* OUR VIDEO */

.section.our-video {
    height: auto;
    min-height: 762px;
    color: #fff;
    text-align: left;
    background: #fff url('/images/bg-watch-video.jpg') center bottom no-repeat;
}

    .section.our-video .h2 {
        display: block;
        margin: 0 auto;
        padding-top: 270px;
        width: 94%;
        color: #d61c26;
    }

    .section.our-video p {
        display: block;
        margin: 15px auto;
        width: 90%;
        max-width: 670px;
        height: auto;
        color: #fff;
        font-weight: light;
        line-height: 1.4;
        text-align: center;
    }

    .btn-play {
        display: block;
        margin: 67px auto 0;
        width: 227px;
        height: 227px;

        transition: all 0.3s ease-out;
          -webkit-transition: all 0.3s ease-out;
    }

    .btn-play:hover,
    .btn-play:active { opacity: 0.8; }


/* OUR VIDEO */



/* FOOTER */

.section.footer {
    height: auto;
    min-height: 973px;
    color: #fff;
    font-size: 0;
    background: #000 url('/images/bg-footer.jpg') center bottom no-repeat;
    text-align: center;
}

    .section.footer .h1 {
        display: block;
        margin: 0 auto;
        padding-top: 175px;
        width: 100%;
        height: auto;
        color: #fff;
        font-size: 50px; font-size: 5.0rem;
        font-family: "Oswald", Helvetica, Arial, sans-serif;
        font-style: italic;
        font-weight: 700;
        line-height: 1;
        text-transform: uppercase;
    }

    .section.footer p {
        display: block;
        margin: 20px auto;
        width: 90%;
        max-width: 670px;
        height: auto;
        color: #fff;
        font-size: 13px; font-size: 1.3rem;
        font-weight: light;
        line-height: 1.3;
        text-align: center;
    }

    .section.footer .btn-more-info {
        margin-top: 50px;
        padding: 0 20px;
    }

    .btn-contact-phone,
    .btn-contact-email {
        display: inline-block;
        padding-top: 20%;
        width: 35%;
        color: #fff;
        font-size: 15px; font-size: 1.5rem;
        font-family: "Roboto", Helvetica, Arial, sans-serif;
        font-weight: normal;
        font-weight: light;
        text-align: center;
        vertical-align: top;

        transition: all 0.3s ease-out;
          -webkit-transition: all 0.3s ease-out;
    }


    .btn-contact-phone:link,
    .btn-contact-email:link,
    .btn-contact-phone:visited,
    .btn-contact-email:visited { color: #fff; text-decoration: none; }

    .btn-contact-phone:hover,
    .btn-contact-email:hover,
    .btn-contact-phone:active,
    .btn-contact-email:active { opacity: 0.6; }

    .btn-contact-phone:before,
    .btn-contact-email:before {
      display: block;
      margin: 15px auto;
      content: '';
      width: 45px;
      height: 45px;
      vertical-align: top;
    }

    .btn-contact-phone:before { background: transparent url('/images/icon-phone.png') center bottom no-repeat; }
    .btn-contact-email:before { background: transparent url('/images/icon-email.png') center bottom no-repeat; }


    .section.footer .disclaimer,
    .section.footer .author {
        display: block;
        margin: 0 auto;
        width: 94%;
        max-width: 94%;
        font-size: 12px; font-size: 1.2rem;
        font-family: "Roboto", Helvetica, Arial, sans-serif;
        text-align: center;
    }

    .section.footer .disclaimer { margin-top: 40px; }
    .section.footer .author     { margin-top: 10px; }

    .section.footer .disclaimer a:link,
    .section.footer .author a:link,
    .section.footer .disclaimer a:visited,
    .section.footer .author a:visited { color: #fff; text-decoration: none; }

    .section.footer .disclaimer a:hover,
    .section.footer .author a:hover,
    .section.footer .disclaimer a:active,
    .section.footer .author a:active { opacity: 0.8; }


/* FOOTER */
