@charset "utf-8";
/* CSS Document */
body {
  margin: 0;
  padding: 0;
}

.flex-container {
  position: absolute;
  height: 100vh;
  width: 100%;
  display: -webkit-flex;
  /* Safari */
  display: flex;
  overflow: hidden;
  background:#fff url(../images/flex-back.png) top no-repeat;
  background-size:cover;
  background-position:0 90px;
  z-index:1;
}
@media screen and (max-width: 768px) {

.flex-container { flex-direction: column; }
}

.flex-title {
  color: #000;
  position: relative;
  font-size: 60px;
  font-weight:normal;
  margin: auto;
  text-align: center;
  /*transform: rotate(90deg);*/
  top: 50%;
  /*-webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;*/
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
  z-index:2;
}
@media screen and (max-width: 768px) {

.flex-title { transform: rotate(0deg) !important; }
}

.flex-about {
  opacity:0;
  color: #888;
  position: relative;
  width: 100%;
  padding-left:50px;
  padding-right:50px;
  top: 100%;
  /*border: 2px solid #f1f1f1;*/
 /* border-radius: 10px;*/
  line-height: 1.3;
  margin: auto;
  text-align: left;
/*  transform: rotate(0deg);*/
/*  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;*/
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
 /*  -moz-transition: top 1s ease;
  -webkit-transition: top 1s ease;
  transition: top 1s ease*/
  z-index:2;
}
.flex-about p{
  font-size: 24px;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
	}
.flex-icon{
  opacity:0;
  position: absolute;
  z-index:1;
  top: 0;
  right:0;
  margin-top:-100px;
  /*border: 2px solid #f1f1f1;*/
 /* border-radius: 10px;*/
/*  transform: rotate(0deg);*/
/*  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;*/
  -webkit-transition: all 2s ease;
  -moz-transition: all 2s ease;
  -ms-transition: all 2s ease;
  -o-transition: all 2s ease;
  transition: all 2s ease;
 /*  -moz-transition: top 1s ease;
  -webkit-transition: top 1s ease;
  transition: top 1s ease*/
}
@media screen and (max-width: 768px) {

.flex-about {
  padding: 0 15px;
  border: 0px solid #f1f1f1;
  font-size:12px;
}
}

.flex-slide {
  -webkit-flex: 1;
  /* Safari 6.1+ */
  -ms-flex: 1;
  /* IE 10 */
  flex: 1;
  position:relative;
  cursor: pointer;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
@media screen and (max-width: 768px) {

.flex-slide {
  overflow: auto;
  overflow-x: hidden;
}
}
 @media screen and (max-width: 768px) {

.flex-slide p { font-size: 2em; }
}
 @media screen and (max-width: 768px) {

.flex-slide ul li { font-size: 2em; }
}

.flex-slide:hover {
  -webkit-flex-grow: 3;
  flex-grow: 3;
  background:rgba(255,255,255,1);

}

/*.home {
  height: 100vh;
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), ;
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
}
*/
@media screen and (min-width: 768px) {

.home {
  -moz-animation: aboutFlexSlide;
  -moz-animation-duration: 3s;
  -moz-animation-iteration-count: 1;
  -moz-animation-delay: 0s;
  -webkit-animation: aboutFlexSlide;
  -webkit-animation-duration: 3s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-delay: 0s;
  animation: aboutFlexSlide;
  animation-duration: 3s;
  animation-iteration-count: 1;
  animation-delay: 0s;
}
}
 @keyframes 
aboutFlexSlide {  0% {
 -webkit-flex-grow: 1;
 flex-grow: 1;
}
 50% {
 -webkit-flex-grow: 3;
 flex-grow: 3;
}
 100% {
 -webkit-flex-grow: 1;
 flex-grow: 1;
}
}
@media screen and (min-width: 768px) {

.flex-title-home {
  transform: rotate(90deg);
  top: 15%;
  -moz-animation: homeFlextitle;
  -moz-animation-duration: 3s;
  -moz-animation-iteration-count: 1;
  -moz-animation-delay: 0s;
  -webkit-animation: homeFlextitle;
  -webkit-animation-duration: 3s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-delay: 0s;
  animation: homeFlextitle;
  animation-duration: 3s;
  animation-iteration-count: 1;
  animation-delay: 0s;
}
}
 @keyframes 
homeFlextitle {  0% {
 transform: rotate(90deg);
 top: 15%;
}
 50% {
 transform: rotate(0deg);
 top: 15%;
}
 100% {
 transform: rotate(90deg);
 top: 15%;
}
}

.flex-about-home { opacity: 0; }
@media screen and (min-width: 768px) {

.flex-about-home {
  -moz-animation: flexAboutHome;
  -moz-animation-duration: 3s;
  -moz-animation-iteration-count: 1;
  -moz-animation-delay: 0s;
  -webkit-animation: flexAboutHome;
  -webkit-animation-duration: 3s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-delay: 0s;
  animation: flexAboutHome;
  animation-duration: 3s;
  animation-iteration-count: 1;
  animation-delay: 0s;
}
}
 @keyframes 
flexAboutHome {  0% {
 opacity: 0;
}
 50% {
 opacity: 1;
}
 100% {
 opacity: 0;
}
}

.about {
  background: rgba( 255,255,255,0.7);/* linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9)),*/ /*url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/769286/beach-2089959_1280.jpg)*/;
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
  box-shadow:0px 0px 55px #666;
  z-index:6;
}

.contact-form { width: 100%; }

input { width: 100%; }

textarea { width: 100%; }

.contact {
  background: rgba(255,255,255,0.7);/*linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),*/ /*url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/769286/lake-696098_1920.jpg)*/;
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
  box-shadow:0px 0px 55px #666;
  z-index:4;
}

.work {
  background: rgba(255,255,255,0.7) /*linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),*/ /*url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/769286/forest-208517_1280.jpg)*/;
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
  box-shadow:0px 0px 55px #666;
  z-index:5;
}

.spinner {
  position: fixed;
  top: 0;
  left: 0;
  background: #222;
  height: 100%;
  width: 100%;
  z-index: 11;
  margin-top: 0;
  color: #fff;
  font-size: 1em;
}

.cube1, .cube2 {
  background-color: #fff;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: sk-cubemove 1.8s infinite ease-in-out;
  animation: sk-cubemove 1.8s infinite ease-in-out;
}

.cube2 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}
 @-webkit-keyframes 
sk-cubemove {  25% {
 -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
}
 50% {
 -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
}
 75% {
 -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
}
 100% {
 -webkit-transform: rotate(-360deg);
}
}
@keyframes 
sk-cubemove {  25% {
 transform: translateX(42px) rotate(-90deg) scale(0.5);
 -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
}
 50% {
 transform: translateX(42px) translateY(42px) rotate(-179deg);
 -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
}
 50.1% {
 transform: translateX(42px) translateY(42px) rotate(-180deg);
 -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
}
 75% {
 transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
 -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
}
 100% {
 transform: rotate(-360deg);
 -webkit-transform: rotate(-360deg);
}
}