/****************** custom header gradient for mobile ******************/

.template--home header {
    position: absolute;
    background: -moz-linear-gradient(top, rgba(0,0,0,0.6) 0%, transparent 100%);
    background: -webkit-linear-gradient(top, rgba(0,0,0,0.6) 0%, transparent 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.6)), to(transparent));
    background: -o-linear-gradient(top, rgba(0,0,0,0.6) 0%, transparent 100%);
    background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, transparent 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000', GradientType=0);
}

/****************** custom site name ******************/

.template header h1, .template header h2 {
    text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5);
}

.template--home header h1 a:hover, .template--home header h2 a:hover {
    color: #fff;
}

.template--child header h1 a:hover, .template--child header h2 a:hover {
    color: #fff;
}

@media screen and (min-width:769px) {
    .template--home header .template__logo.masthead-reg {
        display: none;
    }
    
    .template--home header .template__logo.masthead-sticky {
        display: inline-block;
    }
    
    .template header h1, .template header h2 {
        font-weight: 200;
         color: #222;
         text-shadow: none;
         font-size: 2.5rem;
    }
    
    .template--home header h1 a, .template--home header h2 a {
        color: #222;
    }
    
    .template--home header h1 a:hover, .template--home header h2 a:hover {
        color: #222;
    }
    
    .template--home header h1 a:visited, .template--home header h2 a:visited {
        color: #222;
    }
    
    .template--child header h1 a:visited, .template--child header h2 a:visited {
        color: #222;
    }
    .template--child header h1 a, .template--child header h2 a {
        color: #222;
        text-decoration: none;
    }
    
    .template--child header h1 a:hover, .template--child header h2 a:hover {
        color: #222;
    }
}

@media screen and (max-width: 1024px) {
    .template--child header h1, .template--child header h2 {
        font-weight: 500!important;
    }
    
    .template--child header h1 a, .template--child header h2 a {
        color: #fff!important;
    }
    
    .template--child header h1 a:hover, .template--child header h2 a:hover {
        color: #fff!important;
    }
    
    .template--child header h1 a:visited, .template--child header h2 a:visited {
        color: #fff!important;
    }
}

/****************** custom nav bar ******************/

#desktop-nav li {
    border-left: none;
}

#desktop-nav {
    background: none;

}

#desktop-nav ul {
    background: rgba(255,255,255,0.9);
}

@media screen and (max-width: 1024px) {
   .template--child #desktop-nav {
        background: rgba(255,255,255,1);
    }
}

@media screen and (max-width:768px) {
    #desktop-nav ul {
        background: none;
    } 
    
    .template--child #desktop-nav {
        background: rgba(255,255,255,1);
    }
    
    .template--home #desktop-nav {
        background: rgba(255,255,255,0.9);
    }
}

#desktop-nav a {
    color: #222;
    display: inline-block;
    font-size: 0.875rem;
    padding: 4px 0 1px 0;
    margin: 0 8px 0 10px;
    text-decoration: none;
     border-bottom: 3px solid rgba(80, 227, 194, 0);
     -webkit-transition: border-bottom .4s; /* Safari */
    transition: border-bottom .4s;
}

#desktop-nav a:hover, #desktop-nav a:visited {
    color: #222;
    text-decoration: none;
    border-bottom: 3px solid rgba(80, 227, 194, 1);
    -webkit-transition: border-bottom .2s; /* Safari */
    transition: border-bottom .2s;
}

#desktop-nav li:first-child a {
    padding-left: 0;
    margin-left: 0;
}

#desktop-nav li.current a {
    font-weight: 400 !important;
    font-size: 0.9375rem;
    padding: 0 0 1px 0;
    border-bottom: 3px solid rgba(80, 227, 194, 1);
}

#desktop-nav li:first-child.current a {
    font-weight: 400 !important;
    font-size: 0.9375rem;
    padding: 0;
}

/****************** hero video ******************/

#home-video {
    position: absolute;
    display: block;
    -o-object-fit: cover;
    /* object-fit: cover; */
    min-height: 0;
    /* width: 100%; */
    right: 0;
}

#video-controls {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: left;
}

#btn-video-controls {
  width: 14px;
    height: 16px;
    background: url(../images/ico-pause.svg) 50% 50% no-repeat;
    background-size: contain;
    opacity: 0.6;
    transition: opacity .3s;
}

#btn-video-controls:hover {
    opacity: 1;
    transition: opacity .2s;
}

#btn-video-controls.paused {
    background: url(../images/ico-play.svg) 50% 50% no-repeat;
    background-size: contain;
    opacity: 0.6;
    transition: opacity .2s;
}

#btn-video-controls.paused:hover {
    opacity: 1;
    transition: opacity .2s;
}

@media screen and (max-width: 768px) {
   #home-video, #video-controls {
       display: none;
   }
}

/****************** custom hero text ******************/

.template__photo__text h2 {
    font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif;
    font-size: 2rem;
}

.template__photo__text p {
    max-width: 500px;
    display: block;
}

@media screen and (min-width:769px) {

    .template__photo__text {
        max-width: 500px;
        padding-left: 0;
        padding-right: 0;
            padding: 25px 0 29px 0;
        bottom: 85px;
        background: transparent;
    }
    
.template__photo__text h2 {
    color: #000;
    font-size: 3.5rem;
    line-height: 0.9;
    margin-bottom: 25px;
    font-weight: 400;
}
    
    .template__photo__text h2 span {
        color: #757575;
    }

    .template--home header {
        background: none;
    }
}

/****************** custom hero ******************/

.template--home .template__photo {
    /*background: none!important;*/
}

@media screen and (max-width:768px) {
    
    .template--home .template__photo {
        background: url(../images/img-desktop-hero.jpg) right 0px no-repeat!important;
    }

    .template--home .template__photo {
        height: 820px!important;
        max-height: 820px!important;
        background-size: 1100px!important; 
    }
    
    .template--child-photo .template__photo {
        height: 132px;
    }
    
    .template__photo__text {
        background: #eee;   
        padding: 25px 38px 24px 38px;
    }

}

@media screen and (max-width: 460px) {
    .template--home .template__photo {
        height: 700px!important;
        background-size: 900px!important;
    }
}

@media screen and (max-width: 375px) {
    .template--home .template__photo {
        height: 700px!important;
        background-size: 700px!important;
    }
}

/****************** custom 4-up component ******************/

.template--home .promo--4-up .button {
	display: none;
}

.promo {
	text-align: left;
}

.promo .promo__image {
    /*min-height: 350px;*/
    text-align: left;
    margin-bottom: 24px;
        min-height: 225px;
}

@media screen and (max-width: 1024px) {
   .promo .promo__image {
        text-align: center;
    } 
}

.promo--4-up .promo__equalizer {
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 3rem;
}

.promo--4-up .promo__equalizer p {
    margin-bottom: 3rem;
}

.promo--4-up .columns:nth-child(1) .promo__equalizer {
    margin-left: 7px;
}

.promo--4-up .columns:nth-child(4) .promo__equalizer {
    margin-right: 7px;
}

/****************** spinner ******************/

.spinner-wrapper {
  display: block;
  position: absolute;
  text-align: center;
  left: 50%;
  top: 80px;
  transform: translateX(-50%);
  z-index: 1000;
}
.mobile .spinner-wrapper {
  top: 30%;
}
.spinner-wrapper.active {
  display: inline-block;
}

.spinner {
  animation: rotator 1.4s linear infinite;
}

@keyframes rotator {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(270deg);
  }
}
.path {
  stroke-dasharray: 187;
  stroke-dashoffset: 0;
  transform-origin: center;
  animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite;
}

@keyframes colors {
  0% {
    stroke: #59B7B5;
  }
  100% {
    stroke: #59B7B5;
  }
}
.path {
  stroke-dasharray: 187;
  stroke-dashoffset: 0;
  transform-origin: center;
  animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite;
}

@keyframes dash {
  0% {
    stroke-dashoffset: 187;
  }
  50% {
    stroke-dashoffset: 46.75;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 187;
    transform: rotate(450deg);
  }
}
.spinner {
  animation: rotator 1.4s linear infinite;
}

@keyframes rotator {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(270deg);
  }
}


/****************** tiles ******************/

main img {
  margin-bottom: 5px;
}

#locations {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: -moz-linear-gradient(top, #94ae4a 0%, white 400px);
  background: -webkit-linear-gradient(top, #94ae4a 0%, white 400px);
  background: linear-gradient(to bottom, #94ae4a 0%, white 400px);
}
#locations.explore {
  display: block;
}
#locations.slide-in {
  animation: tilesSlideIn 0.7s ease-out forwards;
  animation-delay: .15s;
}
#locations footer {
  min-height: 100px;
  max-width: 1280px;
  margin: 0 auto;
  margin-top: 60px;
}
#locations footer .btn-footer {
  width: 60px;
  height: 60px;
  border-radius: 50%;
}
#locations footer #btn-footer-prev {
  background: #18453b url(../images/ico_arrow_left.svg) no-repeat 50% 50%;
  background-size: 35px;
  transition: transform .25s ease-in-out;
}
#locations footer #btn-footer-prev:hover {
  transform: scale(1.2);
  transition: transform .15s ease-in-out;
}
#locations footer #btn-footer-home {
  background: #18453b url(../images/ico_home.svg) no-repeat 50% 47%;
  background-size: 35px;
  transition: transform .25s ease-in-out;
}
#locations footer #btn-footer-home:hover {
  transform: scale(1.2);
  transition: transform .15s ease-in-out;
}
#locations footer #btn-footer-next {
  background: #18453b url(../images/ico_arrow_right.svg) no-repeat 50% 50%;
  background-size: 35px;
  transform: scale(1);
  transition: transform .25s ease-in-out;
}
#locations footer #btn-footer-next:hover {
  transform: scale(1.2);
  transition: transform .15s ease-in-out;
}

#tiles-wrapper {
  margin-bottom: 15px;
  max-width: 1280px;
  margin: 0 auto;
}

#featured-wrapper {
  color: #fff;
  text-align: center;
  margin-top: 80px;
}
@media screen and (max-width: 414px) {
  #featured-wrapper {
    margin-top: 80px;
  }
}
#featured-wrapper h2 {
  padding: 0 0 30px 0;
  font-family: 'Gotham SSm A', 'Gotham SSm B', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #17453b;
  margin-bottom: 0;
  padding-bottom: 0;
  letter-spacing: 0;
}
#featured-wrapper h3 {
  display: inline-block;
  color: #fff;
  color: #17453b;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: .75rem;
  padding-top: 10px;
  border-top: 5px solid #fff;
  font-family: 'Gotham SSm A', 'Gotham SSm B', sans-serif;
}
#featured-wrapper img {
  width: 240px;
}

#featured {
  display: block;
  margin-left: 12px;
  margin-right: 12px;
  margin-bottom: 15px;
  margin-top: 30px;
  padding: 5px;
  border-radius: 4px;
}
#featured > div {
  position: relative;
  min-height: 420px;
  /*box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);*/
}
@media screen and (max-width: 654px) {
  #featured > div {
    min-height: 600px;
  }
}

#featured-cta {
  position: absolute;
  height: 100%;
  width: 100%;
  text-align: left;
  background: #fff;
  width: 33.333%;
  color: #333;
}
@media screen and (max-width: 1120px) {
  #featured-cta {
    width: 40%;
  }
}
@media screen and (max-width: 974px) {
  #featured-cta {
    width: 50%;
  }
}
@media screen and (max-width: 654px) {
  #featured-cta {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 380px;
  }
}
#featured-cta h3 {
  font-weight: 500;
  line-height: 1.1;
  font-size: 1.75rem;
}
@media screen and (max-width: 414px) {
  #featured-cta h3 {
    font-size: 1.5rem;
  }
}
#featured-cta > div {
  position: absolute;
  left: 0;
  padding: 60px;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
}
@media screen and (max-width: 414px) {
  #featured-cta > div {
    padding: 30px;
  }
}

#featured-photo {
  position: absolute;
  width: 66.666%;
  left: 33.333%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width: 1120px) {
  #featured-photo {
    width: 60%;
    left: 40%;
  }
}
@media screen and (max-width: 974px) {
  #featured-photo {
    width: 50%;
    left: 50%;
  }
}
@media screen and (max-width: 654px) {
  #featured-photo {
    position: relative;
    width: 100%;
    left: 0;
    height: auto;
    min-height: 400px;
  }
}
#featured-photo a {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  border: 1px solid #dedede;
  transform: translate(-50%, -50%);
  background: #dedede url(../images/ico-playbutton.svg) no-repeat 55% center;
}

@keyframes tilesSlideIn {
  0% {
    top: 140%;
  }
  100% {
    top: 0;
  }
}
#tiles {
  position: relative;
}

.tile {
  padding: 8px 12px;
  width: 33.333%;
  min-width: 320px;
  float: none;
  opacity: 0;
}
.tile.active {
  float: none;
  opacity: 1;
  transition: opacity .25s ease-in-out;
}
@media only screen and (max-width: 974px) {
  .tile {
    width: 50%;
  }
}
@media only screen and (max-width: 654px) {
  .tile {
    width: 100%;
  }
}
.tile > div {
  border-radius: 4px;
  margin: 5px;
  background: #fff;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
}
.tile > div .fb-post {
  min-height: 257px;
}
.tile > div img {
  width: 100%;
}
.tile blockquote {
  margin-bottom: 0;
  background: #fff;
  border: none;
  font-size: 0.9375rem;
}
.tile .EmbeddedTweet,
.tile iframe {
  border: none !important;
  margin: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
.tile .EmbeddedTweet {
  border: none !important;
}
.tile .EmbeddedTweet--mediaForward .EmbeddedTweet-tweet {
  border: none !important;
}
.tile .fbStoryAttachmentImage {
  max-width: 100% !important;
  max-height: 170px;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.tile ._dcs {
  box-shadow: none !important;
}

.custom-tile > div {
  position: relative;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/****************** social tile page headers ******************/

div#social-page-titles h1 {
    font-size: 3.1rem;
    text-align: center;
    font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif;
    color: #000;
    margin-bottom: 0;
    letter-spacing: 2px;
}

div#social-page-titles h2 {
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 3rem;
    color: #000;
    font-weight: 400;
}

.promo a {
    color: #444;
    text-decoration: none;
    text-align: center;
}

.accordion-content {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

a.button.hollow.pill {
    margin-bottom: 40px;
}
/****************** our values page ******************/

/*span.quote {*/
/*    font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif;*/
/*    font-size: 1.1rem;*/
/*}*/


.voices-tiles img {
    margin-bottom: 30px;
}


twitter-widget {
    margin-bottom: 30px !important;
    margin-top: 0 !important;
}

.template .contextual-nav nav ul li {
    margin-bottom: 10px;
}

/* start dashboard styles */

.resp-container {
    position: relative;
    overflow: hidden;
    padding-top: 56.25%;
}

.resp-container-desktop {
    display: block;
}

.resp-container-mobile {
    display: none;
}

@media screen and (max-width: 768px) {
    .resp-container-desktop {
        display: none;
    }
    
    .resp-container-mobile {
         display: -webkit-box;display: -ms-flexbox;display: flex;
    }
}

.resp-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.template--child .promo--gallery {
    margin-bottom: 30px;
    padding-top: 40px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

@media screen and (min-width: 641px) {

    .promo--gallery .row .medium-4:nth-child(1) .promo__equalizer {
    	border-right: 1px solid #eee;
        	padding-right: 15px;
    }
    
    .promo--gallery .row .medium-4:nth-child(2) .promo__equalizer {
    	border-right: 1px solid #eee;
    	padding-left: 15px;
        	padding-right: 15px;
    }
    
    .promo--gallery .row .medium-4:nth-child(3) .promo__equalizer {
        	padding-left: 15px;
    }

}

.promo--gallery.promo a {
    color: #444;
    text-decoration: none;
    text-align: left;
}

.promo--gallery .promo__image {
    display: none;   
}

#dashboard {
    margin-bottom: 40px;
}

#dashboard h2 {
    margin-bottom: 30px;
}

.dashboard-intro p {
    font-family: "Times New Roman",Times,serif;
    font-weight: normal;
    font-size: 1.5rem;
    line-height: 1.25;
    margin-bottom: 30px;

}

.blockquote {
    margin: 40px 0;
}

/* end dashboard styles */