.flex-container {
  position: relative;
  height: 618px;
  width: 100%;
  display: -webkit-flex;
  /* Safari */
  display: flex;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .flex-container {
    flex-direction: column;
  }
}


.flex-titulo {
  color: #f1f1f1;
  font-size: 31px;
  font-weight: 900;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  white-space: nowrap;
}

.flex-parrafo b{
	padding: 2px 8px;
    border: solid 1px #ffffff;
	border-radius: 6px;
}

.flex-slide h1 {
    transform: rotate(-90deg);
    white-space: nowrap;
    height: 30px;
    width: 100%;
    line-height: 30px!important;
    margin-bottom: 50px;
	width: 100%;
    text-align: left!important;
	    z-index: 3;
}

.flex-slide .flex-parrafo {
	text-align: left!important;
	width: 100%!important;
    font-size: 18px!important;
    margin-bottom: 60px!important;
	transition: all 500ms ease;
	    z-index: 3;
}
.flex-slide.closed .flex-parrafo {
	display: none;
	opacity: 0;
	transition: all 500ms ease;
}
.flex-slide.opened .flex-parrafo {
	display: block;
	transition: all 500ms ease;
	opacity: 1;
}

.flex-slide {
  -webkit-flex: 1;
  /* Safari 6.1+ */
  -ms-flex: 1;
  /* IE 10 */
  flex: 1;
  cursor: pointer;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  flex-grow: 0;
  width: 81px;
  margin: 7px;
  border-radius: 12px;
  display: flex;
  align-items: end;
  position: relative;
}

@media screen and (max-width: 1280px) {
	.flex-titulo.zoom,
	.flex-parrafo.zoom{
		zoom: .8;
	}
}

@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.opened {
  -webkit-flex-grow: 3;
    flex-grow: 3;
    flex-direction: column;
    display: flex;
    justify-content: flex-end;
    padding-left: 57px;
}


@media screen and (max-width: 768px) {
 .flex-slide.opened {
    padding-left: 15px;
}
}



.flex-slide.opened .flex-titulo{
	transform: rotate(0deg);
	margin-bottom: 0px;
    white-space: normal;
    height: auto;
}
.flex-slide.opened .flex-parrafo{
	display: block;
	padding-right: 60px;
}



.flex-slide.closed {
  -webkit-flex-grow: 0;
    flex-grow: 0;
    flex-direction: row;
        min-width: 81px;
}

.flex-slide.closed .flex-titulo{
	transform: rotate(-90deg);
	margin-bottom: 50px;
}
.flex-slide.closed .flex-parrafo{
	display: none;
}


@media screen and (max-width: 768px) {
  .flex-about {
    padding: 0%;
    border: 0px solid #f1f1f1;
  }
}

.bg-foto {
 /* height: 618px;*/
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
  background-size: cover;
  background-position: center center;
 
}

.over-gradient {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    border-radius: 12px;
    background: transparent linear-gradient(180deg, #00000000 0%, #000000 100%) 0% 0% no-repeat padding-box;
    border-radius: 0px 0px 12px 12px;
    opacity: 0.85;
	-webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}

.closed .over-gradient{
	opacity: 1;
}
.opened .over-gradient{
	display: block;
	opacity: 1;
}
@media screen and (max-width: 1280px) {
	.over-gradient {
		width: 100%;
		height: 100%;
		}
}


@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;
  }
}

@keyframes homeFlextitle {
  0% {
    transform: rotate(-90deg);
    top: 15%;
  }
  50% {
    transform: rotate(-0deg);
    top: 15%;
  }
  100% {
    transform: rotate(-90deg);
    top: 15%;
  }
}

@keyframes flexAboutHome {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


.contact-form {
  width: 100%;
}

input {
  width: 100%;
}

textarea {
  width: 100%;
}

.contact {
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(https://images.pexels.com/photos/1295138/pexels-photo-1295138.jpeg?crop=entropy&cs=srgb&dl=ocean-water-wave-photo-1295138.jpg&fit=crop&fm=jpg&h=720&w=1280);
  background-size: cover;
  background-position: center center;
}

.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);
  }
}


@media screen and (max-width: 992px) {
	
	.flex-slide .flex-titulo {
	    margin-top: 40px;
		white-space: unset;
	}
	
	.flex-container {
		flex-direction: column;
		height: auto;
		overflow: unset;
	}
	.flex-slide {
		width: calc(100% - 30px);
	}
	.flex-slide.closed .flex-titulo {
		transform: rotate(0deg);
		padding-left: 57px;
		padding-right: 30px;
	}
	.flex-slide.opened .flex-titulo {
		padding-right: 30px;
	}
}
