/**
 *
 * @author  Toni Hernández
 * @link    
 * @version 2.1
 */

* {
    box-sizing: border-box;
    border: 0 none;
    margin: 0;
    padding: 0;
}

.hidden { display: none !important; }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0 none;
}

.slide {
    overflow-y: hidden !important;
    -webkit-transition: height .5s ease-in !important;
            transition: height .5s ease-in !important;
}

/*** BASIC LAYOUT ***/

html, body { height: 100%; }

/*
body { 
    display: flex; 
    flex-direction: column; 
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
*/
#main { flex: 1 0 auto; }
#header, #footer { flex: 0 0 auto; }

#main {
    padding: 4rem 0 5rem
}





/*** BASIC LAYOUT: HEADER ***/

#header, .project-list-categories { }

#header { 
    background: transparent;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 9;
    background-color:rgba(255,255,255,0.8);
    padding-bottom: 1em;
}
.neutral#header {
    position: relative;
}
@media (max-width: 768px) {
    #header {
        position: initial;
        height: auto;
    }
}

#title, #logo {
    float: left;
    padding: 0;
}
#title a {
    text-decoration: none;
}


#title * { margin: 0; color: #111; }
#title { padding-top:10px;}
#title p { font-style: italic; font-size:1.5rem;}
#title h1 { font-size:2rem; }

#logo { padding-left: 1em; }
#logo * { display: block; height: 100%; }
#logo img { 
    width: 120px;
    width: 170px;
    height: 50px;
}

#logo + #title h1 { margin: 0.8rem 0; }
#logo + #title.tagline h1 { margin: 0; }

#nav {
    padding: 0;
    text-align: right;
}
#nav ul, #lang-selector ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#lang-selector ul {
    margin: 0 auto;
    width: 150px;
}
#lang-selector ul li a {
    color:grey;
}
#nav ul li,#lang-selector ul li {
    display: inline-block;
    padding: 0;
}
#nav ul li {
    margin-left: 1em;
}

#nav a, #nav-toggle, #lang-selector a { 
    padding: 10px;
    text-decoration: none;
    color: #111;
    display: block;
}
#nav a:hover, #lang-selector a:hover { 
    background-color: #2174af;
    color: #fff;
 }
 #nav li.active a:hover {
    background-color: #ef5a28;
    color:#fff  !important;
 }
 #nav .active a, #lang-selector .active a {
     font-family:source_bold
 }
 #lang-selector abbr {
     text-decoration: none;
 }

#nav-toggle { display: none; }



/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.next-prev-navigation { position:absolute;}
.next-page, .prev-page {
    position:fixed;
    top:45%;
    width:40px;
    min-height: 44px;
    display: block;
    z-index:99;
}
.next-page span, .prev-page span {
}
.next-page { right:0;}
.prev-page { left:0;}
.page-nav-title {
    display:none
}
.prev-page:hover .page-nav-title {
    padding-left:50px !important;
}
.next-page:hover,.prev-page:hover { 
    width: 300px;
    background-color: #cccacd;
}
.next-page:hover .page-nav-title ,.prev-page:hover .page-nav-title { 
    display:block;
    padding:1rem;
}
.next-page:hover { right:0;}
.prev-page:hover { left:0;}

.next-page .icon-right-open, .prev-page .icon-left-open {
    background: #F5F5F5;
    border-radius: 50%;
    padding: 1rem;
    position: absolute;

}
.next-page .icon-right-open {
    right:0;
}




/*** BASIC LAYOUT: FOOTER ***/

#footer {
    /*background-image: -o-radial-gradient( 1.3% 2.8%, circle farthest-corner, rgba(239,249,249,1) 0%, rgba(182,199,226,1) 100.2% );
    background-image: radial-gradient( circle farthest-corner at 1.3% 2.8%, rgba(239,249,249,1) 0%, rgba(182,199,226,1) 100.2% );
    */

    padding-bottom: 4rem;
	padding-top: 1rem;
	border-top: 1px solid black;

}
#footer, #footer a {
}
#footer p {
    font-size: 1em;
    font-family: "source_regular";
    margin:0 
}
#footer a { }
#footer a:hover { }



#footer .footer-title p, .font-size-26 {
    font-family: "source_light";
    font-size: 2.6rem;
    line-height: 1.25;
}
.font-size-26 {
	line-height: 1.5;
}

/*** BASIC LAYOUT: EXTRA SMALL DEVICES ***/

@media (max-width: 767px) {
    #logo img {
        width: 100%;
        height: 40px;
    }
    #main { padding: 2em 0 1em; }

    #title, #logo { padding: 1em 1em 2em 0; }
    #title { display: none; }
    #logo { 
        /*height: 64px; 
        min-height: 64px;*/
        padding-bottom: 1em;
        box-sizing: content-box;
    }
    
    #nav {
        clear: both;
        padding: 0;
    }
    #nav ul {
        padding-bottom: 1em;
    }
    #nav ul li {
        display: block;
        margin-left: 0;
        text-align: center;
        background: gainsboro;
        border-bottom: 1px solid #fff;
    }
    #nav ul li a {
        display: block;
        padding: 0.5em 0;
        font-size: 1.7rem;
    }
	#header > .container-fluid > .row {
		justify-content: center;
	}
	#header > .container-fluid > .row #nav-toggle{
		margin-left:auto
	}
    .js #nav-toggle {
        display: block;
        float: right;
        width: 2em;
        /*height:4em;
        margin: 0.6667em 0;
        font-size: 1.5rem;
        line-height: 2em;
        text-align: center;*/
        cursor: pointer;
    }
    .js #nav-toggle > * { vertical-align: middle;  }
    .menu-hamburger {
        font-size: 2em;;
    }
    #footer p { margin: 0}
    #footer .social { padding: 0.5em 0 0.5em 1em; }

}

/*** TYPOGRAPHY ***/

/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
    font-size: 62.5%; }
body {
    font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */
    line-height: 1.6;
    font-weight: 400;
    font-family: "source_regular", Arial, Helvetica, sans-serif;
    color: #222; 
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 2rem;
  font-weight: 300; }
h1 { font-size: 4.0rem; line-height: 1.2;  }
h2 { font-size: 3.6rem; line-height: 1.25; }
h3 { font-size: 3.0rem; line-height: 1.3;  }
h4 { font-size: 2.4rem; line-height: 1.35; }
h5 { font-size: 1.8rem; line-height: 1.5;  }
h6 { font-size: 1.5rem; line-height: 1.6;  }

/* Larger than phablet */
@media (min-width: 550px) {
  h1 { font-size: 5.0rem; }
  h2 { font-size: 4.2rem; }
  h3 { font-size: 3.6rem; }
  h4 { font-size: 3.0rem; }
  h5 { font-size: 2.4rem; }
  h6 { font-size: 1.5rem; }
}
.playfair_regular {font-family: 'playfair_regular';}


body, p {
	font-family: 'source_regular';
	-ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
p, .neutral ul {
    margin-bottom: 1rem;
    max-width: 80ch;
    font-family: "source_light";
    font-size: 2rem;
}
.neutral ul {
	margin-left: 2rem;
	}
strong {
	font-family: 'source_bold';
	font-weight: normal;
}
em {
	font-family: 'source_italic';
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'playfair_regular';
}
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong, .playfair_bold {
	font-family: 'playfair_bold';
}
a {
    color:#111;
    text-decoration: underline;
    -webkit-transition: color .2s ease-in;
            transition: color .2s ease-in;
}



/* project content
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.project-content .title-description, .project-content .project-description {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 15px;
    padding-left: 15px;
}
.project-content .title-description {
    position: absolute;
    top:0;
}
.project-content .project-description {
    margin-left:50%;
}
.project-content-category ul {
    list-style-type: none;
    width: 100%;
}
.project-content-category p.meta-title {
    font-size: 1em;
    margin-bottom:0;
}
.project-content-category .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}
.project-content-category .row > div {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    padding-right: 15px;
    padding-left: 15px;
}

@media screen and (max-width: 640px) {
    .project-content-category .row {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    } 
    .project-content-category .row > div {
        width:100%;
        align-items: baseline;
        display: flex;
        flex-flow: row wrap;
        flex-basis: initial;
    } 
    .meta-title {
        flex: 0 0 75px;
        max-width: 75px;
        padding-right: 5px;
    }
    .meta-list {
        flex: 0 0 calc(100% - 75px);
        max-width: calc(100% - 75px);
    }
    .meta-list li {
        display: inline-block;
    }
    .meta-list li:after {
        content:",";
    }
    .meta-list li:last-child:after {
        content:".";
    }
}


.portfolio-pictures {
    margin: 4rem 0;
}
.portfolio-pictures ul {
    list-style-type: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.portfolio-pictures ul li {
    margin: 1rem;
    padding: 2rem;
    background-color: #f8f8f8;
    width:100%;
}
.portfolio-pictures ul li.offset-4 {
    margin-left: 33.3333333333% !important;
}
@media (max-width: 992px) {
	.portfolio-pictures ul li.offset-4 {
	    margin-left: 1rem !important;
	}
}
.portfolio-pictures ul li.white,
.bg-white  {
    background-color:#fff;
}
.portfolio-pictures ul li img {
    width:100%;
    display: block;
}
.portfolio-pictures ul li.col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc(50% - 2rem);
    -ms-flex: 0 0 calc(50% - 2rem);
    flex: 0 0 calc(50% - 2rem);
    max-width: calc(50% - 2rem);
}
.portfolio-pictures ul li.col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc(33.3333333333% - 2rem);
    -ms-flex: 0 0 calc(33.3333333333% - 2rem);
    flex: 0 0 calc(33.3333333333% - 2rem);
    max-width: calc(33.3333333333% - 2rem);
}
.portfolio-pictures ul li.col-3,
.portfolio-pictures ul li.col-md-3 ,
.portfolio-pictures ul li.col-lg-3 ,
.portfolio-pictures ul li.col-xl-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc(25% - 2rem);
    -ms-flex: 0 0 calc(25% - 2rem);
    flex: 0 0 calc(25% - 2rem);
    max-width: calc(25% - 2rem);
}
.three-column ul li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.3333333333%;
    -ms-flex: 0 0 33.3333333333%;
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
    margin:0;
    padding: 2rem;
    background: #fff;
}
.three-column.padding-25-rem ul li {
	padding:2.5rem;
}
.icon-gray {
    color:#D3D3D3
}
@media (max-width: 768px) {
    .project-content .title-description, .project-content .project-description, .three-column ul li,
    .project-content-category.offset-md-6.col-12,
    .portfolio-pictures ul li.col-6 , .portfolio-pictures ul li.col-md-6 , .portfolio-pictures ul li.col-lg-6 , .portfolio-pictures ul li.col-xl-6 ,
    .portfolio-pictures ul li.col-4, .portfolio-pictures ul li.col-md-4 , .portfolio-pictures ul li.col-lg-4 , .portfolio-pictures ul li.col-xl-4 ,
    .portfolio-pictures ul li.col-3, .portfolio-pictures ul li.col-md-3 , .portfolio-pictures ul li.col-lg-3 , .portfolio-pictures ul li.col-xl-3
  {
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
        width:100%;
    }
    .project-content-category.offset-md-6.col-12 {
	    margin-left: 0 !important;
    }
    .portfolio-pictures ul li.col-6:nth-child(odd),
    .portfolio-pictures ul li.col-6:nth-child(even)  {
        margin-right:0;
    }
    .project-content .project-description { margin-left:0;}
    .project-content .title-description {position:relative;}
    .project .poster-page.top-bar { height:300px !important;}
    .img-center { width:100%}
}

/* images with no borders in list*/
.no-border-img {
    max-width: calc(100% + 4rem);
    margin: -2rem;
    display:block;
    width: calc(100% + 4em) !important;
}
/* images in the middle in list*/
.img-center {
    width:80% !important;
    margin: 0 auto;
    display:block;
}
@media (max-width: 768px) {
    .img-center { width:100% !important;}
}
@media (min-width: 992px) {
	 .portfolio-pictures ul li.col-md-6 {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 calc(50% - 2rem);
		-ms-flex: 0 0 calc(50% - 2rem);
	    flex: 0 0 calc(50% - 2rem);
		max-width: calc(50% - 2rem);
	}
}

/* project specialpages
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.portfolio-page-festa-major-top {
    position: relative;
    margin-bottom: -500px;
}
.portfolio-pictures.portfolio-page-festa-major-top  ul li {
    background-color: transparent;
}
.portfolio-page-festa-major {
    background: #CACFD3;
    padding-top: 30px;
    padding-bottom: 30px;
    margin-top: 0;
}
.bg-color, .portfolio-page-festa-major {
    margin-left: -15px;
    margin-right: -15px;
    padding-left: 30px;
    padding-right: 30px;
}
.portfolio-pictures.portfolio-page-festa-major  ul li {
    padding:0;
}
.bg-color {
    background: #CACFD3;
    width: calc(100% + 30px);
    height: 400px;
    margin-top: 0;
}

/* project presentation
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.title-description {}
.title-description h2, .title-description p {
	font-size: 3.6rem; 
	line-height: 1.25; 
}
.title-description h2 {
	font-family: 'playfair_bold';
	margin:0;
}
.title-description p {
	font-family: 'playfair_regular';
	margin-top: 0;
}
ul.industry {
	list-style-type: none;
	margin: 0;
	padding:0;
}
ul.industry a {
	color:#111;
	text-decoration: none
}
.project-description p, .project-description, .project-description-text, h2.project-description   {
	font-family: "source_light";
	font-size:2rem;	
}
h2.project-description   {
	font-family: 'source_bold';
	font-weight: normal;
}
.bt-gallery div div {
	padding:2rem;
	margin: 1rem 0;
	background: #f8f8f8;
}
.top-bar {
	min-height: 200px;
	background-color: #f8f8f8;
	background-size: cover;
    background-position: center;
    position: relative;
}
.project .poster-page.top-bar {
    height: calc(100vh - 170px);
}
.top-bar.top-bar-icon {
    min-height: 100px;
    background-color: #4158D0;
    background-image: -o-linear-gradient(47deg, #4158D0 0%, #d215b5 25%, #c92b37 57%, #ffa403 100%);
    background-image: linear-gradient(43deg, #4158D0 0%, #d215b5 25%, #c92b37 57%, #ffa403 100%);
    position: relative;
    /*background-image: -o-linear-gradient( 135deg, #52E5E7 10%, #130CB7 100%);
    background-image: linear-gradient( 135deg, #52E5E7 10%, #130CB7 100%);*/
}
.top-bar.top-bar-icon > div {
    height: 100px;
    width: 40%;
    position: absolute;
    top: 0;
    right: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50%;
}
.related-projects-container {
    margin-bottom:4rem;
}
ul.related-projects {
	list-style-type: none;
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

ul.related-projects li {
    flex: 1 0 21%;
    flex: 0 0 24.5%;
    margin: 0.25%;
}
ul.related-projects li > div {
    background-size: cover;
    background-position: center;
}
ul.related-projects li a {
	text-decoration: none;
	color:#111;
	margin: 20px;
	display: block;
	height: 300px;
	margin:5px;
	background-color: transparent;
	background-size: cover;
	cursor:pointer;
}

ul.related-projects li a:hover .related-projects-description {
	display: block;
}
.related-projects-description {
	padding: 10px;
	display: none;
	background-color: rgba(255,255,255,0.8);
	height: 100%;
	margin-left:-5px;
	margin-right: -5px;
}
.related-projects-description h3 {
	font-size: 2.4rem;
}
.service-industry-section ul {
    margin: 0;
    padding-left: 10px;
}
.service-industry-section ul li {
    display:inline-block;
    font-size: 2rem;
    font-family: 'source_light';
}
.service-industry-section ul li:after {content:","}
.service-industry-section ul li:last-child:after {content:"."}
.service-industry-section ul, .service-industry-section p { float:left;}

@media (max-width: 768px) {
	ul.related-projects li {
		flex: 0 0 49%;
	}
	ul.related-projects li a { }
}


/* home
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.break-out {
    width: 100vw;
    position: relative;
    left: calc(-1 * (100vw - 100%) / 2);
}
.d-flex {
    display:flex;
}
.justify-content-between {
    justify-content: space-between !important;
}
.flex-column {
    flex-direction: column !important;
}
.align-items-center{
    align-items: center !important;
}

.flex-grow {
    flex: 1;
}



.poster-home, .poster-page {
    height: 100vh;
    max-height: 1100px;
    position:relative;
    width: 100vw;
}
.poster-home {
    min-height: 580px;
}
.poster-home-image {
    position: absolute;
    right: 0;
    height: 100%;
    top: 0;
}
.poster-home-image {
    left: 50vw;
}
.poster {
    overflow: hidden;
}
.poster-home .container-fluid {
    z-index: 1;
}
@media (max-width: 768px) {
	.home .poster-home-image {
		position: relative;
		left:0;
		padding:20px;
		margin-bottom: 2rem;
	}
	.home .poster-home-image img {
		width: 80%;
		object-fit: contain;
		-o-object-fit: conatin;
		display: block;
		margin: 0 auto;
	}
}
/*
.poster.poster-home {
    background-color: #4158D0;
    background-image: -o-linear-gradient(47deg, #4158D0 0%, #d215b5 25%, #c92b37 57%, #ffa403 100%);
    background-image: linear-gradient(43deg, #4158D0 0%, #d215b5 25%, #c92b37 57%, #ffa403 100%);
}
*/


.poster.poster-home {
	/*background: -o-linear-gradient(135deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
	background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);*/
	background: -o-linear-gradient(135deg, #23d5ab, #23a6d5, #e73c7e, #ee7752);
	background: linear-gradient(-45deg,    #CD0000, #23a6d5, #e73c7e, #ee7752  );
	background-size: 400% 400%;
	-webkit-animation: gradient 15s ease infinite;
	        animation: gradient 15s ease infinite;
}
.page-contact .poster.poster-home {
	background: gainsboro;
}
.page-contact a, .page-contact p {
	color:#111 !important;
}
.page-team ol {
	list-style-type: none;
}
.page-team ol li {
	margin-bottom: 2rem;
}


@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}




.poster-home-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    object-position: 0 50%;
    -o-object-position: 0 50%;
}
.poster-home-text {
    margin-left: 50px;
    padding-right: 100px;
    color:#fff
}
.poster-home-text h2,
.type-h1 {
    font-size:5rem;
    font-size:calc(100vw / 25);
    font-family: 'playfair_bold';
}
.poster-home-text p {
    font-size: 2rem;
    font-family: "source_regular";
}
@media (max-width: 768px) {
    .poster-home-text h2 {
        font-size:4rem;
    }
    .poster-home-text {
        /*color:#222;*/
    }
    .poster.poster-home{
        /*background-color: #fff;*/
        height: auto;
        min-height: auto;
        padding-top: 3em;
        padding-bottom: 3em;
    }
    .poster.poster-home {
        /*background-image:none;*/
    }
    
}


/* grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.container-fluid {
    padding-left: 30px;
    padding-right: 30px;
}


.grid-wrapper {
	width: 100%;
	border: 4px solid #fff;
	display: grid;
	grid-gap: 4px;
	grid-template-columns: repeat(4, 1fr);
	justify-content: center;
    align-content: end;
    grid-auto-flow: dense;
}

.grid-box {
	background-color: #fff;
	color: #111;
}
.grid-box.grid-project-item-big {
	grid-column-start: span 2;
	grid-row-start: span 2;
}
.grid-box > div {
	cursor: pointer;
	display: block;
	outline: none;
	overflow: hidden;
	padding-bottom: 71.2%;
	position: relative;
}
.grid-box > div > a {	
	display:block;
	height:100%;
	background-size: cover;
	background-position: center;
	color:black;
	text-decoration: none;
	position: absolute;
	width: 100%;
}
.grid-box > div > a > div.grid-project-desc { 
	width: 100%;
	height: 100%;
	padding: 20px;
	background-color: rgba(22, 106, 216, 0.2);
    opacity: 0;
    position: relative;
    z-index: 9;
}
.grid-box:hover > div > a > div.grid-project-desc,
div.grid-project-desc:hover { 
	opacity: 1;
}
.grid-box > div > a > div.grid-project-desc h3 {
	margin-bottom: 0;
	font-size: 2.4rem;
    line-height: 3rem;
}
.grid-box > div > a > div.grid-project-desc p {
	margin-top: 1rem;
    line-height: 2.5rem;
}
.grid-box > div > a > div.grid-project-desc h3,
.grid-box > div > a > div.grid-project-desc p,
.grid-box .grid-project-desc ul  {
    border-left: 10px solid #fff;
}
.grid-box > div > a > div.grid-project-desc h3 span,
.grid-box > div > a > div.grid-project-desc p span,
.grid-box .grid-project-desc ul {
    background: #fff;
}
.grid-box .grid-project-desc ul {
    float: left;
}
.grid-box img.img-thumb {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width:100%;
}
/* toni mirar, es efecto en la galeria */
.grid-box > div > a img,
.grid-box:hover  {
    transition: all 1s ease-out;
}
.grid-box {
    background-size: cover;
}
.grid-box > div > a:hover img.img-thumb {
    transform: scale(1.5) translate(-50%, -50%);
    left: 75%;
    top: 85%;
}
/* for gif in bg*/
.grid-box:hover {
    background-size: 130% !important;
}
/* @media screen and (max-width: 1200px) { */
@media screen and (max-width: 1460px) {
    .grid-wrapper {
        grid-template-columns: repeat(3, 33%);
        grid-template-columns: repeat(3, 1fr);
    }
}
/* @media (max-width: 992px) { 
	@media (max-width: 768px) {
*/
@media (max-width: 1102px) {
	.grid-wrapper {
		grid-template-columns: repeat(2, 50%);
	}
	.grid-box.grid-project-item-big {
		grid-column-start: span 1;
		grid-row-start: span 1;
	}
}
@media (max-width: 560px) {
	.grid-wrapper {
		grid-template-columns: repeat(1, 100%);
	}
}
.grid-project-desc ul {
    list-style-type: none;
    margin:0;
}
.grid-project-desc ul li {
    float: left;
    margin-right:5px
}
.grid-project-desc ul li:after {
    content:", ";
}
.grid-project-desc ul li:last-child:after {
    content:".";
}

/* navbar
–––––––––––––––––––––––––––––––––––––––––––––––––– */

ul.navbar { 
	display: flex;
	list-style-type: none;
	justify-content: flex-end;
	margin:0;
}
ul.navbar li { margin:0;}
ul.navbar li a {
	padding:10px;
	text-decoration: none;
	color:#111;
	display:block;
}
ul.navbar li:last-child a {
	margin-right:28px;
}
ul.navbar li a:hover {
	background-color:black;
	color:white;
}

ul.navbar a.active {
	font-family: 'source_bold';
}

/* navbar select project
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul.navbar.select-container {
	
}
ul.navbar.select-container > li {
	position: relative
}
/*
ul.navbar.select-container > li:hover ul {
	display: block;
}
*/

ul.navbar.select-container > li.hovered ul {
	/*display: block;*/
	opacity: 1;
	left:0;
}

ul.navbar.select-container ul {
	opacity: 0;
	position: absolute;
	list-style-type: none;
	margin: 0;
	padding: 0;
	z-index: 9999999;
	left:-10000px;
}
ul.navbar.select-container > li > span{
	display: block;
	margin-right:35px
}
ul.navbar.select-container li a {
	padding:0;
}
.category-description {
	cursor: pointer;
	padding-right: 25px;
	position: relative;
}
.category-description:after,
.category-description:before {
    border-bottom: 1px solid;
    content: '';
    height: 1px;
    position: absolute;
    top: 50%;
    width: 10px;
}
.category-description:after {
	right: 0px;
	-webkit-transform: rotate(-42deg);
	-ms-transform: rotate(-42deg);
	transform: rotate(-42deg);
}
.category-description:before {
    right: 7px;
    -webkit-transform: rotate(42deg);
    -ms-transform: rotate(42deg);
    transform: rotate(42deg);
}

@media (max-width: 640px) {
	ul.navbar { 
		display: block;
		margin:0;
		font-size:1.5em;
		margin-left: -30px;
		margin-right: -30px;
	}
	ul.navbar li a, ul.navbar {
		color:#AEAEAE;
	}
	ul.navbar.select-container ul {
		display: none;
		opacity: 1;
		left:0;
		position: relative;
	}
	ul.navbar.select-container li {
		padding:0;
	}
	ul.navbar.select-container > li {
		padding: 5px 30px;
	}
	ul.navbar.select-container > li {
		border-top: 1px solid #AEAEAE;
	}
	ul.navbar.select-container > li:hover,
	ul.navbar li a.active {
		color:#111 !important;
	}
	ul.navbar.select-container ul {
		
	}
	ul.navbar.select-container > li.movil-hovered ul {	
	}
	ul.navbar.select-container > li > span {
		margin-right: 0;
	}
}

/* page about
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.bg {
    position: relative;
    opacity: 1;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 100%;
}
.bg-icon {
    background-image: url(http://localhost:8888/pico/assets/bg-01-a-1.png);
    width: 100%;
    height: 100%;
    background-size: cover;
    opacity: .5;
    display: none;
}
.bgimg-1 {
    background-image: url("../../../assets/background/bg01.jpg");
    /*
    background-image: -o-linear-gradient(47deg, #4158D0 0%, #d215b5 25%, #c92b37 57%, #ffa403 100%);
    background-image: linear-gradient(43deg, #4158D0 0%, #d215b5 25%, #c92b37 57%, #ffa403 100%);
    */
} 
.bgimg-2 {
    background-image: url("../../../assets/background/bg02.jpg");
} 
.bgimg-3 {
    background-image: url("../../../assets/background/bg03.jpg");
}
.bgimg-4 {
    background-image: url("../../../assets/background/bg04.jpg");
}
.bgimg-5 {
    background-image: url("../../../assets/background/bg05.jpg");
}
.bgimg-about {
    background-color:#1C75BC;
}

.bg .container-fluid {
    position:absolute;
    top:20%;
}
.bg p, .bg ul li {
    font-family: 'source_regular';
}
.bg.bgimg-about p {
    font-family: "source_regular";
}
.bg h2 {
    font-family: 'playfair_bold';
}
.bg ul {
    padding-left:1.5rem;
}
.bg ul li {
    font-size:2rem;
}
.bg .caption {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    text-align: center;
    color: #000;
}
  
.bg .caption span.border {
    background-color: #111;
    color: #fff;
    padding: 18px;
    font-size: 25px;
    letter-spacing: 10px;
}


@media (max-width: 768px) {
    .bg  {
        background-position: left;
        position:intial;
        height: auto;
        padding: 4rem 0;
        min-height: auto;
        background-size: initial;
    }
    .bg .container-fluid {
        position:initial;
    }
}

.page-about h3 {
    font-size: 3rem;
}
ul.three-columns {
    list-style-type: none;
    margin: 0 -2rem;
    display: flex;
    flex-wrap: wrap;
}

ul.three-columns li {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    padding:2rem;

}
ul.three-columns li img {
    background-color: #f8f8f8;
}
@media (max-width: 992px) {
    ul.three-columns  li {
        flex: 0 0 50%;
        max-width: 50%;
    }
}
@media (max-width: 768px) {
    ul.three-columns  {
        display: block;
    }
    ul.three-columns li {
        max-width: 100%;
    }
}


img { max-width: 100%; }

hr {
    border: 0.15em solid #f5f5f5;
    border-radius: 0.3em;
    background: #f5f5f5;
}

abbr { text-decoration: underline dotted; }


.scroll-item {
    bottom: 0;
    left: 0;
    padding: 33px 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 5;
}
@media (max-width: 768px) {
    .scroll-down {
        display: none;
    }
}
.scroll-down {
    bottom: 0;
    width:50px;
    height: 50px;
    left: 50%;
    outline: none;
    position: absolute;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    z-index: 10;
}
.scroll-down:before {
    border-color: transparent #fff #fff transparent;
    border-style: solid;
    border-width: 2px;
    content: '';
    display: block;
    height: 18px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 18px;
}
.movil-menu-icon {
    width: 38px;
    height: 38px;
    margin-top: 5px;
}
#nav-toggle[aria-expanded='true'] .movil-menu-icon.icon-open,
#nav-toggle[aria-expanded='false'] .movil-menu-icon.icon-close{
    display: none;
}
#nav-toggle[aria-expanded='true'] .movil-menu-icon.icon-close,
#nav-toggle[aria-expanded='false'] .movil-menu-icon.icon-open {
    display: block;
}

/** COLOR **/
.organe-bg {
    background-color: #ef5a28;
}
.orange-color,
.active,li.active a,
.page-contact h2,
#nav-toggle,
.grid-box > div > a > div.grid-project-desc p  {
    color:#ef5a28 !important
}
li.active a {
	color:#2174af!important
}
.blue-bg {background-color: #2174af;}

.blue-color,
.grid-box > div > a > div.grid-project-desc h3 {
    color:#2174af  !important;
}
#nav-toggle:hover {
    color:#fff !important;
}


/*** UTILITIES ***/
html {
    overflow-y: scroll; overflow-x: hidden;
}
*, *:before, *:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

div:focus {outline:0;}
.m-0{margin:0 !important;}
.mt-0 { margin-top: 0 !important;}
.mt-1 { margin-top: 1rem !important; }
.mt-2 { margin-top: 2rem !important; }
.mt-4 { margin-top: 4rem !important; }
.mb-0 { margin-bottom: 0 !important;}
.mb-1 { margin-bottom: 1rem !important; }
.mb-2 { margin-bottom: 2rem !important; }
.mb-4 { margin-bottom: 4rem !important; }
.p-0{padding:0 !important;}
.pl-0 {padding-left:0 !important; }
.pl-1 {padding-left:1rem !important; }
.pt-1 {padding-top:1rem !important; }
.pb-0 {padding-bottom:0 !important; }
.pb-1 {padding-bottom:1rem !important; }
img { max-width: 100%; }
.text-hide { text-indent: -9999px; display: inline-block}
.transition, .grid-project-desc,
.next-page, .prev-page {
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}
.transparent {background-color: transparent !important}
.white, .active.white {color:white !important}
.relative { position:relative !important;}
.initial {position: initial !important;}

.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }
.align-justify { text-align: justify; }

.image { display: block; margin: 0 auto; }
.image.xsmall { width: 20%; }
.image.small { width: 40%; }
.image.large { width: 60%; }
.image.xlarge { width: 80%; }
.image.float-left { float: left; margin: 1em 2em 1em 0; }
.image.float-right { float: right; margin: 1em 0 1em 2em; }
.image img { display: block; width: 100%; }

.d-none {display: none !important;}

@media (min-width: 768px) {
    .d-md-block {
        display: block !important;
    }
}

@media (max-width: 767px) {
    .image.xsmall { width: 60%; }
    .image.small { width: 80%; }
    .image.large, .image.xlarge { width: 100%; }
    .image.float-left, .image.float-right { float: none; margin: 0 auto; }
}


/*** ANIMA ***/
[data-scroll].is-outside {
    transition: none;
    animation: none;
}
h2, h3, .anime, .portfolio-pictures li, .title-description, 
.project-content-category, .project-description, .grid-box,
.home-title h2, .home-title p {
    transition: 1s ease-out;
}

h2.is-outside,
h3.is-outside,
.col-md-7 h2.is-outside,
.title-description.is-outside,
.project-content-category.is-outside,
.project-description.is-outside {
    transform: translateX(2em);
    opacity: 0;
    transition: none;
}
.col-md-7 h2 {
    display:inline-block;
}
.is-outside.anime.anime-y-10,
.is-outside.anime.anime-text-about,
.portfolio-pictures li.is-outside,
.grid-box.is-outside {
    transform: translateY(10em);
    opacity: 0;
}
.is-outside.anime.anime-y-15 {
    transform: translateY(15em);
}
.home-title.is-outside h2, 
.home-title.is-outside p {
    transform: translateX(2em);
    opacity: 0;
}


/*** TABLES ***/

table { border-spacing: 0; }

td, th {
    padding: 0.4em 1em;
    vertical-align: top;
}
th {
    font-weight: bold;
    text-align: center;
    background: #f5f5f5;
    color: #333;
}

td, th {                                         border: 1px solid #ccc; }
tr:not(:last-child) td, tr:not(:last-child) th { border-bottom: 0 none; }
thead tr:last-child th {                         border-bottom: 0 none; }
td:not(:last-child), th:not(:last-child) {       border-right: 0 none; }

tr:first-child td:first-child, tr:first-child th:first-child { border-top-left-radius: 0.3em; }
tr:first-child td:last-child, tr:first-child th:last-child {   border-top-right-radius: 0.3em; }
tbody tr:last-child td:first-child {                           border-bottom-left-radius: 0.3em; }
tbody tr:last-child td:last-child {                            border-bottom-right-radius: 0.3em; }
table thead + tbody tr:first-child td {                        border-radius: 0 !important; }

.table-responsive { overflow-x: auto; }
.table-responsive > table { margin-bottom: 0; }



/*** BLOCKQUOTE ***/

blockquote {
    /*font-style: italic;
    margin-left: 1em;
    padding-left: 1em;
    border-left: 0.5em solid #f5f5f5;*/
    font-size:3rem;
    margin-bottom: 4rem;
    
}
blockquote p {
    margin-bottom: 0;
    font-size:3rem;
    line-height: 4rem;
    font-family: 'source_light';
}

/*** FORMS ***/

label, fieldset legend { font-weight: bold; }

input:not([type="checkbox"]):not([type="radio"]), button, select, textarea, fieldset, fieldset legend {
    border: 1px solid #ccc;
    border-radius: 0.3em;
    background: #fff;
    -webkit-transition: none .2s ease-in;
            transition: none .2s ease-in;
    -webkit-transition-property: border-color, background, box-shadow;
            transition-property: border-color, background, box-shadow;
}

input:not([type="checkbox"]):not([type="radio"]), button, select, textarea {
    padding: 0.5em 1em;
    outline: 0 none;
    font-size: 1rem;
}
input:focus:not([type="checkbox"]):not([type="radio"]), button:focus, select:focus, textarea:focus {
    border-color: #2EAE9B;
    box-shadow: 0 0 8px #2EAE9B;
}
input[type="button"]:focus, input[type="submit"]:focus, input[type="reset"]:focus, button:focus,
input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover, button:hover {
    background: #f5f5f5;
    cursor: pointer;
}

textarea, select[multiple] {
    vertical-align: bottom;
    overflow: auto;
}

fieldset {
    padding: 1em;
    background: #f5f5f5;
}
fieldset legend { padding: 0 0.5em; }

fieldset label, fieldset input, fieldset button,
fieldset select, fieldset textarea {
    margin: 0.2em 0.5em;
}
fieldset label:first-child, fieldset input:first-child, fieldset button:first-child,
fieldset select:first-child, fieldset textarea:first-child {
    margin-left: 0;
}
fieldset label:last-child, fieldset input:last-child, fieldset button:last-child,
fieldset select:last-child, fieldset textarea:last-child {
    margin-right: 0;
}

/* Firefox input size fix */
input::-moz-focus-inner, button::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/* very ugly overflow fix, avoid this whenever possible! */
#main .container { overflow-x: auto; }

.niente.is-outside {
	transform: translateY(0) !important;
	opacity: 1 !important;
}

/* between page navigation **/
@view-transition {
    navigation:auto
}
::view-transition-group(page-content) {
    animation-duration: 1s;
    animation-timing-function: ease;
}
::view-transition-old(page-content){
    animation-name: slide-out;
}
::view-transition-new(page-content){
    animation-name: slide-in;
}
#main {
    view-transition-name: page-content;
}
@keyframes slide-out {
    to {
        translate: -100vw;
    }
}
@keyframes slide-in {
    from {
        translate: 100vw;
    }
}