/* Global Styles */

html,
body {
    width: 100%;
    height: 100%;
  	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
}

body {
  font-family: 'Work Sans', sans-serif;
	font-size:21px;
}

h1, h2, h3, h4 {
  text-transform: uppercase;
}


.text-vertical-center {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.text-vertical-center h1 {
    margin: 0;
    padding: 0;
    font-size: 4.5em;
    font-weight: 700;
}

/* Custom Button Styles */

.btn-dark {
    border-radius: 0;
    color: #fff;
    background-color: rgba(0,0,0,0.4);
    font-weight: 700;
}

.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active {
    color: #fff;
    background-color: rgba(0,0,0,0.7);
}

.btn-light {
    border-radius: 0;
    color: #000000;
    background-color: rgb(255,255,255);
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active {
    color: #000000;
    background-color: rgba(255,255,255,0.8);
}

/* Custom Horizontal Rule */

hr.small {
    max-width: 100px;
}

.scrollarrow {
  color: white;
  display: none;
  position: absolute;
  text-align: center;
  bottom: 20px;
  left: 50%;
  width: 60px;
  height: 60px;
  margin-left: -30px;
}

@media screen and (min-width: 768px) {
  .scrollarrow {
    display: block;
  }
}

.scrollarrow i {
  display: none;
}

.scrollarrow:before {
  content: "›";
  display: block;
  font-size: 60px;
  line-height: 60px;
  font-family: "Work Sans";
  position: absolute;
  top: 0;
  left: 24px;

    -webkit-transform: rotate(90deg); 
      -ms-transform: rotate(90deg); 
          transform: rotate(90deg); 
}

.scrollarrow:hover, 
.scrollarrow:focus {
  color: white;
  text-decoration: none;
}

/* Stage */

.lang-select {
    position: absolute;
    padding: 20px 20px 0 20px;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1000;
    text-align: center;
}

.lang-select a{
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.lang-select a:hover {
    color: #fff;
    text-decoration: underline;  
}

.lang-select a.active {
    text-decoration: underline; 
}

.lang-select .btn {
  padding-left: 8px;
  padding-right: 8px;
}

@media (min-width: 768px) {
    .lang-select {
        text-align: left;
    }

    .lang-select .btn {
      padding-left: 12px;
      padding-right: 12px;
    }
}

.stage {
    display: table;
    width: 100%;
    height: calc(100% + 300px);
    background: url(../img/bg.png) no-repeat center center;
    background-color: #000;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    background-size: contain;
    -o-background-size: contain;
    border-bottom: 160px solid #000;
}

.splash img {
  width: 100%;
  height: auto;
}

.cta {
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  display: inline-block;
  background-color: black;
  color: white !important;
  padding: 10px;
  font-weight: bold;
  position: relative;
}

.cta:hover {
  color: white;
}

.splash .cta {
  margin-top: 100px;
}

/* Intro */

.calloutdrawing {
  display: table;
  width: 100%;
  height: 300px;
  color: #fff;
  background-color:#000;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

.calloutdrawing h2{
  margin-top: 100px;
}

[data-toggle] {
  cursor: pointer;
}


/* About */

.about {
    padding: 50px 0;
}

/* Services */

.services {
    padding: 50px 0;
}

.service-item {
    margin-bottom: 30px;
}

/* Callout */

.calloutkarl {
	display: table;
	width: 100%;
	height: 770px;
	color: #fff;
    background-color:#000;
}

/* Portfolio */

.portfolio {
    padding: 50px 0;
}

.portfolio-item {
    margin-bottom: 30px;
}

.img-portfolio {
    margin: 0 auto;
    position: relative;
}

.img-portfolio:hover {
    opacity: 1;
}

/* Call to Action */

.call-to-action {
	font-size:15px;
    padding: 50px 0;
}

.call-to-action .btn {
    margin: 10px;
}

/* Slider */

/*!
 * Start Bootstrap - Full Slider HTML Template (http://startbootstrap.com)
 * Code licensed under the Apache License v2.0.
 * For details, see http://www.apache.org/licenses/LICENSE-2.0.
 */

html,
body {
    height: 100%;
}

.carousel,
.item,
.active {
    height: 100%;
}

.carousel-inner {
    height: 100%;
}

/* Background images are set within the HTML using inline CSS, not here */

.fill {
    width: 100%;
    height: 100%;
    background-position: center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}






/* Features */

.cbp-so-scroller {
  margin-top: 0em;
  overflow: hidden;
}

.cbp-so-section {
  margin-bottom: 0em;
}

/* Clear floats of children */
.cbp-so-section:before,
.cbp-so-section:after {
  content: " ";
  display: table;
}

.cbp-so-section:after {
  clear: both;
}

 Text styling
.cbp-so-section h2 {
  font-weight: 300;
}

.cbp-so-section p {
  font-weight: 300;
}


/* Sides */
.cbp-so-side {
  float: left;
  margin: 0;
  padding: 3em 4%;
  overflow: hidden;
  min-height: 12em;
  -webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
  -moz-transition: -moz-transform 0.5s, opacity 0.5s;
  transition: transform 0.5s, opacity 0.5s;
}

/* Clear floats of children */
.cbp-so-side:before,
.cbp-so-side:after {
  content: " ";
  display: table;
}

.cbp-so-side:after {
  clear: both;
}

.cbp-so-side-right {
  text-align: left;
}

.cbp-so-side-left {
  text-align: right;
}

.cbp-so-side-right img {
  float: left;
}

.cbp-so-side-left img {
  float: right;
}

.cbp-so-side img {
    max-width: 100%;
  }


@media screen and (max-width: 73.5em) {
  .cbp-so-section h2 {
    margin: 0;
  }
}


@media screen and (min-width: 768px) {
      /* Initial state (hidden or anything else) */
    .cbp-so-init .cbp-so-side {
      opacity: 0;
    }

    .cbp-so-init .cbp-so-side-left {
      -webkit-transform: translateX(-80px);
      -moz-transform: translateX(-80px);
      transform: translateX(-80px);
    }

    .cbp-so-init .cbp-so-side-right {
      -webkit-transform: translateX(80px);
      -moz-transform: translateX(80px);
      transform: translateX(80px);
    }

    /* Animated state */
    /* add you final states (transition) or your effects (animations) for each side */
    .cbp-so-section.cbp-so-animate .cbp-so-side-left,
    .cbp-so-section.cbp-so-animate .cbp-so-side-right {
      -webkit-transform: translateX(0px);
      -moz-transform: translateX(0px);
      transform: translateX(0px);
      opacity: 1;
    }
}



@media screen and (max-width: 767px) {
  .cbp-so-side {
    float: none;
  }

  .cbp-so-side-left {
    text-align: left !important;
  }

  .cbp-so-side img {
    max-width: 100%;
  }
  .stage{
      border-bottom: 0;
      height:100%;
  }
  .text-vertical-center{
      padding-top: 75vh;
  }
  h2{
      font-size: 27px;
  }
}




/* Store Locator */

#map-canvas, #panel {
    height: auto;
    padding: 0;
    background-color: #000;
}

#map-canvas {
  height: 500px;
}

.storelocator-panel .store-list {
  margin: 0;
  padding: 0;
}

.storelocator-panel .store-list a {
    color:#fff;
}

.storelocator-panel .store-list li {
  list-style: none;
}

.storelocator-panel .store-list li,
.storelocator-panel .directions-panel {
  padding: 20px;
}

.storelocator-panel .store-list li.store:hover {
  cursor: pointer;
  background: #333;
}

.storelocator-panel .store-list li.highlighted,
.storelocator-panel .store-list li.highlighted:hover {
  background: #000;
  color: #fff;
}

.store-list li.highlighted .email a,
.store-list li.highlighted .web a,
.store-list li.highlighted .email a:hover,
.store-list li.highlighted .web a:hover {
  color: #fff;
}

.storelocator-panel .directions {
  display: none;
}

.storelocator-panel .location-search {
  padding: 20px;
    background-color: #000;
}

.storelocator-panel .location-search input {
  width: 100%;
  font-size: 0.7em;
  padding: 0.3em;
    background-color: #000;
    border:1px solid #333333;
    color: #fff;
}

.storelocator-panel .location-search h2 {
  margin: 0;
  padding: 0;
  margin-bottom: 15px;
    color:#fff;
}

.storelocator-panel .store-list .no-stores {
  color: grey;
  font-size: 0.7em;

}

.storelocator-panel .store .features {
  display: none;
}

.storelocator-panel .feature-filter {
  overflow: hidden;
}

.storelocator-panel .feature-filter label {
  display: block;
  font-size: 0.8em;
  margin: 0 0.4em;
  float: left;
}

.store .title {
  font-weight: bold;
  text-transform: uppercase;
    color:#fff
}
.gm-style-iw .store .title,.gm-style-iw .store .address,
.gm-style-iw .store .phone,
.gm-style-iw .store .fax,
.gm-style-iw .store .web,
.gm-style-iw .store .email {
    color:#000;
}

.store .address,
.store .phone,
.store .fax,
.store .web,
.store .email {
  font-size: 0.7em;
  display: block;
    color:#fff
}

.storelocator-filter {
  background-color: #fff;
  height: 120px;
}

.store .features {
  overflow: hidden;
  color: grey;
  margin: 0;
  padding: 0;
  font-size: 70%;
}

.store .features li {
  display: inline;
  float: left;
  padding-right: 0.8em;
}

.store .action.directions,
.store .action.streetview {
  display: none;
}

.store .action {
  font-size: 0.8em;
  margin-right: 0.5em;
  cursor: pointer;
}

@media (min-width: 992px) {
  .store-list {
    overflow: scroll;
    position: absolute;
    bottom: 0;
    top: 120px;
    left:0;
    right:0;
  }
  #panel {
    height: 500px;
  }
  .storelocator-panel .location-search h2 {
    text-align: left;
  }
}
.over-cert{
    font-weight:bold;
    font-size: 19px;
    text-transform: uppercase;
}
#icon-limited{
    padding-top:30px;
    padding-bottom: 30px;
}
@media (max-width: 640px) {
    #icon-limited {
        max-width: 50%;
    }
}


.under-cert{
    padding-bottom:90px;
    font-weight:bold;
    font-size: 19px;
    text-transform: uppercase;
}
.stage-copy {
    text-transform: uppercase;
    font-weight:bold;
    font-size: 19px;
    color: #fff;
}
.karlboxInfo {
    background-color: #000;
    padding: 50px 0 100px 0;
    display: block;
    width: 100%;
}
@media (min-width: 992px) {
    .karlboxInfo {
        padding: 0 0 140px 0;
    }
}
.darrow{
    width:10px !important;
}

/* Footer */

footer {
	font-size:15px;
  padding: 0;
  margin: 50px 0;
}
