.photos-img, .photos-img li, .photos-img li:after, .photos-bg, .slogan-circle, .slogan-circle:before, .slogan-circle:after {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}

.photos {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.photos-img li:after {
  content: "";
  background: #000;
  opacity: 0.3;
}
.photos-bg {
  background-position: center;
  background-size: cover;
  -moz-transform: scale(1.1) perspective(500px) translateZ(0px);
  -ms-transform: scale(1.1) perspective(500px) translateZ(0px);
  -webkit-transform: scale(1.1) perspective(500px) translateZ(0px);
  transform: scale(1.1) perspective(500px) translateZ(0px);
  -moz-transition: -moz-transform 0s;
  -o-transition: -o-transform 0s;
  -webkit-transition: -webkit-transform 0s;
  transition: transform 0s;
}
.show-img .photos-bg {
  -moz-transform: scale(1.1) perspective(500px) translateZ(-50px);
  -ms-transform: scale(1.1) perspective(500px) translateZ(-50px);
  -webkit-transform: scale(1.1) perspective(500px) translateZ(-50px);
  transform: scale(1.1) perspective(500px) translateZ(-50px);
  -moz-transition-duration: 10s;
  -o-transition-duration: 10s;
  -webkit-transition-duration: 10s;
  transition-duration: 10s;
}
.photos-slogan {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 70vh;
  width: 70vh;
  min-height: 420px;
  min-width: 420px;
  max-width: 80vw;
  max-height: 80vw;
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  letter-spacing: 2px;
  z-index: 2;
}

.slogan-circle {
  border-radius: 50%;
  border: rgba(255, 255, 255, 0.2) solid 1px;
  box-sizing: border-box;
  -moz-transition: -moz-transform 1s;
  -o-transition: -o-transform 1s;
  -webkit-transition: -webkit-transform 1s;
  transition: transform 1s;
}
.slogan-circle:before, .slogan-circle:after {
  content: "";
  border-radius: 50%;
  border: rgba(255, 255, 255, 0.2) solid 1px;
  -moz-transition: -moz-transform 1s, opacity 1s;
  -o-transition: -o-transform 1s, opacity 1s;
  -webkit-transition: -webkit-transform 1s, opacity 1s;
  transition: transform 1s, opacity 1s;
  z-index: 1;
  box-sizing: border-box;
}
.slogan-circle-L, .slogan-circle-R {
  position: absolute;
  height: 100%;
  width: 50%;
  overflow: hidden;
  z-index: 2;
}
.slogan-circle-line {
  position: absolute;
  height: 100%;
  width: 100%;
  overflow: hidden;
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.slogan-circle-line:before {
  position: absolute;
  content: "";
  width: 200%;
  height: 100%;
  border: #FFF solid 1px;
  border-radius: 50%;
  box-sizing: border-box;
}
.slogan-circle-L {
  left: 50%;
}
.slogan-circle-L .slogan-circle-line {
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -webkit-transform-origin: left center;
  transform-origin: left center;
}
.slogan-circle-L .slogan-circle-line:before {
  right: 0;
}
.show-img .slogan-circle-L .slogan-circle-line {
  -moz-animation: circle-L 9s linear;
  -webkit-animation: circle-L 9s linear;
  animation: circle-L 9s linear;
}
.slogan-circle-R .slogan-circle-line {
  -moz-transform-origin: right center;
  -ms-transform-origin: right center;
  -webkit-transform-origin: right center;
  transform-origin: right center;
}
.show-img .slogan-circle-R .slogan-circle-line {
  -moz-animation: circle-R 9s linear;
  -webkit-animation: circle-R 9s linear;
  animation: circle-R 9s linear;
}
.slogan-content {
  position: absolute;
  text-align: center;
  width: 80%;
  top: 50%;
  left: 10%;
  -moz-transform: translateY(-40%);
  -ms-transform: translateY(-40%);
  -webkit-transform: translateY(-40%);
  transform: translateY(-40%);
  color: #FFF;
  z-index: 5;
  opacity: 0;
  -moz-transition: opacity 1s 1s;
  -o-transition: opacity 1s 1s;
  -webkit-transition: opacity 1s;
  -webkit-transition-delay: 1s;
  transition: opacity 1s 1s;
}
.show-img .slogan-content {
  opacity: 1;
}
.slogan-content a {
  color: #FFF;
  font-size: 0.75em;
  display: inline-block;
  opacity: 0.5;
}
.slogan-content a:after {
  content: "";
  display: block;
  background: #FFF;
  height: 2px;
  margin-top: 5px;
}
.slogan-text {
  margin-bottom: 50px;
  font-size: 0.875em;
}
.slogan-title {
  font-size: 2.5rem;
  letter-spacing: 5px;
  margin-bottom: 10px;
  padding-left: 5px;
}

.show-on {
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
.show-on:before {
  opacity: 0;
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
.show-on:after {
  opacity: 0;
  -moz-transform: scale(1.5);
  -ms-transform: scale(1.5);
  -webkit-transform: scale(1.5);
  transform: scale(1.5);
}

@-moz-keyframes circle-R {
  0% {
    transform: rotate(180deg);
  }
  35% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@-webkit-keyframes circle-R {
  0% {
    transform: rotate(180deg);
  }
  35% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes circle-R {
  0% {
    transform: rotate(180deg);
  }
  35% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@-moz-keyframes circle-L {
  0% {
    transform: rotate(180deg);
  }
  35% {
    transform: rotate(180deg);
  }
  70% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@-webkit-keyframes circle-L {
  0% {
    transform: rotate(180deg);
  }
  35% {
    transform: rotate(180deg);
  }
  70% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes circle-L {
  0% {
    transform: rotate(180deg);
  }
  35% {
    transform: rotate(180deg);
  }
  70% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@media screen and (max-height: 740px) {
  .slogan-title {
    letter-spacing: 0px;
    padding-left: 0px;
  }
}
@media screen and (max-height: 640px) {
  .slogan-title {
    font-size: 2rem;
  }
}
@media screen and (max-height: 600px) {
  .photos {
    position: absolute;
    height: 600px;
  }
}
@media screen and (max-width: 640px) {
  .slogan-text {
    margin-bottom: 25px;
  }
  .slogan-title {
    font-size: 1.75rem;
    letter-spacing: 0px;
    padding-left: 0px;
    margin-bottom: 0;
  }
}
