/*
 * Header main
 */
 
/* Header -> Header top */
.header-top {
  position: relative;
  font-size: .9rem;
  width: 100%;
  max-height: 30px;
  margin: 0;
  padding: 0.5rem 0;
  background: #000
}
@media (min-width: 781px){
.header-top { padding: 2px 0 !important; }
}

/* SOCIAL - TOP HEADER */
.header-top .social { gap: 10px; }
.header-top .social a { line-height: 10px; color: #FECC00; }
.header-top .social ion-icon { font-size: 20px; color: #FECC00; }
.header-top .social ion-icon:hover { color: #fff; }
.header-top .social span { vertical-align: text-top; }
.header-top-container { justify-content: right !important; }

@media (max-width: 340px){
	.header-top .social a.telf-social ion-icon[name="call"] { display: none; }
	}
@media (max-width: 319px){
	.header-top .social a.telf-social { font-size: .8em; }
	}

.header-top-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
 /* -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;*/
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header-top-block p:last-child { margin: 0; }

/* Header -> Header main */
.homepage .header,
.homepage .header-main {
  position: fixed;
  z-index: 10;
  background: transparent;
  width: 100%;
  margin: 0;
  padding: 4px 0;
  border-bottom: 0 solid #ccc;
}


/* Header con transición */
.homepage .header,
.homepage .header-main {
  display: none;
  position: fixed;
  z-index: 10;
  background: rgba(0, 0, 0, .2);
  width: 100%;
  margin: 0;
  padding: 4px 0;
  border-bottom: 0 solid #ccc;
  transition: background-color 0.3s ease-in-out;
}
.homepage .header.scrolled,
.homepage .header-main.scrolled {
  background-color: rgba(0, 0, 0, 1);
}

.header,
.header-main {
  /*position: relative;*/
  position: fixed;
  z-index: 10;
  width: 100%;
  margin: 0;
  padding: 8px 0;
  border-bottom: 0px solid #ccc;
  background: #000;
}
.header-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* Header -> Site branding */
.site-branding {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.site-brand #block-xaraflexrd-logomoviles { padding: 14px 20px 0 0; display: none; }
.site-brand #block-xaraflexrd-logomoviles img { width: 48px }

.site-logo { padding: 8px 20px 8px 0; }
.site-logo img { display: block; width: 180px; padding: 12px 0 0; }

@media (max-width: 300px) {
  /*.site-logo img { display: none; }
  .site-brand #block-xaraflexrd-logomoviles { display: block; }*/
}
  
.site-name-slogan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.site-name, .site-slogan { line-height: 1.1; }

/* Header -> header right */
.header-right {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.navbar { margin-bottom: 0; }
.homepage .overlay { z-index: 10; }

/* MENU TOP */
.menutop ul.menu { list-style-type: none; display: flex; flex-wrap: wrap; }
.menutop ul.menu li.menu-item { margin: 0 12px; }
.menutop ul.menu li.menu-item a:hover { color: #eee; }

@media (max-width: 830px) {
	.menutop ul.menu { display: none; }
}

.menu-wrap ul.menu > li > a {
  display: block;
  margin: 0;
  padding: 10px 0;
}
.menu-wrap ul.menu > li a::after { content: none; }
.menu-wrap ul.menu ul.submenu {
  position: relative;
  display: block;
  font-weight: 400;
  margin: 0;
  padding: 0;
  z-index: 30;
}
.menu-wrap ul.menu ul.submenu li {
  display: block;
  width: 100%;
}
.menu-wrap ul.menu ul.submenu li { background: none; }
.menu-wrap ul.menu ul.submenu li a {
  display: block;
  width: 100%;
  padding: 10px 0 10px 20px;
}
.menu-wrap ul.menu ul.submenu li a::after { content: none; }
.menu-wrap .menu li span.dropdown-arrow {
  position: relative;
  display: inline-block;
  right: 0;
  padding: 0;
}


/* Header -> header search form */
.full-page-search {
  position: relative;
  margin: 0;
  padding: 0;
}
.search-icon {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 0 1rem;
  cursor: pointer;
  width: 30px;
  height: 30px;
  text-align: center;
  border-radius: 50%;
  background: #fff;
}
.search-icon img { height: 24px; width: auto; }
.search-icon i, .mobile-menu i { line-height: 24px; }
.search-box {
  position: fixed;
  background-color: var(--light);
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  padding: 50px 0;
  z-index: 50;
  -webkit-transform: translate(0, -100%);
      -ms-transform: translate(0, -100%);
          transform: translate(0, -100%);
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  -o-transition: transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
.search-box.open {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
}
.search-box-content {
  position: relative;
  z-index: 60;
  text-align: center;
}
.header-search-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 34px;
  height: 34px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 3px solid #000000;
  border-radius: 50%;
  cursor: pointer;
  font-weight: 700;
  line-height: 1;
}
.search-box-content .block { width: 100%; margin: 0; }
.search-box-content .block-title,
.search-box-content form label {
  display: none;
  color: #000000;
}
.search-box-content input[type="search"] {
  width: 100%;
  margin: 2rem 0;
  padding: 0 0 6px 0;
  font-size: 1.4rem;
  background: url("../images/icons/search.svg") top right no-repeat;
  background-size: contain;
  border: 0;
  border-bottom: 2px solid var(--border);
  border-radius: 0;
  outline: 0;
}
.search-box-content input[type="submit"] { display: none; }

/* Header -> Page Header */
.page-header {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 8rem 0 0;
  background: #fff;
  border-bottom: 0;
}
.region-page-header {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
/* Header -> Page Header-> breadcrumb */
.breadcrumb { position: relative; width: 100%; }
ol.breadcrumb-items { margin: 0; padding: 0; list-style: none; }
ol.breadcrumb-items li { display: inline-block; padding: 0; }
.breadcrumb-item span { margin: 0 10px; }

/* COVER */
.cover .container { 
width: 100vw;
max-width: 100vw;
padding: 0;
margin: 0 0 30px;
/*height: 80vh;  Opcional*/
overflow: hidden;
}
.cover .flexslider { 
margin: 0 !important;
}
.cover .flexslider .flex-direction-nav li { 
padding: 0;
}

/* CINTILLO */
.cintillo {
	background: linear-gradient(90deg,rgba(19, 41, 102, 1) 0%, rgba(42, 77, 149, 1) 100%);
}
.cintillo h2 {
    display: none;
}
.cintillo .views-view-flexbox {
	width: 80%;
	margin: 1px auto;
}
.cintillo .views-flexbox-item {
	flex: 1 0 20%; /* 5 iguales en una fila (100 / 5 = 20%) */
	box-sizing: border-box;
	background: linear-gradient(90deg,rgba(19, 41, 102, 1) 0%, rgba(42, 77, 149, 1) 100%);
	padding: 10px 20px 6px;
	font-size: 1rem !important;	
	}
.cintillo .views-flexbox-item h3 {
	font-size: 1.1em;
	color: #fff;
	}
.cintillo .views-flexbox-item p {
	font-size: .8em;
	color: #fff;
	line-height: 1.5em;
	}
.cintillo .views-flexbox-item a {
	color: #fff;
	}

	@media (max-width: 1200px) {
	.cintillo .views-flexbox-item {
	display: none;
	}}
	

/* SEARCH */
.search-box {
    background-color: #000;
    padding: 50px 0 20px;
}
.search-box-content input[type="search"] {
    color: #fff;
}
.button:hover {
    background: #008DD0;
}


/* GTRANSLATE */
.header-top-container { height: 24px; }
.gtranslate {
    position: absolute;
    right: 0;
    top: -14px;
}


/* SCROLLTOP */
.scrolltop {
    background: #008DD0 !important;
}


/* MEGAMENU */
@media (max-width: 3999px) {
    .region-we-mega-menu {
        background-color: #343a40;
        padding: 0;
        margin-bottom: 0px;
        border-radius: 3px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

@media (max-width: 3999px) {
    .navbar-toggle {
        border: 0;
        padding: 12px;
    }
}

@media (max-width: 3999px) {
    body.toggled {
        right: 0;
    }
}

@media (max-width: 4000px) {
    .overlay {
        cursor: pointer;
        position: fixed;
        left: 0;
        top: 0;
        z-index: 10;
        background-color: rgba(0, 0, 0, .2);
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 3999px) {
    .btn-close {
        background: #ccc;
        -webkit-box-shadow: 0 12px 27px rgba(0, 0, 0, .15);
        box-shadow: 0 12px 27px rgba(0, 0, 0, .15);
        right: 5%;
        z-index: 1000;
        position: fixed;
        top: 20px;
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 3999px) {
    .navbar-we-mega-menu.navbar {
        background: #000;
        bottom: 0;
        display: none;
        height: 100%;
        overflow-y: auto;
        position: fixed;
        right: -250px;
        width: 100%;
        top: 0;
        z-index: 1000;
        transition: all .5s ease-in-out;
        -webkit-transition: all .5s ease-in-out;
        -moz-transition: all .5s ease-in-out;
        -o-transition: all .5s ease-in-out;
        border-radius: 0;
        border: 0;
    }
}

@media (max-width: 3999px) {
    .navbar-we-mega-menu.navbar ul .we-megamenu-nolink, .navbar-we-mega-menu.navbar ul a {
        color: #666;
    }
}

@media (max-width: 3999px) {
    .navbar-we-mega-menu.navbar.we-mobile-megamenu-active {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
}

@media (max-width: 3999px) {
    .navbar-we-mega-menu.navbar ul>li {
        font-size: calc(18px + (32 - 18) * (100vw - 300px) / (1000 - 300));
    }
}

@media (max-width: 3999px) {
    .navbar-we-mega-menu.navbar .container, .navbar-we-mega-menu.navbar .container-fluid {
        padding: 50px 0;
        position: static;
        width: 60%;
        overflow-y: scroll;
		scrollbar-width: none; 
    }
}

/* LOGO - first-child */
@media (max-width: 3999px) {
  .navbar-we-mega-menu.navbar ul>li:first-child {
  position: relative;
  display: inline-block;
  text-indent: -9999px;
  width: 320px;
  height: 120px;
  overflow: hidden;
}}

@media (max-width: 3999px) {
  .navbar-we-mega-menu.navbar ul>li:first-child.active>a {
  background-color: #000;
}
  .navbar-we-mega-menu.navbar ul>li:first-child a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 16px;
  width: 300px;
  height: 90px;
  background-image: url('/sites/default/files/iconos/xtudiodev-fndn.svg');
  background-size: contain;
  background-repeat: no-repeat;
}}

@media (max-width: 3999px) {
  .navbar-we-mega-menu.navbar ul>li:first-child.active>a {
  background-color: #000; }
  .navbar-we-mega-menu.navbar ul>li:nth-last-child(2) {
  padding-top: 20px; }
}

@media (max-width: 530px) {
    .navbar-we-mega-menu.navbar .container, .navbar-we-mega-menu.navbar .container-fluid {
        width: 90%;
    }
	.navbar-we-mega-menu.navbar ul>li:first-child a::before {
		width: 200px;
		height: 70px;
	}
}
@media (max-width: 320px) {
	.navbar-we-mega-menu.navbar ul>li:first-child a::before {
		width: 180px;
		height: 70px;
	}
}
