/* base styles */

/* Overide text to display white */
html * {
  color: #fff;
}

/* md+ include padding for side navbar */
@media (min-width: 992px) {
  body {
    padding-left: 10%;
  }
}

/* sm- get rid of padding for side navbar */
@media (max-width: 991px) {
  body {
    padding-top: 50px !important;
    padding-left: 0 !important;
  }
}

h1,
h2 {
  margin-top: 0;
}

h1 {
  font-size: 40px;
}

h2 {
  font-size: 26px;
}


/* helper classes */

.font-size-100 {
  font-size: 100px;
}

.font-size-90 {
  font-size: 90px;
}

.font-size-80 {
  font-size: 80px;
}

.font-size-20 {
  font-size: 20px;
}


/* sets overall page container max width */

.container-fluid {
  max-width: 100%;
}


/* fades divs that are not hovered - currently commented out until properly implemented */

/*.container-fluid > div {
  -webkit-transition:0.5s;
  transition:0.5s;
  opacity:0.6;
}

.container-fluid:hover > div {
  opacity: 0.6;
}

.container-fluid > div:hover {
  opacity: 1;
}*/


/* sidebar */

.sidebar {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 10%;
  height: 100vh;
  margin: 0;
  padding: 0;
  list-style: none;
}


/* all sidebar links */

.sidebar-link {
  position: relative;
  display: block;
  height: 20vh;
  background-color: #000;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center;
  text-transform: uppercase;
}

.sidebar-link span {
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  color: #000;
}

.sidebar-link:hover {
  color: #fff;
  background-color: #333;
}

.sidebar-link:hover span {
  color: #fff;
}

.is-inview:after {
  position: absolute;
  top: 45%;
  right: 0;
  border-top: 8px solid transparent;
  border-right: 10px solid #fff;
  border-bottom: 8px solid transparent;
  content: '';
}

.is-inview span {
  color: #fff;
}



/* icons */

.sidebar-link-home,
.sidebar-link-models,
.sidebar-link-map,
.sidebar-link-about,
.sidebar-link-contact {
  background-size: 100%;
}

/* home */

.sidebar-link-home {
  background-image: url(../img/sidebar-home.svg);
}


/* models */

.sidebar-link-models {
  background-image: url(../img/sidebar-models.svg);
}



/* map */

.sidebar-link-map {
  background-image: url(../img/sidebar-map.svg);
}


/* about */

.sidebar-link-about {
  background-image: url(../img/sidebar-about.svg);
}



/* contact */

.sidebar-link-contact {
  background-image: url(../img/sidebar-contact.svg);
}



/* all tesla-panels */

.tesla-panel {
  min-height: 100vh;
  padding-top: 10vh;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
}


/* tesla-panel - home */

.tesla-panel-home {
  background-image: url(../img/model-s-mountains.jpg);
}


/* tesla-panel - modelshome */

.tesla-panel-modelshome {
  background-image: url(../img/models.png);
  /* Background needs to be centered to page in order to avoid cutoff */
}


/* tesla-panel - model1 */

.tesla-panel-model1 {
  background-image: url(../img/model-s.png);
}


/* tesla-panel - model2 */

.tesla-panel-model2 {
  background-image: url(../img/model-x.jpg);
}


/* tesla-panel - model3 */

.tesla-panel-model3 {
  background-image: url(../img/model-3.jpeg);
}


/* tesla-panel - map */

.tesla-panel-map {
  background-image: url(../img/map-blurred.jpg);
  padding-bottom: 10vh;
}


/* tesla-panel - about */

.tesla-panel-about {
  background-image: url(../img/tesla-factory.jpeg);
}


/* tesla-panel - contact */

.tesla-panel-contact {
  background-image: url(../img/tesla-showroom.jpeg);
  min-height: 101vh;
}

.tesla-panel-contact img {
  margin-left: auto;
  margin-right: auto;
  display: block;
}


/* text panel */

.text-panel {
  padding: 2em;
  background-color: rgba(0, 0, 0, .3);
}


.text-panel-about {
  background-color: rgba(0, 0, 0, .5);
}

/* heading classes */

.home-heading {
  margin-bottom: 15px;
}

.home-subheading {
  margin-bottom: 20px;
}



/* tesla-panel fade in */

.tesla-panel {

    -webkit-animation: fadein 1.5s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 1.5s; /* Firefox < 16 */
        -ms-animation: fadein 1.5s; /* Internet Explorer */
         -o-animation: fadein 1.5s; /* Opera < 12.1 */
            animation: fadein 1.5s;
}

@keyframes fadein {
    from { opacity: 0.3; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0.3; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0.3; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0.3; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0.3; }
    to   { opacity: 1; }
}


/* Remove space around loading elements */
.loading{
  border: 0;
  padding: 0;
}

/* Stop comment area from resizing */
textarea {
    resize: none;
}


.error{
  border:2px solid red;
}


/* Google Map embed responsive */
iframe, object, embed {
    max-width: 100%;

}

.google-maps iframe{
	pointer-events: none;
}

.google-maps iframe.clicked{
	pointer-events: auto;
}


/* small sizes */

@media (max-width: 991px) {
  .sidebar {
    width: 100vw;
    height: 50px;
    font-size: 12px;
  }

  .sidebar-link {
    float: left;
    width: 20vw;
    height: 50px;
    border-right: 1px solid #666;
    background-image: none !important;
  }

  .sidebar-link span {
    position: static;
    display: inline-block;
    padding: 15px 0 0;
  }

  .sidebar-link span,
  .sidebar-link:hover span,
  .is-inview span {
    color: #fff;
  }

  .is-inview:after {
    position: absolute;
    top: 31px;
    right: 45%;
    border-bottom: 10px solid #fff;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
  }

}
