/******************** GENERAL ADJUSTMENTS ********************/                                                                                                             
body, html {                                                                                                                                                                                                                                                                                                                                                                                                           
	overflow-x: hidden; 
}
  
* {                 
	margin: 0px auto;
	padding: 0px;
	box-sizing: border-box;
}

h1, h2, h3, h4, h5, p, a {
	font-family: 'Montserrat', sans-serif; 
}

/* link */ 
a, a:hover {
	text-decoration: none; 
} 

/* background image */
.background {
	background-size: cover;
	background-position: 50% 50%;
} 

/* fill-parent */ 
.fill-parent {
	width: 100%;
	height: 100%; 
}   

/* cursor */
.typewritercursor { 
    position: relative; 
    bottom: 2px;
    font-weight: 100 !important; 
	animation: cursorblink 1s step-end infinite;
	font-family: 'Montserrat', sans-serif !important;
}








/******************** PRELOADER ********************/  
#PreloadNavigate {    
    position: fixed;
	top: 50%;
	left: 50%;
    z-index: 9999999999;
	background-color: black;
	border-radius: 100%;
}

/* container */
#LoaderContainer { 
	width: 80px;
	height: 80px; 
	position: fixed;
	top: calc(50% - 40px);
	left: calc(50% - 40px);   
    z-index: 9999999999; 
}

/* inner */ 
#LoaderInner {  
    width: 80px;
	height: 80px; 
	animation: preloadpulsate 2s linear infinite;
}

/* spinner */
#LoaderContainer .spin {
	position: absolute;
	border: 2px solid transparent; 
	border-radius: 100%;
}

#LoaderContainer #SpinnerOne {  
	width: 80px; 
	height: 80px; 
	top: calc(50% - 40px); 
	left: calc(50% - 40px);
	border-top-color: rgb(250,250,250);
	border-bottom-color: rgb(250,250,250); 
    animation: spinclockwise 1s linear infinite; 
}

#LoaderContainer #SpinnerTwo { 
	width: 50px;
	height: 50px;
	top: calc(50% - 25px);
	left: calc(50% - 25px);
	border-right-color: rgb(250,250,250);
    animation: spincounterclockwise 1s linear infinite; 
}

#LoaderContainer #SpinnerThree {
	width: 20px;
	height: 20px;
	top: calc(50% - 10px);
	left: calc(50% - 10px);
	border-right-color: rgb(250,250,250);
	border-left-color: rgb(250,250,250);
    animation: spinclockwise 5s linear infinite; 
}

#LoaderContainer #SpinnerFour {
	width: 4px;
	height: 4px;
	top: calc(50% - 2px);
	left: calc(50% - 2px); 
	background-color: white;
}

/* overlay */
#PreloadNavigateOverlay {
    width: 100%;
    height: 100vh;	
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 999999999;
	background-color: black;
} 








/******************** NAVIGATION ********************/       
#Navigation {    
	width: 70px;
	height: 100%;
	position: fixed;
	top: 0px;
	left: 0px;
    z-index: 99999;  
	background-color: rgb(235,235,235);    
}

/* logo */
#Navigation #NavLogo { 
	width: 70px;
	height: auto;
	padding: 10px;
	position: absolute; 
	top: 0px;
	left: 0px;
	z-index: 99;
	cursor: pointer;
	background-color: rgba(0,0,0,0.1);
	transition: 1s;
} 

#Navigation #NavLogo:hover {
	opacity: 0.2;
}

/* contact button */
#Navigation #NavContactBtn {
	display: block;
	width: 120px;
	height: 50px;
	padding-top: 16.5px;
	position: absolute; 
	top: 223px;
	left: -25px;
	z-index: 99;
	cursor: pointer;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	border: 1px solid black;
	border-radius: 25px;
	color: black;
	transform: rotate(90deg);
	transition: 1s;
}

#Navigation #NavContactBtn:hover {
	opacity: 0.2;
}

/* typewriter */
#Navigation h3 {
	width: 300px;
	height: 50px;
	padding-top: 17.5px; 
	position: absolute;
	bottom: 174px;
	left: -115px;
	z-index: 9;
	word-spacing: 5px;
	font-size: 12px;
	font-weight: 400;
	color: black;
	transform: rotate(-90deg); 
}

#Navigation h3 span {
	font-weight: bold;
}

/* hamburger */
#NavHamburger {    
   width: 50px; 
   height: 50px; 
   padding-top: 19px;      
   position: fixed;
   top: 130px;
   left: 10px; 
   z-index: 999999999; 
   cursor: pointer;    
   border: 1px solid black;
   border-radius: 100%;
   transition: 1s;  
}

#NavHamburger:hover {
	opacity: 0.2;
}

/* ham active */
#NavHamburger.active { 
   top: calc(50% - 25px) !important;
   left: calc(50% - 25px) !important;
   transform: rotate(360deg);              
}
 
/* inner */
#NavHamburger .inner-el {
	opacity: 0;  
	transition: 1000ms; 
} 

#NavHamburger .inner-el.first {
	opacity: 1;  
}

/* inner active */   
#NavHamburger.active .inner-el {
	opacity: 1;  
}
 
#NavHamburger.active .inner-el.first {
	opacity: 0 !important; 
}

/* bar */
#NavHamburger .bar {    
   width: 17px;	
   height: 3px;      
   background-color: black;  
}

#NavHamburger .bar:nth-child(2) {
   margin-top: 4px;
}

/* close */
#NavHamburger p { 
	width: 100%;
	position: absolute;
	top: 15px;
	text-align: center;
	font-weight: bold;
	font-size: 15px;
	color: black;   
}








/******************** NAVIGATION MENU ********************/       
#NavigationMenu {          
   display: none;  
   width: 250px; 
   height: 350px;
   position: fixed;
   top: calc(50% - 175px);
   left: calc(50% - 125px);    
   z-index: 99999999;
   opacity: 0;    
   background-color: rgb(225,225,225);
   border-radius: 20px; 
}      

/* inner */ 
#NavigationMenu #NavigationMenuInner { 
	width: 100%; 
	height: 100%; 
	position: absolute;
	top: 0px;
	left: 0px;
	text-align: center;     
} 

/* links */
#NavigationMenu #NavigationMenuInner .links {
	width: 100%;
	position: absolute;
	cursor: pointer;  
}
 
#NavigationMenu #NavigationMenuInner .links.one { 
	top: 30px;
	padding-left: 30px; 
	text-align: left;  
}

#NavigationMenu #NavigationMenuInner .links.two {
	bottom: 30px;   
	padding-right: 30px; 
	text-align: right; 
}
 
#NavigationMenu #NavigationMenuInner .links a { 
	display: block; 
    margin-top: 10px;  
    font-size: 15px;  
    font-weight: 400;  
    color: rgb(100,100,100);
    transition: 1s;
}

#NavigationMenu #NavigationMenuInner .links a.bold {
    font-weight: bold;
    color: #67b3db;  
}

#NavigationMenu #NavigationMenuInner .links a.nomargin {
    margin-top: 0px; 
}  

#NavigationMenu #NavigationMenuInner .links a:hover {
	opacity: 0.2;
}
 
/* socials */
#NavigationMenu #NavigationMenuSocial {
	width: 100%;
	height: 40px;
	padding: 0px 0px; 
	position: absolute;
	top: calc(50% - 20px);
    opacity: 0; 
    transition: 500ms; 	
}

#NavigationMenu #NavigationMenuSocial.active {
	padding: 0px 30px;     
	opacity: 1; 
}

#NavigationMenu #NavigationMenuSocial a.social {
	display: block;	
	width: 36px;
	height: 40px;  
	cursor: pointer;  
	background-color: #67b3db; 
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);   
} 

#NavigationMenu #NavigationMenuSocial #IG {
	float: left;
} 
 
#NavigationMenu #NavigationMenuSocial #FB {
	float: right;
}

#NavigationMenu #NavigationMenuSocial a.social img { 
	display: block;
	width: 36px;
	height: 40px;
	object-fit: contain; 
}  
  
/* overlay */
#NavigationMenuOverlay {
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
    z-index: 9999999;
    opacity: 0;	  
	background-color: rgba(0,0,0,0.9);
}








/******************** FOOTER SECTION *********************/      
#FooterSection {                     
    width: calc(100% - 70px);
    height: 800px; 
    margin-top: 200px;     
    position: relative;   
    left: 35px;
    overflow: hidden;
    border-top: 1px solid rgb(200,200,200);
}

/* wrapper */
#FooterSection #FooterSectionInnerWrapper {
    position: relative; 
}

/* map */
#FooterSection #FooterSectionMap {
    position: absolute;
    top: 0px;
    left: 0px; 
    z-index: 9;
    opacity: 0.5;
}

/* map overlay */
#FooterSection .overlay {   
    position: absolute;
    z-index: 99;
}

#FooterSection .overlay.one {
    width: 100%;
    height: 300px; 
}

#FooterSection .overlay.two {
    width: 30%;
    height: 100%;
    top: 0px;
}

#FooterSection #FooterSectionOverlayUpper {
    top: 0px;
    background: linear-gradient(to bottom, white, rgba(255,255,255,0));
}

#FooterSection #FooterSectionOverlayLower {
    bottom: 0px;
    background: linear-gradient(to top, white, rgba(255,255,255,0));
}

#FooterSection #FooterSectionOverlayRight  {
    right: 0px;
    background: linear-gradient(to left, white, rgba(255,255,255,0));
}

#FooterSection #FooterSectionOverlayLeft {
    left: 0px;
    background: linear-gradient(to right, white, rgba(255,255,255,0));
}

/* content */
#FooterSection #FooterSectionContent {
    width: auto; 
    height: auto;
    position: absolute;
    top: 40px; 
    left: 50px;
    z-index: 999; 
}

/* content header */
#FooterSection #FooterSectionContent h5 {
    letter-spacing: 1px;
    font-size: 35px;
    font-weight: 900;   
    color: #67b3db; 
}

#FooterSection #FooterSectionContent h5 span {
    padding-right: 10px;
    font-weight: 300;
}

/* content sub head */
#FooterSection #FooterSectionContent p {
    width: 400px;
    margin-top: 10px;
    font-size: 15px;
    font-weight: 400;
    color: black;
}

/* content btn */
#FooterSection #FooterSectionContent h3 {
    width: 250px;
    margin-top: 50px;
    padding: 20px;
    float: left;
    cursor: pointer;
    background-color: black;   
    word-spacing: 2px;
    letter-spacing: 1px;
    font-size: 12px;
    font-weight: bold;
    color: white;
    transition: 1s;
}

#FooterSection #FooterSectionContent h3 span {
    float: right;
}

#FooterSection #FooterSectionContent h3:hover {
    opacity: 0.3; 
}

/* contact info */
#FooterSection #FooterSectionContactInfo {
    width: auto;  
    height: 140px;   
    position: absolute;
    bottom: 50px;
    right: 50px;
    z-index: 999; 
    text-align: right; 
}

#FooterSection #FooterSectionContactInfo h4 {
    height: 40px;  
    margin-top: 10px; 
    font-weight: 300;
    font-size: 13px;
}

#FooterSection #FooterSectionContactInfo h4.first {
    margin-top: 0px; 
}

#FooterSection #FooterSectionContactInfo h4 span {
    position: relative;
    bottom: 15px;
    right: 25px;
    font-weight: 400; 
    color: black;
}

#FooterSection #FooterSectionContactInfo h4 img {
    height: 40px;
    padding: 5px;
    background-color: #67b3db; 
}








/********************************************************************************/   
/******************** MOBILE ********************/    
/********************************************************************************/  








/******************** NAVIGATION ********************/      

/********* max-height 700px *********/
@media (max-height: 600px) and (min-width: 501px) {    
#Navigation h3 {
	display: none;
}	
}


/********* max-height 600px *********/
@media (max-height: 500px) and (max-width: 500px) {    
#Navigation h3 {
	display: none;
}	
}


/********* 500px *********/
@media (max-width: 500px) {    
#Navigation { 
	width: 50px;
}

/* logo */
#Navigation #NavLogo { 
	width: 50px;
	padding: 5px;
} 

/* contact button */
#Navigation #NavContactBtn {
	width: 110px;
	height: 40px;
	padding-top: 13.5px;
	top: 168px; 
	left: -30px;
	font-size: 10px;
	border-radius: 20px;
}

/* typewriter */
#Navigation h3 {
	width: 200px;
	height: 40px;
	padding-top: 14px; 
	bottom: 130px;
	left: -76px;
	word-spacing: 4px;
	font-size: 10px;
}

/* hamburger */
#NavHamburger {    
   width: 40px; 
   height: 40px; 
   padding-top: 15px;      
   top: 90px;
   left: 5px; 
}

/* ham active */
#NavHamburger.active { 
   top: calc(50% - 20px) !important;
   left: calc(50% - 20px) !important;      
}

/* bar */
#NavHamburger .bar {    
   width: 15px;	
   height: 3px;      
}

#NavHamburger .bar:nth-child(2) {
   margin-top: 3px;
}

/* close */
#NavHamburger p { 
	top: 11px;
	font-size: 14px;
}
}








/******************** FOOTER SECTION *********************/   
        
/********* 1000px *********/  
@media (max-width: 1000px) {      
/* map overlay */
#FooterSection .overlay.two {
    width: 20%;  
}

/* content */
#FooterSection #FooterSectionContent {
    top: 50px;  
    left: 60px;  
}

/* content header */
#FooterSection #FooterSectionContent h5 {
    font-size: 25px; 
}

#FooterSection #FooterSectionContent h5 span {
    padding-right: 5px; 
}

/* content sub head */
#FooterSection #FooterSectionContent p {
    width: 300px; 
    font-size: 13px;  
}

/* content btn */
#FooterSection #FooterSectionContent h3 { 
    width: 220px;
	margin-top: 40px;
	padding: 15px;
    font-size: 11px;    
}

/* contact info */
#FooterSection #FooterSectionContactInfo {  
    bottom: 60px; 
    right: 60px; 
}

#FooterSection #FooterSectionContactInfo h4 {
    font-size: 11px;  
}

#FooterSection #FooterSectionContactInfo h4 span {
    bottom: 17px;    
    right: 10px; 
}
}


/********* 775px *********/ 
@media (max-width: 775px) {          
#FooterSection {
	margin-top: 100px;
}	
}


/********* 500px *********/  
@media (max-width: 500px) {      
#FooterSection {                  
    width: calc(100% - 50px);
    left: 25px; 
}

/* content */
#FooterSection #FooterSectionContent {
    top: 35px;  
    left: 20px;   
}

/* contact info */
#FooterSection #FooterSectionContactInfo { 
	bottom: 40px;
    right: 20px;   
}
}








/********************************************************************************/   
/******************** ANIMATIONS ********************/   
/********************************************************************************/  








/********************* PRELOAD *********************/   
/* outer */                     
@-webkit-keyframes preloadpulsate {      
    0% {  
	    -webkit-transform: scale(0.8);
		opacity: 1;
	}
	50% {
		-webkit-transform: scale(1);
		opacity: 0.1;
	}
	100% {
	    -webkit-transform: scale(0.8);
		opacity: 1;	
	}
}
 
@keyframes preloadpulsate {
    0% { 
	    transform: scale(0.8);
		opacity: 1;
	}
	50% {
		transform: scale(1);
		opacity: 0.1; 
	}
	100% {
	    transform: scale(0.8);
		opacity: 1;
	}
}

/* clockwise */
@-webkit-keyframes spinclockwise {      
    to { 
	    -webkit-transform: rotate(360deg);
	}
}

@keyframes spinclockwise {
    to {
		transform: rotate(360deg);
	}
}

/* counter clockwise */
@-webkit-keyframes spincounterclockwise {      
    to { 
	    -webkit-transform: rotate(-360deg);
	}
}

@keyframes spincounterclockwise {
    to {
		transform: rotate(-360deg);
	}
}   
 







/********************* CURSOR *********************/
@keyframes cursorblink {
  from, to { 
     color: transparent; 
  }
  50% { 
     color: black;
  }
}

@-webkit-keyframes cursorblink {
  from, to { 
     color: transparent; 
  }
  50% { 
     color: black;
  }
}
 






 
/********************* ANIMATION ELEMENT *********************/ 
/* animation-element */ 
.animation-element {
	width: 100%;
	height: 2px;
	margin-top: -1px;
	position: absolute;
	top: 50%;
}

/* animation-element up */ 
.animation-element.up-trigger { 
	top: 30% !important;  
}

/* transition */
.ae-zoom, .ae-up, .ae-fadein, .ae-fadeout {
	position: relative; 
	-moz-transition: all 500ms ease-out; 
	-webkit-transition: all 500ms ease-out;
	-o-transition: all 500ms ease-out; 
	transition: all 500ms ease-out;
}

/* zoom */
.ae-zoom {
	-moz-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	-o-transform: scale(1.2);
	transform: scale(1.2);
}      
                                                                                       
.ae-zoom.in-view {
	-moz-transform: scale(1);
	-webkit-transform: scale(1);
	-o-transform: scale(1);
    transform: scale(1);
} 

/* up */ 
.ae-up { 
    -moz-transform: translate3d(0px, 50px, 0px);   
    -webkit-transform: translate3d(0px, 50px, 0px);
    -o-transform: translate(0px, 50px);
    -ms-transform: translate(0px, 50px);
    transform: translate3d(0px, 50px, 0px); 
}

.ae-up.in-view {
    -moz-transform: translate3d(0px, 0px, 0px);
    -webkit-transform: translate3d(0px, 0px, 0px);
    -o-transform: translate(0px, 0px);
    -ms-transform: translate(0px, 0px);
    transform: translate3d(0px, 0px, 0px); 
} 

/* fade */
.ae-fadein, .ae-fadeout.in-view {      
	opacity: 0;
}

.ae-fadeout, .ae-fadein.in-view {
	opacity: 1;
} 
 






