@charset 'UTF-8';

/* Tipografías */

@font-face {
    font-family: 'Bebas Neue';
    src: url('../fonts/BebasNeue-Regular.eot');
    font-weight: normal;
    font-style: normal;
}

/* Estilos generales */
:focus{
	outline:0px !important;
}
.t-center {
  text-align: center;
}

.plus-open {
	display: none;
}

#project__parallax {
  position: relative;
  width: 100%;
  height: 70vh;
  clip-path: inset(27% 26% 34% 28% round 20px);
}

.hover-block {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 25%;
    height: 260px;
    min-height: 260px;
    transition: flex-basis 0.5s ease !important;
    margin: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    cursor: pointer;
}
#hover-section:hover .hover-block {
  flex: 1 1 calc(50% / 3);
}

#hover-section .hover-block:hover {
  flex: 1 1 50%;
}
#hover-section .hover-block .texto-hover-desc {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  max-width: 50%;
  overflow: hidden;
  white-space: nowrap;
  transition:
    opacity 0.3s ease 1s,
    visibility 0s linear 1s,
    max-width 0.3s ease 1s;
  display: none;
}
#hover-section .hover-block:hover .texto-hover-desc {
  display: flex !important;
  pointer-events: auto;
  max-width: 50%;
  white-space: normal;
  transition:
    opacity 0.3s ease,
    visibility 0s linear 0s,
    max-width 0.3s ease;
}
#hover-section {
    transition: all 0.3s ease;
}

/* Cabecera de página */

.elementor-location-archive, .single, .elementor-page {
	margin-top: 141px;
}

/* Pie de página */

.main-menu .elementor-nav-menu > .menu-item-has-children .sub-menu {
    overflow: hidden;
    margin: 0 !important;
    width: 100% !important;
    text-align: center;
    position: relative;
    right: 0% !important;
    display: none !important;
    -webkit-transition: all 0.35s ease-out;
    -o-transition: all 0.35s ease-out;
    transition: all 0.35s ease-out;
}

.main-menu .elementor-nav-menu > .menu-item-has-children .sub-menu.active {
    display: block !important;
}

.main-menu .elementor-sub-item {
    display: flex;
    justify-content: flex-start;
}
/* desplegable menu */
.menu-item-has-children .plus-open {
    position: absolute;
    right: 20px;
    top: 1em;
	display: flex;
}
.sub-menu.active {
	display: flex !important;
    position: relative !important;
    width: 100% !important;
    flex-direction: column;
	background: transparent;
}
.sub-menu.active li {
	background: transparent;
}
.menu-item-has-children .plus-open i {
    font-size: 3em;
}
.menu-item-has-children a .sub-arrow {
    display: none;
}
.plus-arrow-submenu {
    position: relative;
    width: 40px;
    height: 40px;
}
.plus-arrow-submenu::before {
    position: absolute;
    content: '';
    width: 1.3em;
    height: 3px;
    border-radius: 0px;
    background-color: #000;
}
.plus-arrow-submenu::after {
    position: absolute;
    content: '';
    width: 1.3em;
    height: 3px;
    border-radius: 0px;
    background-color: #000;
    transform: rotate(90deg);
}
.plus-open.active .plus-arrow-submenu::after {
    display: none;
}

@media (max-width: 767px) {
    .elementor-location-header {
        position: absolute;
        z-index: 9;
        width: 100%;
        -webkit-transition: all 0.5s ease 0.5s;
        -moz-transition: all 0.5s ease 0.5s;
        -o-transition: all 0.5s ease 0.5s;
        -ms-transition: all 0.5s ease 0.5s;
        transition: all 0.5s ease 0.5s;
    }
	#main-header {
		z-index: 3;
		background: #FFF !important;
	}
	.home #primary {
		padding-top: 120px;
	}
    
    body:not(.elementor-editor-active) .main-menu-medium {
        height: 100vh;
        position: fixed !important;
        right: 0px;
        top: 0;
        width: 100%;
        transform: translateX(100%);
        -webkit-transition: all .2s ease;
        -moz-transition: all 2s ease;
        -ms-transition: all 2s ease;
        -o-transition: all 2s ease;
        transition: all .2s ease;
        display: flex !important;
        opacity: 1 !important;
        background-color: #FFF;
    }
    
    body:not(.elementor-editor-active) .main-menu-medium.actived {
        left: auto;
        right: 0;
        transform: translateX(0);
        display: flex;
        z-index: 99;
    }
}