* {
  transition: all .2s ease;
  letter-spacing: 0.025em; }

body {
  overflow-x: hidden;
  background: url(../img/bg.png); }

section .container {
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 10%, rgba(255, 255, 255, 0.35) 90%, rgba(255, 255, 255, 0) 100%); }

h1, h2, h3 {
  margin-bottom: 30px; }

h1 {
  font-family: Raleway;
  font-size: 4.15vw;
  font-weight: 800;
  text-align: center;
  color: #333;
  text-transform: uppercase;
  line-height: 1.25; }
  h1 .title_border {
    width: 100px;
    height: 5px;
    margin: 20px 0;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background: #333; }
  h1 span.subtitle {
    display: block;
    margin-top: 5px;
    font-family: Libre Baskerville Italic;
    letter-spacing: 0.05em;
    font-weight: 400;
    font-style: italic;
    font-size: 2.4vw;
    line-height: 1.5; }

h2 {
  font-family: Raleway;
  font-size: 3.75vw;
  font-weight: 800;
  text-align: center;
  color: #333;
  text-transform: uppercase;
  line-height: 1.25; }
  h2 .title_border {
    width: 100px;
    height: 5px;
    margin: 15px 0;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background: #333; }
  h2 span.subtitle {
    display: block;
    margin-top: 5px;
    font-size: 2.25vw;
    font-family: Libre Baskerville Italic;
    letter-spacing: 0.05em;
    font-weight: 400;
    font-style: italic; }

h3 {
  font-family: Raleway;
  font-size: 2.35vw;
  font-weight: 600;
  text-align: left;
  color: #333;
  text-transform: uppercase; }

h4 {
  font-family: Raleway;
  font-size: 17px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 10px; }

p, li {
  font-family: Open Sans;
  font-size: 18px;
  margin-bottom: 15px;
  word-spacing: 0.15em;
  line-height: 1.5;
  text-align: left; }
  p:last-child, li:last-child {
    margin-bottom: 0; }
  p a:hover, li a:hover {
    text-decoration: none; }
  @media screen and (min-width: 768px) {
    p, li {
      font-size: 19px;
      line-height: 1.675; } }
  @media screen and (min-width: 1200px) {
    p, li {
      font-size: 20px; } }

ul, ol {
  margin-bottom: 30px; }
  ul li, ol li {
    line-height: 1.25;
    margin-bottom: 10px; }

blockquote {
  width: 85%;
  margin-left: 7.5%;
  padding: 30px 4vw;
  border-left: 20px solid #389bff;
  background: rgba(0, 0, 0, 0.05);
  font-family: Open Sans;
  font-size: 22px;
  font-style: italic;
  letter-spacing: 0.025em;
  line-height: 1.45;
  margin-bottom: 10px; }

.img_full {
  width: 100%; }

.lb-data .lb-close {
  width: 35px;
  height: 35px;
  background-size: cover; }

/*** header ***/
header {
  position: fixed;
  top: 0;
  width: 100%;
  background: linear-gradient(white, white);
  height: 100px;
  transition: 0.4s;
  box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.35);
  z-index: 50; }
  header .logo {
    color: #000;
    width: 80vw;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 0.025rem;
    line-height: 3;
    padding: 15px 30px;
    margin: 0;
    float: left;
    transition: 0.2s;
    font-family: Raleway;
    text-transform: uppercase; }
    header .logo:hover {
      text-decoration: none;
      /*text-shadow: 1px 1px 1px rgba(0,0,0,0.2);*/
      transform: scale(1.05); }
  header .mobileNav {
    position: absolute;
    right: 30px;
    top: 30px; }
    header .mobileNav .burger {
      position: relative;
      height: 40px;
      width: 40px;
      background: rgba(0, 0, 0, 0);
      cursor: pointer; }
      header .mobileNav .burger span.open {
        height: 40px;
        width: 5px;
        position: absolute;
        left: 17.5px;
        top: 0;
        background: #333;
        border-radius: 2px; }
      header .mobileNav .burger span.close {
        height: 5px;
        width: 40px;
        position: absolute;
        left: 0;
        top: 17.5px;
        background: #333;
        border-radius: 2px; }
      header .mobileNav .burger.menuopen {
        /*transform: rotate(180deg);*/ }
        header .mobileNav .burger.menuopen span.open {
          transform: rotate(90deg); }
    header .mobileNav .menu {
      display: block;
      position: fixed;
      top: 100px;
      left: 105vw;
      border-top: 2px solid #333; }
      header .mobileNav .menu.menuopen {
        left: 0; }
      header .mobileNav .menu a {
        display: block;
        width: 100vw;
        padding: 20px 40px;
        font-family: Raleway;
        font-size: 18px;
        font-weight: 600;
        background: #fff;
        border-bottom: 2px solid #333;
        text-transform: uppercase; }
        header .mobileNav .menu a:hover {
          background: #389bff;
          color: #fff;
          text-decoration: none; }
  header nav {
    position: relative;
    padding: 0 30px 0 0;
    text-align: right;
    width: 65vw;
    max-width: 65vw;
    display: none !important;
    /*ul {*/
    /*list-style-type: none;*/
    	/*padding: 0 30px 0 0;
    	text-align: right;
    	width: 60vw;
        float: right;*/
    /*li {*/
    	/*display: inline-block;
        margin-right: 20px;*/
    /*&:last-child {
    	margin-right: 0;
    }*/
    /*}*/
    /*}*/ }
    header nav a {
      position: relative;
      color: #000;
      font-size: 14px;
      font-weight: 600;
      line-height: 6.5;
      padding: 5px 15px;
      transition: 0.2s;
      font-family: Raleway;
      text-transform: uppercase;
      display: inline-block;
      margin-right: 20px; }
      @media screen and (min-width: 1200px) {
        header nav a {
          line-height: 7; } }
      header nav a:last-child {
        margin-right: 0; }
      header nav a.active {
        color: #389bff;
        transform: scale(1.2); }
      header nav a .menu_underline {
        height: 2px;
        background: #ddd;
        transform: translateX(-50%);
        left: calc(50% + 8px);
        bottom: -5px;
        position: absolute;
        transition: 0.2s;
        width: 0%; }
      header nav a.hidden_link {
        display: none; }
      header nav a:hover {
        color: #389bff;
        transition: 0.2s;
        text-decoration: none; }
        header nav a:hover .menu_underline {
          background: #fff;
          width: 100%;
          transition: 0.4s; }
  header.sticky {
    height: 80px;
    box-shadow: 0px 1px 7.5px rgba(0, 0, 0, 0.15);
    /*background: linear-gradient(rgba(255,255,255,1),rgba(255,255,255,0.85));*/ }
    header.sticky .logo {
      font-size: 24px;
      transition: 0.2s;
      padding: 15px 30px;
      line-height: 2; }
    header.sticky nav a {
      line-height: 5; }
    header.sticky .mobileNav {
      top: 18px; }
      header.sticky .mobileNav .menu {
        top: 80px; }
    header.sticky:hover {
      background: linear-gradient(white, white); }

section {
  /*height: 800px;*/ }
  section:nth-child(even) {
    background: rgba(235, 235, 240, 0.15);
    box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.35); }
  section:nth-child(odd) {
    background: rgba(210, 210, 215, 0.3); }

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4); }

#top {
  height: 1px;
  width: 100px;
  position: absolute;
  top: 0; }

#home {
  margin-top: 75px;
  height: 60vw;
  background: url(../img/uncle_rays_math_lessons_home_image.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.5); }
  #home h2.title {
    font-size: 4.5vw;
    color: whitesmoke;
    font-family: Raleway;
    text-align: center;
    font-weight: 800;
    text-transform: uppercase;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    margin-top: 18vh;
    margin-bottom: 4vw; }
  #home .animated-words {
    display: inline;
    color: white; }
    #home .animated-words h2 {
      text-align: center;
      font-family: Raleway;
      font-size: 4vw; }
      #home .animated-words h2 span {
        font-size: 3vw;
        width: calc(100% - 30px);
        left: 15px;
        text-transform: uppercase;
        font-weight: 800;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
        color: #389bff; }
  #home .animated-words span:nth-child(2) {
    -webkit-animation-delay: 2s;
    -ms-animation-delay: 2s;
    animation-delay: 2s; }
  #home .animated-words span:nth-child(3) {
    -webkit-animation-delay: 4s;
    -ms-animation-delay: 4s;
    animation-delay: 4s; }
  #home .animated-words span:nth-child(4) {
    -webkit-animation-delay: 6s;
    -ms-animation-delay: 6s;
    animation-delay: 6s; }
  #home .animated-words span:nth-child(5) {
    -webkit-animation-delay: 8s;
    -ms-animation-delay: 8s;
    animation-delay: 8s; }
  #home .animated-words span:nth-child(6) {
    -webkit-animation-delay: 10s;
    -ms-animation-delay: 10s;
    animation-delay: 10s; }
  #home .animated-words span {
    position: absolute;
    opacity: 0;
    overflow: hidden;
    display: inline;
    -webkit-animation: animateWord 12s linear infinite 0s;
    -ms-animation: animateWord 12s linear infinite 0s;
    animation: animateWord 12s linear infinite 0s; }
  #home .overlay {
    height: 60vw;
    width: 100%;
    margin-top: 75px; }

@-webkit-keyframes animateWord {
  0% {
    opacity: 0; }
  2% {
    opacity: 0;
    -webkit-transform: translateY(20%); }
  5% {
    opacity: 1;
    -webkit-transform: translateY(0%); }
  17% {
    opacity: 1;
    -webkit-transform: translateY(0%); }
  20% {
    opacity: 0;
    -webkit-transform: translateY(-20%); }
  80% {
    opacity: 0; }
  100% {
    opacity: 0; } }
.padding_box_large {
  padding-top: 18vw;
  padding-bottom: 18vw; }

#about .content_img {
  width: 100%;
  margin-bottom: 15px; }
  @media screen and (min-width: 992px) {
    #about .content_img {
      width: 50%;
      max-width: 550px;
      padding: 10px 0px 10px 20px;
      margin-bottom: 0;
      float: right; } }
  @media screen and (min-width: 1200px) {
    #about .content_img {
      width: 48%; } }

#curriculum .commandments {
  height: calc(100% - 30px); }
#curriculum ol li {
  font-weight: 600; }

#rules h3 {
  text-align: center; }
#rules .rates div {
  margin-bottom: 15px; }
  #rules .rates div p {
    font-weight: 600;
    font-style: italic;
    text-align: center; }
    #rules .rates div p .bold {
      font-style: normal; }

#summary {
  background: linear-gradient(rgba(210, 210, 215, 0.3), rgba(210, 210, 215, 0.3)), url(../img/bg.png);
  padding: 0 40px; }
  #summary ul {
    padding: 0; }
    #summary ul li {
      list-style-type: none; }
      #summary ul li p.summary_category,
      #summary ul li p.summary_detail {
        padding: 10px 1.25% 0;
        vertical-align: top;
        font-size: 16px; }
      @media screen and (min-width: 768px) {
        #summary ul li p.summary_category,
        #summary ul li p.summary_detail {
          width: 45%;
          display: inline-block; }
        #summary ul li p.summary_category {
          text-align: right; } }
      #summary ul li p.summary_category {
        font-weight: 600; }
      @media screen and (max-width: 767px) {
        #summary ul li p.summary_category {
          margin-bottom: 0; }
        #summary ul li p.summary_detail {
          padding-top: 5px; } }

#references li {
  margin-bottom: 20px; }
  #references li p {
    margin-bottom: 10px;
    font-style: italic; }

#contact ul {
  list-style-type: none;
  padding-left: 0; }
#contact .contact_center {
  width: fit-content;
  display: table;
  margin-left: auto;
  margin-right: auto; }
#contact #contact_body {
  width: 90vw;
  max-width: 420px;
  position: relative;
  left: 50%;
  transform: translateX(-50%); }
  @media screen and (min-width: 768px) {
    #contact #contact_body {
      left: calc(50% + 15px); } }
#contact input, #contact optgroup, #contact select, #contact textarea {
  width: 100%;
  padding: 7px 15px;
  font-size: 16px;
  font-family: Open Sans;
  border: 3px solid #333;
  border-radius: 4px;
  /*background: rgba(0,0,0,0.05);*/ }
  #contact input::placeholder, #contact optgroup::placeholder, #contact select::placeholder, #contact textarea::placeholder {
    text-transform: uppercase;
    font-family: Open Sans; }
  #contact input:active, #contact input:focus, #contact optgroup:active, #contact optgroup:focus, #contact select:active, #contact select:focus, #contact textarea:active, #contact textarea:focus {
    border-color: #389bff; }
  #contact input[type="submit"], #contact optgroup[type="submit"], #contact select[type="submit"], #contact textarea[type="submit"] {
    text-transform: uppercase;
    /*color: $blue;*/
    font-weight: 800; }
    #contact input[type="submit"]:hover, #contact optgroup[type="submit"]:hover, #contact select[type="submit"]:hover, #contact textarea[type="submit"]:hover {
      border-color: #389bff;
      background: #389bff;
      color: #fff; }
#contact iframe {
  border: 3px solid #333;
  border-radius: 4px; }
  @media screen and (max-width: 550px) {
    #contact iframe {
      max-height: 45vh; } }
#contact #contact_results {
  width: 100%; }
  #contact #contact_results .success {
    font-family: Raleway;
    font-weight: 600;
    font-size: 2vw;
    text-align: center;
    color: #389bff; }
#contact .contact.container {
  background: rgba(0, 0, 0, 0); }

.padding_box_small {
  padding-top: 30px;
  padding-bottom: 15px; }

footer {
  background: #333; }
  footer p, footer h4, footer h5 {
    color: #fff; }
  footer p {
    font-size: 14px; }
  footer a:hover {
    color: #61b0ff; }
  footer h4.hideme {
    color: #323232; }

@media (min-width: 576px) {
  .padding_box_large {
    padding-top: 12vw;
    padding-bottom: 12vw; } }
@media (min-width: 768px) {
  p, li {
    text-align: justify; }

  header {
    height: 8.8vw; }
    header .logo {
      width: 34vw;
      font-size: 1.8vw;
      padding: 1.6vw 3vw; }
    header .mobileNav {
      display: none; }
    header nav {
      display: inline-block !important; }
      header nav a {
        font-size: 1.2vw;
        padding: 0.5vw 1vw;
        margin-right: 1vw; }
        header nav a:last-child {
          margin-right: 0; }
    header.sticky {
      height: 7vw;
      box-shadow: 0px 1px 7.5px rgba(0, 0, 0, 0.15); }
      header.sticky .logo {
        font-size: 1.8vw;
        transition: 0.2s;
        padding: 1.6vw 3vw;
        line-height: 2; }
      header.sticky nav a {
        line-height: 5; }

  .padding_box_large {
    padding-top: 80px;
    padding-bottom: 80px; }

  #home {
    height: 80vh;
    margin-top: 8.8vw; }
    #home .overlay {
      height: 80vh;
      width: 100%;
      margin-top: 8.8vw; } }
@media (min-width: 1200px) {
  h1 {
    font-size: 56px; }
    h1 span.subtitle {
      font-size: 34px; }

  h2 {
    font-size: 52px; }
    h2 span.subtitle {
      font-size: 32px; }

  h3 {
    font-size: 38px; }

  .padding_box_large {
    padding-top: 75px;
    padding-bottom: 75px; }

  header {
    height: 100px; }
    header .logo {
      font-size: 23px;
      line-height: 2.65; }
    header nav a {
      font-size: 13px;
      padding: 5px 15px;
      margin-right: 10px; }
    header.sticky {
      height: 80px;
      box-shadow: 0px 1px 7.5px rgba(0, 0, 0, 0.15);
      /*background: rgba(255,255,255,0.8);*/ }
      header.sticky .logo {
        font-size: 23px;
        transition: 0.2s;
        padding: 15px 30px;
        line-height: 2; }
      header.sticky nav a {
        line-height: 5; }
      header.sticky:hover {
        background: linear-gradient(white, white); }

  #home {
    margin-top: 100px; }
    #home .overlay {
      margin-top: 100px; } }
@media (max-width: 550px) {
  h1 {
    font-size: 27px; }

  h1 span.subtitle {
    font-size: 18px; }

  h2 {
    font-size: 24px; }

  h2 span.subtitle {
    font-size: 17px; }

  h3 {
    font-size: 22px; }

  blockquote {
    width: 100%;
    margin-left: 0; }

  ul, ol {
    padding-left: 20px; }

  header {
    position: fixed;
    top: 0;
    width: 100%;
    background: linear-gradient(white, white);
    height: 23vw;
    transition: 0.4s;
    box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.05);
    z-index: 50; }
    header .logo {
      color: #000;
      width: calc(92vw - 60px);
      font-size: 4.25vw;
      font-weight: 600;
      letter-spacing: 0.025rem;
      line-height: 1;
      padding: 15px 0 15px 30px;
      margin: 5.75vw 0 0 0;
      float: left;
      transition: 0.2s;
      font-family: Raleway;
      text-transform: uppercase; }
    header .mobileNav {
      position: absolute;
      right: 30px;
      top: 7.25vw; }
      header .mobileNav .burger {
        position: relative;
        height: 8vw;
        width: 8vw;
        background: rgba(0, 0, 0, 0);
        cursor: pointer; }
        header .mobileNav .burger span.open {
          height: 8vw;
          width: 5px;
          position: absolute;
          left: calc(4vw - 2.5px);
          top: 0;
          background: #333;
          border-radius: 2px; }
        header .mobileNav .burger span.close {
          height: 5px;
          width: 8vw;
          position: absolute;
          left: 0;
          top: calc(4vw - 2.5px);
          background: #333;
          border-radius: 2px; }
      header .mobileNav .menu {
        top: 23vw; }
    header.sticky {
      height: 17vw; }
      header.sticky .logo {
        font-size: 4.5vw;
        transition: 0.2s;
        padding: 15px 0 15px 30px;
        line-height: 0;
        margin-top: 15px; }
      header.sticky .mobileNav .menu {
        top: 17vw; }

  #home .overlay .container-fluid {
    position: relative;
    top: 50%;
    transform: translateY(-50%); }
  #home h1, #home h2 {
    margin-bottom: 20px; }
  #home h2.title {
    margin-top: 0;
    font-size: 5.5vw; }
  #home .animated-words h2 span {
    font-size: 5vw; }

  #contact #contact_body {
    max-width: 100%; }

  .fancybox-content {
    padding: 32px; } }
.back_to_top {
  position: fixed;
  bottom: 30px;
  right: 3vw;
  transform: rotate(45deg);
  z-index: 100; }
  .back_to_top a .back_to_top_button {
    width: 60px;
    height: 60px;
    background: #389bff;
    border: 2px solid #389bff;
    border-radius: 10px;
    box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
    position: relative;
    transform: 0.2s; }
    .back_to_top a .back_to_top_button .arrow {
      width: 20px;
      height: 20px;
      position: absolute;
      border-left: 2px solid #fff;
      border-top: 2px solid #fff; }
    .back_to_top a .back_to_top_button .arrow1 {
      top: 15px;
      left: 15px; }
    .back_to_top a .back_to_top_button .arrow2 {
      top: 22.5px;
      left: 22.5px; }
    .back_to_top a .back_to_top_button .arrow_text {
      font-family: Raleway;
      color: #fff;
      font-size: 10px;
      font-weight: 600;
      position: absolute;
      width: 100px;
      top: 20px;
      left: 20px;
      bottom: -5px;
      text-decoration: none;
      transform: rotate(-45deg);
      opacity: 0; }
  .back_to_top a:hover .back_to_top_button {
    transform: scale(1.1); }
    .back_to_top a:hover .back_to_top_button .arrow1 {
      top: 0px;
      left: 0px;
      opacity: 0; }
    .back_to_top a:hover .back_to_top_button .arrow2 {
      top: 12.5px;
      left: 12.5px; }
    .back_to_top a:hover .back_to_top_button .arrow_text {
      opacity: 1;
      top: 5px;
      left: 12px; }
  .back_to_top.hide {
    bottom: -100px; }

/*# sourceMappingURL=global.css.map */
