/*
  Theme Name: Thames - Portfolio HTML template
  Author: eThemeStudio
  Support: xuwelkhan@gmail.com
  Description: Personal Portfolio Template
  Version: 1.0
*/

/* CSS Index
-----------------------------------
1. Theme default css
2. header
3. slider
4. about area
5. about area
6. fun fact area
7. portfolio area
8. experience area
9. skill area
10. price area
11. service area
12. testimonial area
13. brand area
14. contact area
15. blog area
16. footer area
17. extra info css
*/

/* 1. Theme default css
-------------------------------------------------------------- */
/* font css */
@font-face {
  font-family: 'Switzer Regular';
  font-style: normal;
  font-weight: normal;
  src: local('Switzer Regular'), url('../fonts/Switzer/Switzer-Regular.woff') format('woff');
}
@font-face {
  font-family: 'Switzer Bold';
  font-style: normal;
  font-weight: normal;
  src: local('Switzer Bold'), url('../fonts/Switzer/Switzer-Bold.woff') format('woff');
}

/* common css */
:root {
  --main-color: #80e8e1;
  --primary-color: #2d2e36;
  --secondary-color: #e2ecf6;
  --text-color: #b0aac0;
  --meta-text-color: #9b9db1;
  --section-bg: #212228;
  --main-border: #474747;
}
body {
  font-family: "Switzer Regular";
  font-weight: 400;
}
.body-dark-mode {
  /* background: #26272e; */
  background: #26272E;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #ffffff;
  font-weight: 400;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
}
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
  color: var(--main-color);
}
h2 {
  font-size: 72px;
}
h3 {
  font-size: 60px;
  line-height: 1.16;
}
h4 {
  font-size: 30px;
}
h5 {
  font-size: 24px;
  line-height: 1.5;
}
h6 {
  font-size: 21px;
}
p {
  font-family: "Switzer Regular", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.67;
  color: #fff;
}
span,
input,
img {
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
}
ul {
  margin: 0px;
  padding: 0px;
}
li {
  list-style: none;
}
img {
  max-width: 100%;
  transition: all 0.3s ease-out 0s;
}
a,
button,
li {
  transition: 0.3s;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}
a:focus,
button:focus,
.btn:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: none;
}
a:focus,
a:hover,
.footer-menu li a:hover {
  color: var(--main-color);
  text-decoration: none;
  outline: 0 none;
}
*::-moz-selection {
  background: #7a7a8a;
  color: #fff;
  text-shadow: none;
}
::-moz-selection {
  background: #7a7a8a;
  color: #fff;
  text-shadow: none;
}
::selection {
  background: #7a7a8a;
  color: #fff;
  text-shadow: none;
}
.btn:focus {
  outline: 0 none;
}
/* button */
.btn {
  padding: 14px 40px 13px 40px;
  font-size: 16px;
  color: var(--primary-color);
  border-radius: 5px;
  outline: 0 none;
  text-transform: capitalize;
  transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
}
/*.btn::after {
  position: absolute;
  content: "";
  background: #222222;
  height: 155px;
  left: -75px;
  opacity: 0.2;
  top: -50px;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
  -webkit-transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  width: 50px;
  z-index: 1;
}
.btn:hover::after {
  left: 120%;
  -webkit-transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
}*/
.btn:hover {
  color: var(--primary-color);
}
/* btn css end */
/* common css */
.jostMedium-font-family {
  font-family: "Switzer Regular";
}
.openS-font-family {
  font-family: "Open Sans", sans-serif;
}
.img-grayscale {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.shadow-hover:hover {
  box-shadow: 0px 5px 15px 0px rgba(7, 7, 7, 0.06);
}
.cursor-pointer {
  cursor: pointer;
}
.rotate {
  transition: 0.9s;
  -webkit-transition: all 0.4s ease-out 0s;
  -moz-transition: all 0.4s ease-out 0s;
  -ms-transition: all 0.4s ease-out 0s;
  -o-transition: all 0.4s ease-out 0s;
  transition: all 0.4s ease-out 0s;
  -webkit-transform: rotateY(0deg);
  -ms-transform: rotateY(0deg);
  transform: rotateY(0deg);
  z-index: 1;
}
.rotate-hover:hover span.rotate,
.rotate-hover:hover a.rotate {
  -webkit-transform: rotateY(360deg);
  -ms-transform: rotateY(360deg);
  transform: rotateY(360deg);
}
/* title css */
.title span {
  font-size: 18px;
  letter-spacing: 7px;
}
#proyectos .title span, #obra .title span {
  font-size: 20px;
  letter-spacing: -0.2px;
  line-height: 45px;
  font-weight: 700;
}
.title h2 {
  font-size: 60px;
}
/* marquee css start */
.marquee {
  display: block;
  margin: auto auto;
  white-space: nowrap;
  overflow: hidden;
  min-width: 100%;
  height: 100%;
}
.marquee .carousel{
  color: #ffffff;
  display: inline-block;
  text-transform: uppercase;
  white-space: nowrap;
  /*min-width: 100%;*/
  height: 100%;
  line-height: 1.1;
  font-size: 96px;
  animation: marquee1 20s linear infinite;
  -webkit-animation: marquee1 20s linear infinite;
}
.marquee2 .carousel {
  animation: marquee2 20s linear infinite;
  -webkit-animation: marquee2 20s linear infinite;
}

@keyframes marquee1 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-100%, 0);
  }
}

@keyframes marquee2 {
  0% {
    transform: translate(-100%, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
/* marquee css end */
.section-text-color {
  color: var(--primary-color);
}

/* slick-dots css */
.slick-dots {
  position: absolute;
  left: 80px;
  bottom: -80px;
  z-index: 11;
}
.slick-dots li {
  border: 2px solid transparent;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  background: transparent;
  margin-right: 15px;
  cursor: pointer;
  display: inline-block;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}
.slick-dots button {
  width: 8px !important;
  height: 8px;
  background: #bec9ca;
  display: block;
  text-indent: 1000px;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  margin: 4px auto;
  cursor: pointer;
  padding: 0;
}
.slick-dots li.slick-active {
  border: 2px solid var(--main-color);
}
.slick-dots li.slick-active button {
  background: var(--main-color);
}
/* slick-arrow css */
.slick-arrow .l-a,
.slick-arrow .r-a {
  position: absolute;
  right: 65px;
  top: -130px;
  width: 42px;
  height: 42px;
  line-height: 41px;
  background: transparent;
  color: var(--main-color);
  text-align: center;
  z-index: 11;
  font-size: 18px;
  border: 1px solid #c8ccd4;
  border-radius: 50px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -ms-border-radius: 50px;
  -o-border-radius: 50px;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  -ms-transition: 0.4s;
  -o-transition: 0.4s;
}
.slick-arrow .r-a {
  left: auto;
  right: 15px;
}
.slick-arrow .l-a:hover,
.slick-arrow .r-a:hover {
  cursor: pointer;
  background: var(--main-color);
  color: var(--primary-color);
  border: 1px solid var(--main-color);
}
.testimonial-active .slick-arrow .l-a,
.testimonial-active .slick-arrow .r-a {
  right: auto;
  top: auto;
  bottom: -80px;
  left: 80px;
}
.testimonial-active .slick-arrow .r-a {
  left: 132px;
}

/* 2. header
--------------------------------------------------- */
.transparent-header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;  
  z-index: 22;
  transition: 0.3s;
  transition: 0.5s;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
}

.body-overlay {
  background-color: rgba(0, 0, 0, 0.5);
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 999;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-out;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -ms-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
}
.body-overlay.opened {
  opacity: 1;
  visibility: visible;
}
.sticky-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  transition: 0.3s;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
}
.logo a {
  display: block;
}
.sticky-menu .logo {
  margin: 0 0;
}
.sticky-menu .logo img {
  max-width: 72%;
}
#header-sticky{
  z-index: 9999;
}
.sticky-menu .logo a.header-sticky-logo {
  display: block;
}
.sticky-menu .header {
  background: #25262f;
  -webkit-box-shadow: 0 8px 4px -7px rgba(115, 115, 115, 0.1);
  -moz-box-shadow: 0 8px 4px -7px rgba(115, 115, 115, 0.1);
  box-shadow: 0 8px 4px -7px rgba(115, 115, 115, 0.1);
  transition: 0.5s;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
}
.sticky-menu .main-menu ul li > a {
  padding: 24px 0;
}
.main-menu ul li {
  display: inline-block;
  margin-left: 36px;
  position: relative;
}
.main-menu ul li > a {
  color: #ffffff;
  font-size: 14px;
  line-height: 18.2px;
  letter-spacing: -0.2px;
  font-weight: 700;
  display: inline-block;
  text-transform: capitalize;
  padding: 53px 0;
  position: relative;
}
.main-menu ul li:hover > a,
.main-menu ul li.active a,
.mean-container .mean-nav ul li a:hover {
  color: var(--main-color);
}
.main-menu ul li > a:hover::before,
.main-menu ul li > a:hover a.active::before {
  background: var(--main-color);
  width: 100%;
  left: 0;
}
.header-btn a {
  color: #ffffff;
  padding: 12px 28px 11px 28px;
  border: 1px solid var(--main-color);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  font-size: 15px;
}
.header-btn a:hover,
.sticky-menu .header-btn a:hover {
  background: var(--main-color);
  color: var(--primary-color);
}
.sticky-menu .header-btn a {
  padding: 8px 20px 7px 20px;
}

/* 3. slider
-------------------------------------------------------------- */
.slider-height {
  height: 100vh;
}
.slider-opaco{  
  background: #00000060;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.slider-opaco-det-proy{ 
  background: #00000060;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99;
}
.slider-bg-color {
  background: #1E1F24;
}
.slider-img {
  max-height: 100vh;
}
.slider-content .circulo{
  width: 40px;
  height: 40px;
  position: absolute;
  left: -50px;
  background: var(--main-color);
  border-radius: 100%;
  top: 24px;  
}
#proyectos .blog-wrapper, #obra .blog-wrapper{
  margin-top: -30px;
}
#proyectos .single-blog p, #obra .single-blog p, #obra .single-blog-2 p, #obra .single-blog-3 p, #obra .single-blog-4 p{
  color: #fff;
  font-weight: 700;
  font-family: 'Switzer Bold';
  font-size: 96px;
  line-height: 86.4px;
  letter-spacing: -4px;
  width: 230% !important;
  position: absolute;
}
#historia .circulo, #proyectos .circulo, #historia-det .circulo, #obra .circulo{
  width: 16px;
  height: 16px;
  position: absolute;
  left: -25px;
  background: var(--main-color);
  border-radius: 100%;
  top: 15px;  
}
#proyectos .prioridad, #obra .prioridad{
  z-index: 999999;
}
#proyectos .linea, #obra .linea{
  width: 45px;
  height: 10px;
  position: absolute;
  left: -50px;
  background: #fff;
  border-radius: 0;
  top: 48%;
}
#historia .about-content p{
  font-size: 33px;
  letter-spacing: -0.2px;
  line-height: 49.5px;
}
#historia .title span {
  font-size: 20px;
  letter-spacing: -0.2px;
  line-height: 26px;
  font-weight: 700;
  font-family: 'Switzer Bold';
}
#historia .title h2 {
  font-size: 32px;
  line-height: 41.6px;
  letter-spacing: -0.4px;
  font-weight: 900;
  font-family: 'Switzer Bold';
}
.slider-content .sub-heading {
  font-size: 81px;
  line-height: 72.9px;
  letter-spacing: -4px;
  font-weight: bold;
  font-family: 'Switzer Bold';
}
.slider-content h1 {
  font-size: 109px;
  line-height: 98.1px;
  letter-spacing: -4px;
  font-weight: 700;
  font-family: 'Switzer Bold';
}
.slider-content h4 {
  font-size: 20px;
  line-height: 26px;
  letter-spacing: -0.2px;
  font-weight: 700;
  font-family: 'Switzer Bold';
}
.slider-content h2 {
  font-size: 24px;
  line-height: 2;
}
.slider-content h2 span {
  font-size: 36px;
  letter-spacing: 0px;
}
span#main {
  color: var(--main-color) !important;
}
#historia{
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.slider-social-link {
  top: 50%;
  transform: translateY(-50%) !important;
  -webkit-transform: translateY(-50%) !important;
  -moz-transform: translateY(-50%) !important;
  -ms-transform: translateY(-50%) !important;
  -o-transform: translateY(-50%) !important;
}
.slider-social-link .social li a {
  font-size: 18px;
  color: #ffffff;
  width: 55px;
  margin: 2px 0;
  height: 50px;
  line-height: 52px;
}
.slider-social-link .social li {
  border: 1px solid rgb(204, 211, 217, 0.2);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}
.slider-social-link .social li:hover {
  background: var(--main-color);
  border: 1px solid var(--main-color);
}
.slider-social-link .social li:hover a {
  color: var(--primary-color);
}
.slider-img {
  margin-right: -50px;
}
/* heartbeat scale effects*/
.slider-img::before {
  position: absolute;
  content: "";
  border-radius: 50%;
  background-color: rgb(59, 60, 70);
  opacity: 0.529;
  left: 5%;
  top: 65px;
  width: 770px;
  height: 761px;
  z-index: -1;
  transform: scale(1);
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  animation: heartbeat-middle 5s infinite alternate;
  -webkit-animation: heartbeat-middle 5s infinite alternate;
}
/* heartbeat-middle */
@-webkit-keyframes heartbeat-middle {
  to {
    transform: scale(0.9);
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
  }
}
/* shape css */
.hero-shape1 {
  top: 18%;
  right: 5%;
}
.hero-shape2 {
  bottom: 17%;
  right: 12%;
}
.hero-shape3 {
  bottom: 8%;
  left: 6%;
}
.hero-shape4 {
  top: 21%;
  left: 47%;
}

/* 4. intro feature area
------------------------------------------------------------- */
.single-intro-feature-content {
  box-shadow: 0px 5px 60px 0px rgba(2, 24, 93, 0.08);
  padding: 55px 48px 35px 48px;
}
.single-intro-feature-content:hover {
  box-shadow: 0px 5px 60px 0px rgba(2, 24, 93, 0.15);
}
.single-intro-feature-content h4 {
  font-size: 24px;
}
#titulos .boton-mas, #proyectos .boton-mas, #obra .boton-mas{
  position: absolute;
  right: 20%;
  top: 30px;
  background: var(--main-color);
  color: var(--main-border);
  font-size: 14px;
  font-weight: 700;
  width: 70px;
  height: 70px;
  line-height: 67px;
  letter-spacing: -0.2px;
}
#titulos .intro-feature-text-style {
  font-size: 248px;
  bottom: 0;
  text-align: center;
  line-height: 1;
  color: #2d2e36;
  font-family: 'Switzer Bold';
  width: 100%;
}

.intro-feature-text-style {
  font-size: 248px;
  width: 100%;
  text-align: center;
  bottom: 0;
  font-family: 'Switzer Bold';
  line-height: 1;
  right: 0;
  color: #2d2e36;
}
.intro-feature-icon {
  top: 28%;
  left: 7%;
}

/* 5. about area
------------------------------------------------------------- */
.about-img-over::after {
  position: absolute;
  content: "";
  background: #26272e;
  width: 65px;
  height: 65px;
  right: -9%;
  top: 137px;
  transform: rotate(42deg);
  z-index: 11;
}
.about-img-over::before {
  position: absolute;
  content: "";
  width: 45px;
  height: 64px;
  background: var(--main-color);
  right: 55px;
  bottom: -32px;
  z-index: 111;
}
.about-shape1 {
  width: 133px;
  height: 134px;
  border: 4px solid var(--main-color);
  right: -25px;
  top: -25px;
}
.about-shape2 {
  background: var(--main-color);
  width: 91px;
  height: 91px;
  top: 70px;
  left: -12px;
}
.about-download-wrapper {
  left: -75px;
  bottom: -125px;
}
.d-icon {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.about-info-wrapper {
  border-top: 1px solid var(--main-border);
  border-bottom: 1px solid var(--main-border);
}
.about-icon {
  right: 3%;
  top: 5%;
}
.about-text-style {
  font-size: 310px;
  line-height: 1;
  transform: matrix(0, -1, 1, 0, 0, 0);
  -moz-transform: matrix(0, -1, 1, 0, 0, 0);
  -webkit-transform: matrix(0, -1, 1, 0, 0, 0);
  -ms-transform: matrix(0, -1, 1, 0, 0, 0);
  bottom: 165px;
  right: 68%;
}
.rotate-animation {
  animation: rotation 10s infinite linear;
  -webkit-animation: rotation 10s infinite linear;
}
@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* 6. fun fact area
------------------------------------------------------------- */
.fun-fact-content p {
  color: #a0a0bb;
}
.single-fact {
  padding: 48px 30px;
  border: 1px solid #474747;
}
.single-fact span {
  font-size: 72px;
  line-height: 0.4;
}
.single-fact span.per {
  font-size: 72px;
}
.single-fact h3 {
  font-size: 21px;
  line-height: 1.5;
}
.fact-style1 {
  bottom: 86%;
  left: 0;
}
.fact-style2 {
  bottom: -75px;
  right: -5px;
}

/* 7. portfolio area
-------------------------------------------------------------- */
.single-portfolio {
  padding-top: 48px;
  padding-bottom: 38px;
}
.port-img {
  opacity: 0;
  visibility: hidden;
  margin-top: -12px;
  z-index: 1;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}
.single-portfolio:hover .port-img {
  opacity: 1;
  visibility: visible;
  transform: rotate(-12deg);
  -webkit-transform: rotate(-12deg);
  -moz-transform: rotate(-12deg);
  -ms-transform: rotate(-12deg);
  -o-transform: rotate(-12deg);
}
.port-content {
  font-size: 25px;
  cursor: pointer;
  color: var(--main-color);
  border: 1px solid var(--main-border);
  width: 95px;
  height: 95px;
  line-height: 95px;
  border-radius: 50%;
  transition: 0.5s;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
}
.port-content:hover {
  background: var(--main-color);
  border: 1px solid var(--main-color);
  color: var(--primary-color);
}
.single-portfolio h3 {
  font-size: 48px;
  line-height: 1.2;
}
.award-content h3 {
  font-size: 24px;
  line-height: 1.3;
}

/* 8. experience area
-------------------------------------------------------------- */
.experience-img {
  margin-left: -48%;
}
.experience-ser-icon {
  background: transparent;
  border: 1px solid var(--main-color);
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
}
.experience-content li:hover .experience-ser-icon,
.education-content li:hover .experience-ser-icon {
  background: transparent;
}
.experience-content li .experience-ser-icon span,
.education-content li .experience-ser-icon span {
  color: var(--main-color);
}
.experience-content li:hover .experience-ser-icon span,
.education-content li:hover .experience-ser-icon span {
  background: var(--main-color);
  color: var(--primary-color);
}
.experience-ser-icon span {
  width: 70px;
  height: 70px;
  line-height: 70px;
  font-size: 35px;
}
.experience-service-text h4 span {
  font-size: 15px;
}
.experience-bg-img {
  border-bottom-right-radius: 10px;
  border-top-right-radius: 10px;
}
.experience-service-text h3 {
  font-size: 30px;
}
.experience-service-text h4 {
  font-size: 18px;
}

/* 9. skill area
-------------------------------------------------------------- */
.single-skill .knob {
  color: #ffffff !important;
}
.progress-circular h4 {
  font-size: 25px;
  line-height: 1.23;
}
.skill-text-style {
  font-size: 310px;
  line-height: 0;
  bottom: 60px;
  left: -25px;
}

/* 10. price area
-------------------------------------------------------------- */
.single-price:hover {
  margin-top: -20px;
}
.price-list li p,
.price-list li span {
  font-size: 16px;
}
.price-list li span {
  width: 20px;
  height: 20px;
  line-height: 1.4;
}
.price-list li span.disable {
  color: #ccd2d3;
}
.rate {
  font-size: 60px;
}
.price-list li {
  margin-bottom: 8px;
}
.single-price .btn {
  padding: 10px 35px;
}
.single-price p {
  font-size: 18px;
}
.single-price h3 {
  font-size: 30px;
}

/* 11. service area
-------------------------------------------------------------- */
.single-service {
  box-shadow: 0px 5px 90px 0px rgba(2, 24, 93, 0.08);
}
.service-circle.service-small-circle {
  width: 36px;
  height: 36px;
  top: -11px;
  left: -14px;
  background: #212529;
  opacity: 0.3;
}
.service-circle.service-large-circle {
  width: 58px;
  height: 58px;
  bottom: -12px;
  right: -12px;
  background: #212529;
  opacity: 0.3;
}
.single-service:hover .service-circle.service-small-circle {
  top: 35px;
  left: 48px;
}
.single-service:hover .service-circle.service-large-circle {
  bottom: 30px;
  right: 32px;
}
.service-text h3 {
  font-size: 30px;
}

/* 12. testimonial area
-------------------------------------------------------------- */
.testimonial-text {
  font-size: 24px;
  line-height: 1.75;
}
.quit {
  top: 14px;
}
.quit span {
  font-size: 32px;
}
.avatar-info p {
  font-size: 16px;
}
.testimonial-img {
  width: 132%;
}
.testimonial-bg::before {
  /*position: absolute;*/
  content: "";
  background: var(--section-bg);
  left: -100%;
  top: 0;
  bottom: 0;
  right: 0;
  border-bottom-right-radius: 12px;
  border-top-right-radius: 12px;
}
.testimonial-bg {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
/*.testimonial-text-style {
  right: -10px;
}*/

/* 13. brand area
-------------------------------------------------------------- */
.brand-active li {
  text-align: center;
}
.single-brand img {
  display: inline-block;
}
.brand-active li:hover .single-brand-out {
  transform: translateY(-100%);
}
.single-brand.single-brand-hover {
  position: absolute;
  width: 100%;
  margin: 0 auto;
  top: 110%;
}
.brand-active li:hover .single-brand-hover {
  top: 0;
}

/* 14. contact area
-------------------------------------------------------------- */
.contact-icon {
  width: 72px;
  height: 72px;
  line-height: 72px;
  border-radius: 50%;
}
.contact-text h4 {
  font-size: 24px;
}
#contacto input::placeholder{
  color: #040404;
}
#contacto .btn{
  font-weight: 700;
  font-family: 'Switzer Bold';
  font-size: 14px;
  border-radius: 0;
}
#seguir .btn i{
font-size: 30px;
font-weight: bold;
}
#seguir .btn{
  text-align: center;
  font-weight: 700;
  font-family: 'Switzer Bold';
  border-radius: 0;
  border-radius: 100%;
  width: 70px;
  height: 70px;
  line-height: 65px;
  padding: 10px;
}
.contact-icon span,
.contact-info input,
.contact-info textarea {
  font-size: 14px;
  font-weight: 500;
}
.contact-info input,
.contact-info textarea {
  background: #F3F3F3;
  border-color: #F3F3F3;
  /* border: 0; */
}
.contact-info .massage {
  min-height: 200px;
}
.contact-form .form-message.success {
  color: green;
}
.contact-form .form-message.error {
  color: red;
}
/* map */
.map-wrapper {
  width: 100%;
  min-height: 340px;
  background: #f9f9f9;
  border-radius: 10px;
}

/* 15. blog area
-------------------------------------------------------------- */
.blog-meta li span {
  font-size: 15px;
}
.single-blog-content h3 {
  font-size: 24px;
  line-height: 1.3;
}
.blog-img {
  overflow: hidden;
}
/*.single-blog:hover img,
.zoom-img:hover {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}
.single-blog {
  transition: 0.5s;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
}*/
.blog-img,
.blog-img:hover {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}
.single-blog-content {
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}
.blog-modal-img img {
  border-radius: 30px;
}
/* modal */
.modal-dialog {
  max-width: 1180px;
  margin: 0 auto;
}
.modal-content {
  background-color: var(--primary-color);
}
.modal-content h2 {
  font-size: 36px;
  padding: 50px 0px 20px 0px;
  line-height: 1.32;
}
.pro-modal-footer h6 {
  font-size: 16px;
}
.meta-wrapper {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}
.item-meta li {
	padding-bottom: 16px;
	color: #fff;
}
.modal-tags li a {
  color: var(--meta-text-color);
  font-family: "Open Sans", sans-serif;
}
.body-dark-mode .modal-dialog .social-link li a {
  color: #fff;
}
.blog-meta li a,
.blog-modal-wrapper .blog-meta li span {
  font-size: 15px;
}
.blog-modal-wrapper .blog-meta li {
  display: inline-block;
  margin-right: 30px;
}
.blog-meta li {
  margin-right: 12px;
}
.blog-meta li:last-child {
  margin-right: 0;
}
.item-meta li span {
  color: var(--text-color);
  font-size: 15px;
}
.modal-body .btn {
  padding: 11px 25px 10px 25px;
  font-size: 14px;
}

/* 16. footer area
-------------------------------------------------------------- */
.subscribe-info span {
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
}
.social.social-bg li a {
  font-size: 18px;
  width: 42px;
  height: 42px;
  line-height: 42px;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

/* 17. extra info css
-------------------------------------------------------------- */
#scroll a {
  position: fixed;
  font-size: 20px;
  width: 45px;
  height: 45px;
  line-height: 45px;
  right: -1px;
  bottom: 30px;
  cursor: pointer;
  z-index: 11;
  color: var(--primary-color);
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
  border-radius: 50%;
}
#scroll a:hover,
#scroll a:focus {
  opacity: 0.9;
}
/* .side-mobile-menu start*/
.side-mobile-menu {
  width: 380px;
  position: fixed;
  left: -125%;
  top: 0;
  z-index: 9999;
  height: 100%;
  background: var(--main-color);
  transition: all 0.5s ease-out;
  overflow: scroll;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -ms-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
}
.mean-container .mean-nav ul li a {
  background: var(--main-color);
  border: 0;
  font-weight: 400;
  padding: 8px 5%;
  border-color: transparent;
  text-transform: capitalize;
}
.mean-container .mean-nav ul li a:hover {
  background: var(--main-color);
  color: #fff;
}
.side-mobile-menu.open-menubar {
  left: 0;
}
.close,
.close:focus,
.close:hover {
  opacity: 1;
}
.close-icon span {
  font-size: 18px;
  color: var(--primary-color);
  background: var(--main-color);
  width: 36px;
  height: 36px;
  display: inline-block;
  line-height: 37px;
  text-align: center;
  border-radius: 30px;
  transition: 0.3s;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
}
.close-icon span:hover {
  box-shadow: 0px 6px 30px 0px rgba(7, 7, 7, 0.12);
}
.modal-content .close-icon span:hover {
  box-shadow: none;
  background: var(--main-color);
}
.mobile-menubar {
  font-size: 20px;
  border: 2px solid transparent;
  padding: 5px 10px;
  border-radius: 3px;
}
.mobile-menubar:focus {
  color: var(--main-color);
}
.mean-container .mean-nav {
  background: var(--main-color);
}
.side-mobile-menu .close-icon span {
	color: var(--main-color);
	background: var(--primary-color);
}
/* .side-mobile-menu end*/

/***** CUSTOM *****/
#footer .footer-area{
  background-color: var(--main-color);
}
#footer .section-bg{
  background-color: var(--main-color);
}
#footer .texto-grande .intro-feature-text-style {
  font-size: 248px;
  bottom: 0;
  text-align: center;
  line-height: 1;
  background-color: var(--main-color);
  color: #fff;
  font-family: 'Switzer Bold';
  width: 100%;
}
#footer h4{
  font-size: 14px;
  color: #000;
  font-weight: 700;
  font-family: 'Switzer Bold';
}
#footer h4 a:hover{
  font-size: 14px;
  color: #000;
  font-weight: 700;
  font-family: 'Switzer Bold';
}
#marque{
  background: #878787;
}
#marque span{
  font-size: 96px;
  color: #fff;
  font-weight: 700;
  font-family: 'Switzer Bold';
}
#marque .oscuro{
  font-size: 96px;
  color: #333333;
  font-weight: 700;
  font-family: 'Switzer Bold';
}
#seguir{
  background: #878787;
  min-height: 80vh;
}
#seguir .experience-bg-img{
  min-height: 80vh;
  background-size: cover;
  background-position: right;
}
#seguir h2{
  font-size: 20px;
  color: #fff;
  font-weight: 700;
  font-family: 'Switzer Bold';
  line-height: 26px;
}
#contacto{
  background: #878787;
}
#contacto h2{
  font-size: 32px;
  color: #fff;
  font-weight: 900;
  font-family: 'Switzer Bold';
  line-height: 26px;
}
#numeros .contenedor-num .num{
  font-size: 96px;
  color: var(--main-color);
  font-weight: 700;
  font-family: 'Switzer Bold';
  line-height: 96.4px;
}
#numeros .contenedor-num .det{
  font-size: 20px;
  color: #fff;
  font-weight: 700;
  font-family: 'Switzer Bold';
  line-height: 26px;
}
#numeros .contenedor-num{
  text-align: center;
  margin-top: -50px;
}
#numeros .title h2{
  font-size: 96px;
  color: #fff;
  font-weight: 700;
  font-family: 'Switzer Bold';
  line-height: 86.4px;
  letter-spacing: -4px;
}
#numeros .title span{
  font-size: 96px;
  color: var(--main-color) !important;
  font-weight: 700;
  font-family: 'Switzer Bold';
  line-height: 86.4px; 
  letter-spacing: -4px; 
}
#numeros .title .linea{width: 80px;
  height: 12px;
  background: #fff;
  position: relative;
  display: inline-flex;
  top: -25px;
  left: -15px;
}
#historia-det .title p{
  font-size: 32px;
  color: #fff;
  font-weight: 500;
  font-family: 'Switzer Regular';
  line-height: 48px; 
  letter-spacing: -0.2px; 
}
.vertical-medio{
  display: flex;
  justify-content: flex-start;
  align-items: center; 
}
#historia-det .linea{
  width: 80px;
  height: 12px;
  position: absolute;
  left: -13px;
  background: #fff;  
  top: -10px;
}
#todos-proyectos{
  background-position: top right !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}
#todos-proyectos .section-bg {
  background: #00000070;
}
#todos-proyectos .blog-img, .blog-img:hover{
  border: 0 !important;
  border-top-left-radius: 0;
  border-top-right-radius: 0
}
#todos-proyectos .primary-bg{
  background: transparent;
}
#todos-proyectos .single-blog-content h3{
  font-size: 20px;
  color: #fff;
  font-weight: 700;
  font-family: 'Switzer Bold';
  line-height: 26px; 
  letter-spacing: -0.2px; 
}
#todos-proyectos .title span{
  font-size: 20px;
  color: var(--main-color);
  font-weight: 700;
  font-family: 'Switzer Bold';
  line-height: 26px; 
  letter-spacing: -0.2px; 
}
#todos-proyectos .title .circulo{
  width: 16px;
  height: 16px;
  background: var(--main-color);
  border-radius: 100%;
  display: inline-block;
  margin-right: 20px;
}
#todos-proyectos .title hr{
  border-color: #b2ffb682;
}
#todos-proyectos .title h2{
  font-size: 32px;
  color: var(--main-color);
  font-weight: 900;
  font-family: 'Switzer Bold';
  line-height: 41.6px; 
  letter-spacing: -0.2px; 
}
#historia{
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  /*height: 100vh !important*/
}
#home .slider-height {
  bottom: 0;
  left: 14vw;
  height: 100vh;
}
#home .slider-wrapper{
  position: absolute;
    width: 100%;
}
@media screen and (max-width: 992px) {
  #titulos .intro-feature-text-style {
    font-size: 140px !important;
  }
  #home .slider-height {
    bottom: 70px;
    left: 0;
    height: auto;
  }
  #home .slider-height {
    min-height: 100vh !important; 
  }
  #home .slider-content h1 {
    font-size: 40px;
    margin-bottom: 18px;
    font-size: 35px;
    text-align: left;
    margin-left: 30px;
  }
  #home .slider-wrapper{
    position: absolute;
    width: 90%;
  }
  #home .slider-opaco-det-proy .h-100{
    height: 100vh !important;
  }
  #home .slider-content .circulo {
    width: 20px;
    height: 20px;
    position: absolute;
    left: -3px;
    background: var(--main-color);
    border-radius: 100%;
    top: 24px;
  }
  #home .slider-content h4 {
    font-size: 15px;
  }
  #home .slider-content{
    padding-bottom: 50px
  }
  #titulos .testimonial-bg{
        padding-top: 100px;
        padding-bottom: 100px;
  }
  #historia .about-content{
    padding-top: 30px
  }
  #titulos .boton-mas, #proyectos .boton-mas, #obra .boton-mas {
    position: absolute;
    right: 20%;
    top: 0px;
    background: var(--main-color);
    color: var(--main-border);
    font-size: 10px;
    width: 40px;
    height: 40px;
    line-height: 40px;
  }
  #proyectos{
    padding-top: 0;
  }
  #historia .about-content p {
    font-size: 20px;
    line-height: 25px;
  }
  #historia .title h2 {
    font-size: 25px;
    margin-top: 50px;
  }
  #historia{
    background-size: contain !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
    height: auto !important
  }
  #historia .about-margin {
    margin-top: 200px;
    margin-bottom: 0;
  }
  #proyectos .col-3, #proyectos .col-9, #obra .col-3, #obra .col-9{
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%
  } 
  #proyectos .single-blog .mt-200, #obra .single-blog .mt-200{
    margin-top: 50px;
  }
  #proyectos .single-blog p, #obra .single-blog p {
    font-size: 30px;
    line-height: 30px;
    margin-left: 40px;
    letter-spacing: 0
  }
  #proyectos .linea, #obra .linea {
    width: 30px;
    height: 5px;
    position: absolute;
    left: 12px;
    background: #fff;
    border-radius: 0;
    top: 12px;
  }
  #proyectos .blog-wrapper, #obra .blog-wrapper {
    margin-top: 0px; 
  }
  #home-detalle .slider-height {
    height: 100vh !important; 
}
.marg-3{
    margin: 10px 0 !important;
}
    .slider-height {
        min-height: 100vh;
    }
  .obra-term .blog-wrapper{
    min-height: 300px !important;
        padding: 0 15px;
  }
  .slider-content h1 {        
    font-size: 35px !important;
    letter-spacing: 0px !important;
  }
  .slider-opaco-det-proy .align-items-end {
    align-items: center !important;
  }
  #footer .texto-grande .intro-feature-text-style {
    font-size: 50px;
        padding: 50px 0;
  }
  .obra-term .mt-200{
    margin-top: 30px;
  }
  .obra-term     .blog-wrappers {
        padding-top: 115px;
      }
  #footer .testimonial-bg {
        padding-top: 100px !important;
        padding-bottom: 35px !important;
    }
  #proyectos .single-blog p, #obra .single-blog p, #obra .single-blog-2 p, #obra .single-blog-3 p, #obra .single-blog-4 p {
    color: #fff;
    font-weight: 700;
    font-family: 'Switzer Bold';
    font-size: 50px;
    line-height: 50px;
    letter-spacing: -4px;
    width: 100% !important;
    position: relative;
    margin-top: 30px;
  }
  #proyectos .intro-feature-text-style, #obra .intro-feature-text-style {
    font-size: 140px;
    bottom: 0;
  }
  #proyectos .testimonial-bg, #obra .testimonial-bg{
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
  #proyectos .blog-wrappers, #obra .blog-wrappers{
    padding-bottom: 0
  }
  #obra {
    padding-top: 0px;
  }
  #numeros .title h2, #numeros .title span{
    font-size: 45px !important;
    line-height: 45px !important;
    margin-bottom: 0;
  }
  #numeros .title .linea{
    width: 40px;
    height: 5px;
    background: #fff;
    position: relative;
    display: inline-flex;
    top: -14px;
    left: 0px;
    margin-right: 10px;
  }
  #marque .oscuro {
    font-size: 25px;
  }
  #marque span {
    font-size: 25px;
  }
  #marque .marquee .carousel{
    font-size: 25px;
  }
  #marque {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  #contacto {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 50px;
    padding-bottom: 50px;
  }
  #contacto h2 {
    font-size: 20px;
    color: #fff;
    font-weight: 900;
    font-family: 'Switzer Bold';
    line-height: 20px;
  }
  #numeros .col-lg-5:nth-of-type(2){
    margin-top: 20px;
  }
  #obra .about-content:nth-of-type(2){
    padding-top: 100px
  }
  #obra .m-3 {
    margin: 1rem 0 !important;
  }
  #seguir{
    min-height: auto;
  }
  #seguir .experience-wrapper.extra-width {
    display: block;
  }
  #seguir  {
    padding: 100px 0 !important;
    background-size: contain;
    background-position: center;
  }
  #seguir .experience-bg-img {
    border-radius: 0;
    width: 100% !important;
    margin: 0 auto;
    min-height: auto;
  }
  #seguir .container .experience-margin{
    padding-top: 20px;
    padding-bottom: 80px !important;
  }
  #footer .paralelo li {
    display: inline-flex !important;
  }
  #footer .contact-info-content li {
    display: block;
  }
  #footer .contact-info-content, #footer .contact-wrapper{
    text-align: center;
  }
  #footer .footer-area{
    padding: 30px 0 !important
  }
  #footer .contact-wrapper {
    margin-top: 30px;
  }
  #historia-det .linea {
    width: 50px;
    height: 4px;
    position: absolute;
    left: 12px;
    background: #fff;
    margin-top: 0;
    top: -50px;
  }
  #historia-det .title p {
    font-size: 20px;
    color: #fff;
    font-weight: 500;
    font-family: 'Switzer Regular';
    line-height: 28px;
    letter-spacing: -0.2px;
    margin-bottom: 50px;
  }
  #todos-proyectos{
    background: none !important;
  }
  #todos-proyectos .title span {
    font-size: 15px;
    color: var(--main-color);
    font-weight: 700;
    font-family: 'Switzer Bold';
    line-height: 26px;
    letter-spacing: -0.2px;
  }
  #todos-proyectos .title .circulo {
    width: 10px;
    height: 10px;
    background: var(--main-color);
    border-radius: 100%;
    display: inline-block;
    margin-right: 5px;
  }
  #todos-proyectos .title h2 {
    font-size: 20px;
  }
  #todos-proyectos .pb-80 {
    padding-bottom: 40px;
  }
  #todos-proyectos .blog-wrappers{
    padding-bottom: 0;
  }
  #todos-proyectos .single-blog-content{
    padding-left: 0;
  }
  #home .slider-content h1 {
    font-size: 25px;
    letter-spacing: 0px;
    line-height: 28.1px;
  }
  #home .slider-content .circulo {
    width: 13px;
    height: 13px;
    position: absolute;
    left: 0;
    background: var(--main-color);
    border-radius: 100%;
    top: 7px;
  }
  #home p {
    font-size: 13px;
    text-align: left;
    margin-left: 30px;
  }
  #historia .circulo, #proyectos .circulo, #historia-det .circulo, #obra .circulo {
    left: 0;
  }
  #historia .title span {
    margin-left: 20px;
  }
  #proyectos .title span, #obra .title span{
    margin-left: 20px;
  }
  #historia-det .title span {
    margin-left: 20px;
  }
  #footer img{
    width: 30px;
    height: auto
  }
}
#footer a{
  color: #333;
}
#footer a:hover{
  color: #333;
}
#historia-det .boton-cv-uno{
  position: absolute;
  left: 20%;
  bottom: -45px;
  background: var(--main-color);
  color: var(--main-border);
  font-weight: 700;
  width: 90px;
  height: 90px;
  line-height: 90px;
  letter-spacing: -0.2px;
  border-radius: 100%;
  text-align: center;
}
#historia-det .boton-cv-dos{
  position: absolute;
  right: 20%;
  bottom: -45px;
  background: var(--main-color);
  color: var(--main-border);
  font-weight: 700;
  width: 90px;
  height: 90px;
  line-height: 90px;
  letter-spacing: -0.2px;
  border-radius: 100%;
  text-align: center;
}
.header{
  z-index: 999999 !important;
}
header .logo a{
  text-decoration: none;
  color: #fff;
  font-size: 15px;
  font-family: 'Switzer Bold';
}
@media screen and (min-width: 992px) and (max-width: 1440px) {
  #home-detalle-2 .slider-content h1 {
        font-size: 90px !important;
  }
  #home-detalle-2 .slider-content p {
        font-size: 17px !important;
    line-height: 1.5 !important;
  }
  #footer .texto-grande .pt-70{
    padding-top: 0;
  }
  #footer .texto-grande .intro-feature-text-style {
    font-size: 150px;    
  }
  #home .slider-height{
    bottom: 60px;
    left: 8vw;
    height: 100vh;
  }
  #historia .title h2{
    margin-top: 50px !important;
  }
  #historia .about-content-wrapper{
    margin-top: 80px;
    margin-bottom: 50px;
  }
  #home-detalle .slider-content h1, #home .slider-content h1 {
    font-size: 70px;
    line-height: 70px;
  }
  #home-detalle .slider-content p {
    font-size: 17px;
  }
  #home-detalle .slider-content h1{
    font-size: 60px;
    line-height: 60px;
    letter-spacing: -4px;
  }
}
#titulos .marquee{
    animation: scroll 7s linear infinite !important;
}
#titulos .marquee, #obra .marquee{
  animation: scroll 20s linear infinite !important;
}
@keyframes scroll {
  0% {
      transform: translateX(0%);
  }
  100% {
      transform: translateX(-100%);
  }
}

.obra-det  .boton-mas {
    top: auto !important;
    bottom: 20px !important;
}
.obra-term  .blog-wrapper {
  position: relative ;
  min-height: 650px ; /* Ajusta a tus necesidades */
  overflow: hidden ; /* Evita que el contenido extra salga del área */
}

.obra-term .single-blog {
  position: absolute;
  top: 0 ;
  left: 0 ;
  width: 100% ;
  height: 100%;
  opacity: 0 ;
  transition: opacity 3s ease-in-out 
}

.obra-term .single-blog:first-child {
  opacity: 1 ; 
}
#home-detalle-2{
  height: 100vh; 
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#home-detalle-2 .slider-content :hover{
  color: #fff !important;
}