@charset "UTF-8";
/* CSS Document */


html, body, h1, h2, h3, h4, h5, h6, p, a, ol, ul, li, pre, code, address, variable, form, fieldset, blockquote {
	padding: 0;
	margin: 0;
    list-style: none;
    text-decoration: none;
}

.loading {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: white;
    
    z-index: 500;
}

.loading_pictogram {
   width: 200px;
   height: 200px;
   background-image: url("images/pictogram.jpg");
   background-size: contain;
   background-repeat: no-repeat;
   position: absolute;
   top: calc(50% - 100px);
   left: calc(50% - 100px);
   
   -webkit-animation-name: "loading_pictogram";
   -webkit-animation-duration: 0.5s;
   -webkit-animation-iteration-count: infinite;
   -webkit-animation-direction: alternate;
   animation-name: "loading_pictogram";
   animation-duration: 0.5s;
   animation-iteration-count: infinite;
   animation-direction: alternate;
}

@-webkit-keyframes loading_pictogram { 
   0% {
      width: 200px;
  	  height: 200px;
	   top: calc(50% - 100px);
   left: calc(50% - 100px);
   }
   
   100% {
      width: 240px;
      height: 240px;
	   top: calc(50% - 120px);
   left: calc(50% - 120px);
   }
}

@keyframes loading_pictogram { 
    0% {
      width: 200px;
  	  height: 200px;
	   top: calc(50% - 100px);
   left: calc(50% - 100px);
   }
   
   100% {
      width: 180px;
      height: 180px;
	   top: calc(50% - 90px);
   left: calc(50% - 90px);
   }
}

/*#loading_animation_home {
    position: absolute;
    width: 12vw;
    height: 12vw;
    left: calc(50% - 6vw);
    top: calc(50% - 6vw);
}

#loading_animation_projects {
    position: absolute;
    width: 12vw;
    height: 12vw;
    left: calc(50% - 6vw);
    top: calc(50% - 6vw);
}

#loading_animation_projects_inner {
    position: absolute;
    width: 12vw;
    height: 12vw;
    left: calc(50% - 6vw);
    top: calc(50% - 6vw);
}*/


/* ------- home ------- */

.gradient_bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    	
    background:  linear-gradient(90deg, rgba(0,115,255,1) 5%, rgba(0,255,255,0.5) 20%, rgba(0,255,255,0.5) 40%, rgba(0,115,255,1) 60%, rgba(0,115,255,1) 75%, rgba(0,255,255,0.5) 90%);
    background-size: 400% 400%;

    -webkit-animation: gradient_animation 10s ease infinite;
    -moz-animation: gradient_animation 10s ease infinite;
    animation: gradient_animation 10s ease infinite;
        
	z-index: -1;
}

@-webkit-keyframes gradient_animation {
    0%{background-position:left center }
    50%{background-position:right center}
    100%{background-position:left center}
}
@-moz-keyframes gradient_animation {
    0%{background-position:left center }
    50%{background-position:right center}
    100%{background-position:left center}
}
@keyframes gradient_animation { 
    0%{background-position:left center }
    50%{background-position:right center}
    100%{background-position:left center}
}

.main_menu_svg {
    position: relative;
	top: 0;
	left: 0;
	width: 100vw;
	height: 10vw;
    
    background-image: url("images/menu_short.svg");
    background-size: 101% auto;
    background-position: left center;
    background-repeat: no-repeat;
    
    z-index: 1;
}

.main_menu {
    width: 62vw;
    height: 5vw;
    /*background-color: antiquewhite;*/
    opacity: 0.5;
    position: absolute;
    top: 3.6vw;
    left: 4vw;
    z-index: 2;
}

.menu {
    height: 4vw;
    background-color: white;
    opacity: 0.5;
    display: inline-block;
    margin-right: 1.2vw;
    transition: 0.5s;
}

.menu:hover {
    background-color: rgba(0,255,255,0.5);
}

.menu_home {
    width: 8vw;
    margin-left: 0.5vw;
}

.menu_projects {
    width: 11.5vw;
}

.menu_contact {
    width: 9.8vw;
}

.home {
    position: relative;
	top: 0;
	left: 0;
	width: 100vw;
	height: 45vw;
    
    background-image: url("images/home.svg");
    background-size: 100% auto;
    background-position: left center;
    background-repeat: no-repeat;
    
    z-index: 1;
}

.projects_grid {
    width: 88vw;
    height: auto;
    background-color: white;
   padding-top: 10vw;
   padding-bottom: 5vw;
   padding-left: 6vw;
   padding-right: 6vw;
   transition: 1s;
	overflow-y: hidden;
}

.projects_grid_item {
    background-color: #00FFFF;
    position: relative;
    
    width: 48%;
    height: 27vw;
        
    background-size: cover;
    background-position: center;
    overflow: hidden;
    object-fit: cover;
    object-position: center;  
}

.item_filter {
   margin: 0.8vw;
}

.grid_item_square_small {
    width: 22%;
    height: 20vw;
    display: block;
    margin-bottom: 2vw;
}

.grid_item_square_large {
   width: 48%;
   height: 42vw;
   margin-top: -44vw;
   left: 46vw;
   overflow: visible; 
}

.grid_item_right {
   overflow: visible;
   left: 46vw;
   margin-top: 12vw;
}

.grid_item_left1 {
   margin-top: 15vw;
   overflow: visible; 
}

.grid_item_square_large2 {
   width: 48%;
   height: 42vw;
   margin-left: 22vw;
   margin-top: 20vw;
   overflow: visible; 
}

.grid_item_left2 {
   margin-top: 12vw;
   overflow: visible; 
}

.grid_item_square_small2 {
    width: 20vw;
    height: 20vw;
    display: block;
    margin-bottom: 2vw;
    margin-left: 68vw;
    /*margin-top: -30vw;*/
}

.grid_item_square_small3 {
   width: 20vw;
    height: 20vw;
    display: inline-block;
    margin-right: 2.55vw;
    margin-left: 0vw;
    margin-top: 6vw;
   top: -40vw;
}

.grid_item_right2 {
   overflow: visible;
   top: -12vw;
   margin-top: -20vw;
   left: 46vw;
}

.item_info {
    width: 50%;
    height: 100%;
    
    background-color: rgba(0,255,255,0.7);
    
    position: absolute;
    visibility: 0;
    right: -50%;
    
    -webkit-transition: 0.5s;
    transition: 0.5s;
    
}

.item_info_slide {
    visibility: 1;
    right: 0;
}

.item_info_caption {
    width: 100%;
    height: auto;
   position: absolute;
   top: 100%;
}

.item_info_text {
	float: left;
	font-family: 'univers-Light';
	color: rgba(255,255,255,1);
	font-size: 1.3vw;
	line-height: 2vw;
	word-spacing: 5px;
	letter-spacing: 1px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 10px;
}

.item_info_caption > .item_info_text {
   color: rgba(0,115,255,1);
   padding-top: 20px;
   padding-left: 0px;
}

.item_info_text span {
	font-family: 'univers-Bold';
	font-size: 1.5vw;
	letter-spacing: 2px;
}

.item_info_text a {
	color: rgba(255,255,255,1);
    transition: 0.5s;
}

.item_info_caption > .item_info_text a {
	color: rgba(0,115,255,1);
    transition: 0.5s;
}

.item_info_text a:hover {
	color: rgba(0,115,255,1);
}

.contact {
    position: relative;
	width: 100vw;
	height: 70vw;
    background-image: url("images/contact.svg");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
}






/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/* ----------------------------TABLET---------------------------- */



@media only screen and (max-width: 1024px), only screen and (max-device-width: 1024px) and (orientation : landscape)  {
    
    
    
}



@media only screen and (max-width: 768px), only screen and (max-device-width: 768px) and (orientation : portrait) {
    
    
}





/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/* ---------------------------- MOBILE ---------------------------- */


@media only screen and (max-width: 736px), only screen and (max-device-width: 736px) and (orientation : landscape) {
    
    
}


@media only screen and (max-width: 667px), only screen and (max-device-width: 667px) and (orientation : landscape) {
    
}


@media only screen and (max-width: 667px), only screen and (max-device-width: 414px) and (orientation : portrait) {
    
.main_menu_svg {
	width: 100vw;
	height: 21vw;
    
    background-image: url("images/menu_short_mobile.svg");
}
    
.main_menu {
    width: 100vw;
    height: 10vw;
    /*background-color: antiquewhite;*/
    top: 8.4vw;
    left: 0vw;
}

.menu {
    height: 10vw;
    background-color: white;
    margin-right: 4vw;
    transition: 0.5s;
}

.menu:hover {
    background-color: rgba(0,255,255,0.5);
}

.menu_home {
    width: 17vw;
    margin-left: 9.7vw;
}

.menu_projects {
    width: 31vw;
}

.menu_contact {
    width: 24vw;
}


.home {
	height: 101vw;
    
    background-image: url("images/home_mobile.svg");
}

.projects_grid {
    width: 80vw;
    height: auto;
    background-color: white;
   padding-top: 10vw;
   padding-bottom: 5vw;
   padding-left: 10vw;
   padding-right: 10vw;
   transition: 1s;
}

.projects_grid_item {

    width: 80vw;
    height: 50vw;
}

.grid_item_square_small {
    width: 80vw;
    height: 80vw;
    margin-bottom: 5vw;
	display: none;
}

.grid_item_square_large {
   width: 80vw;
   height: 80vw;
   margin-top: 30vw;
   left: 0vw;
}

.grid_item_right {
   left: 0vw;
   margin-top: 32vw;
}

.grid_item_left1 {
   margin-top: 32vw;
}

.grid_item_square_large2 {
   width: 80vw;
   height: 80vw;
   margin-left: 0vw;
   margin-top: 45vw;
}

.grid_item_left2 {
   margin-top: 32vw;
}

.grid_item_square_small2 {
    width: 80vw;
    height: 80vw;
    display: block;
    margin-bottom: 5vw;
    margin-left: 0vw;
    /*margin-top: -30vw;*/
    top: 40vw;
}

.grid_item_square_small3 {
   width: 80vw;
    height: 80vw;
    display: block;
    margin-right: 0vw;
    margin-left: 0vw;
    margin-top: 6vw;
   top: 42vw;
}

.grid_item_right2 {
   top: -20vw;
   margin-top: 70vw;
   left: 0vw;
}






.item_info {
    width: 100%;
    right: -100%;
}

.item_info_slide {
    visibility: 1;
    right: 0;
}

.item_info_text {
	font-size: 3.5vw;
	line-height: 5vw;
	word-spacing: 3px;
	letter-spacing: 1px;
}
   
.item_info_caption {
    width: 100%;
    height: auto;
   position: absolute;
   top: 100%;
}

.item_info_caption > .item_info_text {
   color: rgba(0,115,255,1);
   padding-top: 20px;
   padding-left: 0px;
}

.item_info_text span {
	font-size: 4vw;
	letter-spacing: 2px;
} 


.contact {
	height: 100vw;
    background-image: url("images/contact_mobile.svg");
}
    


    
}
