@font-face {
  font-family: 'CormorantGaramond';
  src: url('../fonts/CormorantGaramond-Regular.ttf') format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Brown';
  src: url('../fonts/Brown-Regular.otf') format("opentype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'AzoSans';
  src: url('../fonts/AzoSans-Light.otf') format("opentype");
  font-weight: normal;
  font-style: normal;
}

body {
  margin: 0; padding: 0; overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body * {
  box-sizing: border-box;
}

p, h1, h2, h3, h4, a {
  margin: 0; padding: 0; color: #000; font-weight: normal;
}

h1 {
  font-size: 60px; font-family: 'CormorantGaramond', serif;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 20px;
}

a {
    text-decoration: none; cursor: pointer;    
    /*-webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-touch-callout: none;
      -webkit-user-select: none;
       -khtml-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;*/
}

p {
    font-size: 16px; line-height: 180%;
}

.cen:before {
    content: ""; display: inline-block; height: 100%; vertical-align: middle;
}

.cen {
    width: 100%; font-size: 0;
}

.cen > * {
    display: inline-block; vertical-align: middle;
}

.col2-left-long, .col2-left-half {
  font-size: 0; box-sizing: border-box; 
}

.col2-left-long > div, .col2-left-half > div {
  display: inline-block; box-sizing: border-box; vertical-align: top;
}

.col2-left-long > div:first-of-type {
  width: 70%;
  padding-right: 125px;
}

.col2-left-long > div:last-of-type {
  width: 30%;
  padding-left: 25px;
}

.col2-left-half > div:first-of-type {
  width: 50%;
  padding-right: 25px;
}

.col2-left-half > div:last-of-type {
  width: 50%;
  padding-left: 25px;
}

.maxWidth {
  width: 100%; max-width: 1366px; display: block; margin: 0 auto; padding-left: 80px; padding-right: 80px;
}

.loading {
  width: 100%; height: 100vh; background-color: #FFF; position: fixed; top: 0; left: 0; z-index: 999;
}

.loading img {
  position: absolute; top: 20px; left: 20px;
}

/* ==========================================================================
   HEADER */

header {
  width: 100%; height: 80px; padding-left: 50px; padding-right: 50px; position: relative; z-index: 99;
  display: flex; justify-content: space-between; align-items: center; background-color: rgba(255,255,255,1);
}

header.stuck {
  position: fixed; z-index: 99; top: 0; bottom: auto; left: 0; background-color: rgba(255,255,255,0);
}

header.stuckMob {
  position: fixed; z-index: 99; top: 0; bottom: auto; left: 0;
}

header a.logo {
  font-family: 'CormorantGaramond', serif; font-size: 20px;
}

header nav a {
  font-family: 'AzoSans', serif; margin-right: 20px; font-size: 14px; display: inline-block;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

header nav a.atPage {
  color: #C99D6C;
}

header.atFooter a {
  color: #FFF;
}

.mobButton {
  display: none;       
}

/* ==========================================================================
   CONTENT */

/*.wrapper {
  width: 100%; padding-top: calc(100vh - 80px);
  position: relative;
  height: 100vh; overflow-y: scroll; -webkit-overflow-scrolling: touch;
}*/

.topPush {
  height: calc(100vh - 80px);
}

.fixedBg {
  width: 100%;
  position: fixed; z-index: -1; top: 0; left: 0;
  -webkit-height: 100vh;
  -moz-height: 100vh;
  -ms-height: 100vh;
  -o-height: 100vh;
  height: 768px;
  height: 100vh;
  overflow: hidden;
}

.fixedBg .topBg, .fixedBg .footerBg {
  width: 100%; height: 100%; background-position: center bottom; background-size: cover;
}

.fixedBg .topBg {
  background-image: url('../img/topBg.jpg');
}

.fixedBg .footerBg {
  background-image: url('../img/footerBg.jpg');
}

.content {
  background-color: #FFF; position: relative;
}

/* FRONT */

.front {
  position: relative; width: 100%; z-index: 0;
  -webkit-height: 100vh;
  -moz-height: 100vh;
  -ms-height: 100vh;
  -o-height: 100vh;
  height: 768px;
  height: 100vh;
  pointer-events: none;
}

.front.stuck {
  position: fixed; top: 0; pointer-events: none; /*right: 15px;*/
}

.front.stuck.stuckBtm {
  position: absolute; top: auto; bottom: 0; right: 0;
}

.front section {
  position: absolute; top: 0; left: 0; width: 100%;
}

.secTitle {
  height: 60vh; padding-top: 100px; opacity: 0;
}

.secTitle p {
  display: none; color: #808080;
}

.front section:first-of-type .secTitle {
  opacity: 1;
}

.secImgWrap {
  position: relative; height: 40vh;
}

.secImg {
  position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #000; background-position: center; background-size: cover;
}

.secBgMob {
  display: none !important;
}

.front section:first-of-type .secImg {
  display: block;
}

/*.front section:first-of-type .secTitle, */.front section:first-of-type .secImg {
  opacity: 1;
}

/* BACK */

.back p {
  color: #808080;
}

.back section {
  padding-bottom: calc(100vh + 80px);
}

/* ==========================================================================
   FOOTER */

footer {
  width: 100%;
  -webkit-height: 100vh;
  -moz-height: 100vh;
  -ms-height: 100vh;
  -o-height: 100vh;
  height: 100vh;
  padding-top: 100px; position: relative;
}

footer * {
  color: #FFF;
}

footer h1 {
  margin-bottom: 30px;
}

footer .footerContentWrap > p {
  margin-bottom: 30px; padding-right: 100px; color: #AAAAAA; line-height: 30px;
}

footer h3 {
  font-family: 'AzoSans', serif; margin-top: 50px;
}

footer h3 span, footer .inclusive {
  font-size: 14px;
}

footer nav {
  width: 100%; position: absolute; bottom: 0;
  padding: 20px 50px;
  display: flex; justify-content: space-between; align-items: center;
}

footer nav * {
  font-family: 'AzoSans', serif; font-size: 14px; color: #FFF;
}

footer .left > div {
  display: inline-block; margin-right: 100px; vertical-align: top;
}

footer .info, footer .allrights {
  display: block;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */


/*HEIGHT*/

@media only screen and (max-height: 950px) {

  h1 {
    font-size: 48px;
  }

  /* ==========================================================================
     CONTENT */

  /* FRONT */

  .secTitle {
    height: 66.66vh;
  }

  .secImgWrap {
    height: 33.33vh;
  }

  /* ==========================================================================
   FOOTER */

  footer h1 {
    margin-bottom: 30px;
  }

  footer .footerContentWrap > p {
    margin-bottom: 10px; padding-right: 100px; font-size: 14px; line-height: 150%;
  }

  footer h3 {
    margin-top: 40px;
  }

  footer nav {
    width: 100%; position: absolute; bottom: 0;
    padding: 20px 50px;
    display: flex; justify-content: space-between; align-items: center;
  }

}

@media only screen and (max-height: 600px) {

  h1 {
    font-size: 32px;
  }

  /* ==========================================================================
     CONTENT */

  /* FRONT */

  .secTitle {
    height: 100vh;
  }

  /* ==========================================================================
   FOOTER */

  footer .footerContentWrap > p {
    display: none;
  }

}

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

  .secImgWrap {
    display: none;
  }

}

/*WIDTH*/

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

  .col2-left-long > div:first-of-type {
    width: 60%;
  }

  .col2-left-long > div:last-of-type {
    width: 40%;
  }

  .col2-left-half > div:first-of-type {
    width: 70%;
  }

  .col2-left-half > div:last-of-type {
    width: 30%;
  }

  h1 {
    font-size: 48px;
  }

  /* ==========================================================================
     HEADER */

  header nav {
    margin-right: 20px;
  }  

  header nav a:not(.logo) {
    margin-top: 10px;
  }  

  /* ==========================================================================
     CONTENT */

  /* FRONT */

  .secTitle {
    height: 66.66vh;
  }

  .secImgWrap {
    height: 33.33vh;
  }

  /* ==========================================================================
   FOOTER */

  footer h1 {
    margin-bottom: 30px;
  }

  footer .footerContentWrap > p {
    margin-bottom: 10px; padding-right: 100px; font-size: 14px; line-height: 150%;
  }

  footer h3 {
    margin-top: 40px;
  }

  footer nav {
    width: 100%; position: absolute; bottom: 0;
    padding: 20px 50px;
    display: flex; justify-content: space-between; align-items: flex-start;
  }  

}

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

  .col2-left-long > div:first-of-type {
    width: 100%;
    padding-right: 0;
  }

  .col2-left-long > div:last-of-type {
    width: 100%;
    padding-left: 0;
  }

  .col2-left-half > div:first-of-type {
    width: 100%;
    padding-right: 0;
  }

  .col2-left-half > div:last-of-type {
    width: 100%;
    padding-left: 0;
  }

  .maxWidth {
    padding-left: 30px; padding-right: 50px; 
  }

  /* ==========================================================================
     HEADER */

  header {
    height: auto; padding: 15px 30px;
    display: block;
  }

  header a.logo {
    font-size: 28px; display: block; margin-bottom: 10px;
  }

  header nav {
    margin-right: 20px;
  }  

  header nav a:not(.logo) {
    margin-right: 20px; font-size: 16px; margin-bottom: 5px;
  }

  header nav a.atPage {
    color: #C99D6C;
  }

  header.atFooter a {
    color: #FFF;
  }  

  header button {
    display: none;
  }

  .mobButton {
    display: block;
    right: 40px;
    height: 40px;
    padding: 0 1em;
    transform: rotate(-90deg);
    transform-origin: 100% 0;
    position: fixed;
    line-height: 40px; 
    bottom: 80px; z-index: 1;
  }

/* ==========================================================================
   CONTENT */

/*  .wrapper {
    padding-top: calc(75vh - 80px);    
  }*/

  .topPush {
    height: calc(75vh - 80px);  
  }


  /* FRONT */

  .fixedBg .topBg {
    background-image: url('../img/topBgMobile.jpg');
  }

  .fixedBg .footerBg {
    display: none;
  }

  .front {
    -webkit-height: auto;
    -moz-height: auto;
    -ms-height: auto;
    -o-height: auto;
    height: auto;
  }

  .front section {
    position: static; top: auto; left: auto;
  }

  .secTitle {
    height: auto; padding-top: 100px; padding-bottom: 100px; opacity: 1;
  }

  .secTitle h1 {
    margin-bottom: 50px;
  }

  .secTitle p {
    display: block; margin-bottom: 20px;
  }

  .secTitle p:last-of-type {
    margin-bottom: 0;
  }  

  .secImgWrap {
    position: relative; height: 98vh;
  }

  .secImg {
    display: none;
  }

  .secBgMob {
    display: block !important;
  }

  /* BACK */

  .back {
    display: none;
  }

  /* ==========================================================================
     FOOTER */

  footer {
    -webkit-height: auto;
    -moz-height: auto;
    -ms-height: auto;
    -o-height: auto;
    height: auto;
    background-color: #000;
    padding-top: 100px;
    background-image: url(../img/footerBgMobile.jpg);
    background-size: contain; background-repeat: no-repeat;
    background-position: center bottom 150px;
  }

  footer h1 {
    margin-bottom: 30px;
  }

  footer .footerContentWrap > p {
    margin-bottom: 30px; padding-right: 100px;
  }

  footer h3 {
    margin-top: 50px;
  }

  footer nav {
    position: static;
    padding: 40px 30px;
    display: block; background-color: #000;
    margin-top: 50vh;
  }

  footer nav * {
    font-family: 'AzoSans', serif; font-size: 14px; color: #FFF;
  }

  footer .left > div {
    display: block; margin-right: 0; margin-bottom: 20px;
  }

  footer .allrights {
    padding-right: 100px;
  }

}

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

  footer {
    background-position: center bottom 300px;
  }  

  footer nav {
    margin-top: 20vh;
  }  

}


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

  h1 {
    font-size: 30px;
  }

}

@media (min-width:768px) and (max-width: 1114px){		
	footer .left > div {
		margin-bottom: 20px;  
	}
	footer nav .left {
		width:45%;
		display: inline-block;
		vertical-align: top;
	}
    footer nav .right {
		width:45%;
		display: inline-block;
		vertical-align: top;
    }
	footer .allrights {
		padding-right: 0;
	}
}















