
@font-face {
	font-family: 'Gotham Bold';
	font-style: normal;
	font-weight: 100;
	src: local('Gotham Bold'), url('assets/fonts/Gotham Bold.woff') format('woff');
}

@font-face {
	font-family: 'Gotham Narrow Book';
	font-style: normal;
	font-weight: normal;
	src: local('Gotham Narrow Book'), url('assets/fonts/GothamNarrow-Book.woff') format('woff');
}

html *{
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html, body {
	margin: 0;
	padding: 0;
	font-size: 1em;
	font-family: 'Gotham Narrow Book', Arial, sans-serif;
	background: #000;
	overflow: hidden;
}

.wrapper{ overflow: hidden; }

h1 {
	position: fixed;
	top: 0px;
	left: 50%;
	width: 100px;
	height: 100px;
	margin-left: -45px;
	background: url(assets/images/logo.png) no-repeat top left;
	text-indent: -10000px;
	background-size: contain;
	display: block;
	z-index: 5000;
	font-family: 'Gotham Bold';
}

section {
	margin: 0;

}


video {
	position: absolute;
	width: 100%;
	margin: 0;
	-webkit-transition: all 0.5s; /* Safari */
    	transition: all 0.5s;
}

h2{
	position: fixed;
	top: 12px;
	left: 30px;
	color: #FFF;
	padding: 10px 20px;
	border: 0;
	border-radius: 5px;
	text-transform: lowercase;
	font-size: 1.3em;
	z-index: 1000;
	font-family: 'Gotham Bold';
	font-weight: 100;
	background: rgba(14,47,111,0.5);
}

aside{
	position: absolute;
	bottom: 0;
	left: 0;
	color: #FFF;
	padding: 10px 20px;
	background: #238eb7;
	border-radius: 0;
	max-width: 100%;
	width: 100%;
	text-align: center;
	z-index: 1001;
	-webkit-transition: bottom 0.5s; /* Safari */
    	transition: bottom 0.5s;
	max-height: 84px;
	overflow: auto;
	box-sizing: border-box;
}

body.fixNavigationElements aside{
	position: fixed;
}

aside.hide{
	bottom: -400px;	
}

@media all and (min-width:760px) {
	aside{
		bottom: 30px;
		left: 30px;
		color: #FFF;
		max-width: 250px;
		-webkit-transition: all 0.5s; /* Safari */
	    	transition: all 0.5s;
		max-height: 1000px;
	}
	
	aside.hide{
		bottom: 30px;
		left: -400px;
	}
	
	body.switchui aside{
		left: auto;
		right: 30px;
	}
	
	body.switchui aside.hide{
		left: auto;
		right: -400px;
	}
	
}



h3{
	margin: 5px 0 0 0;
	padding: 0;
	font-size: 1.1em;
	font-family: 'Gotham Bold';
	font-weight: 100;
}

button#home{
	position: absolute;
	bottom: 30px;
	right: 30px;
	color: #FFF;
	padding: 6px 12px;
	border: 2px #FFF solid;
	border-radius: 5px;
	text-transform: lowercase;
	font-size: 0.8em;
	z-index: 1000;
	background: rgba(0,0,0,0.2);
	font-family: 'Gotham Bold';
	font-weight: 100;
}

body.fixNavigationElements button#home{
	position: fixed;
}

body.switchui button#home{
	right: auto;
	left: 30px;
}

body[data-path="port"] button#home{
	width: 17%;
	border: none;
	cursor: default;
	font-size: 1em;
	background: transparent;
}

#overlay{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	background: rgba(0,0,0,0.4);
	z-index: 1500;
}

html.gecko #overlay{ background: rgba(0,0,0,0.6); }
html.gecko.mm-wrapper_opening [class*="mm-menu_pagedim"].mm-menu_opened ~ .mm-page__blocker{ opacity: .5; }

#lightbox{
	position: absolute;
	color: #FFF;
	padding: 10px 20px;
	background: #238eb7;
	background: rgba(35,142,183,0.8);
	border-radius: 0;
	width: 280px;
	text-align: center;
	z-index: 2000;
	-webkit-transition: left 0.5s; /* Safari */
    	transition: left 0.5s;
}

@media all and (max-width:760px) {
	#lightbox{
	    width: 75%!important;
	    left: 12%!important;
	    top: auto!important;
	    bottom: 10px;
	    box-sizing: border-box;
	    z-index: 10000;
	}
}

#lightbox button{
	color: #FFF;
	padding: 8px 12px 7px;
	border: 2px #FFF solid;
	border-radius: 3px;
	text-transform: lowercase;
	font-size: 0.8em;
	background: transparent;
	margin: 10px auto;
}

#lightbox .close{
	background: #0e2f6f;
	color: #FFF;
	border-radius: 4px;
	text-align: center;
	line-height: 26px;
	font-size: 14px;
	width: 22px;
	height: 26px;
	display: block;
	font-weight: 100;
	position: absolute;
	top: -8px;
	right: -8px;
	cursor: pointer;
	font-family: 'Gotham Bold';
	transform: scale(1, 0.8);
	  -webkit-transform: scale(1, 0.8); /* Safari and Chrome */
	  -moz-transform: scale(1, 0.8); /* Firefox */
	  -ms-transform: scale(1, 0.8); /* IE 9+ */
	  -o-transform: scale(1, 0.8); /* Opera */
	
}


#docwindow{
	position: absolute;
	color: #FFF;
	padding: 0;
	background: #238eb7;
	background: rgba(35,142,183,0.8);
	border-radius: 0;
	width: 50%;
	text-align: center;
	z-index: 2000;
	-webkit-transition: left 0.5s; /* Safari */
    	transition: left 0.5s;
	left: 25%;
	top: 20%;
	min-height: 60%;
	box-sizing: border-box;
}

@media all and (max-width:760px) {
	#docwindow{
	    width: 75%!important;
	    left: 12%!important;
	    top: auto!important;
	    bottom: 10px;
	    box-sizing: border-box;
	    z-index: 10000;
	}
}

#docwindow h3{
	font-size: 1.6em;
}

#docwindow p{
	font-size: 0.9em;
}

#docwindow iframe{
	width: 100%;
	border: 0;
	height: 100%;
}

#docwindow .iframe{
	overflow:scroll !important; 
	-webkit-overflow-scrolling:touch !important;
	width: 100%;
	border: 0;
	height: 100%;
	display: block;
}

/* iPad */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) { 
	#docwindow{
		width: 60%;
		left: 20%;	
	}
	#docwindow .iframe{
		max-height: 400px;
	}
}

/* iPad 3 */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape)
and (-webkit-min-device-pixel-ratio: 2) {
	#docwindow{
		width: 60%;
		left: 20%;	
	}
	#docwindow .iframe{
		max-height: 400px;
	}
}

/* iPhone X */
@media only screen 
and (min-device-width : 375px) 
and (max-device-width : 812px) 
and (-webkit-device-pixel-ratio : 3)
and (orientation : landscape) {
	#docwindow{
		width: 60%;
		left: 20%;	
	}
	#docwindow .iframe{
		max-height: 300px;
	}
}

@media only screen 
and (min-device-width : 375px) 
and (max-device-width : 667px) 
and (orientation : landscape) { 
	#docwindow{
		width: 60%;
		left: 20%;	
	}
	#docwindow .iframe{
		max-height: 300px;
	}
}



#docwindow > div{
	padding: 10px 20px;
}

.button{
	color: #FFF;
	padding: 6px 12px;
	border: 3px #FFF solid;
	border-radius: 5px;
	text-transform: lowercase;
	font-size: 0.9em;
	background: transparent;
	margin: 10px auto;
	display: inline-block;
	text-decoration: none;
	font-family: 'Gotham Bold';
	font-weight: 100;
}

.buttonmore{
	color: #FFF;
	padding: 6px 12px;
	border: 3px #0e2f6f solid;
	border-radius: 5px;
	text-transform: lowercase;
	font-size: 0.8em;
	background: transparent;
	margin: 6px auto 10px;
	display: inline-block;
	text-decoration: none;
	font-family: 'Gotham Bold';
	font-weight: 100;
	background: #0e2f6f;
}

#docwindow .close{
	background: #0e2f6f;
	color: #FFF;
	border-radius: 4px;
	text-align: center;
	line-height: 32px;
	font-size: 14px;
	width: 30px;
	height: 30px;
	display: block;
	position: absolute;
	top: -8px;
	right: -8px;
	cursor: pointer;
	font-family: 'Gotham Bold';
	font-weight: 100;
	transform: scale(1, 0.8);
	  -webkit-transform: scale(1, 0.8); /* Safari and Chrome */
	  -moz-transform: scale(1, 0.8); /* Firefox */
	  -ms-transform: scale(1, 0.8); /* IE 9+ */
	  -o-transform: scale(1, 0.8); /* Opera */
}


p{
	margin: 5px;
	padding: 0;
	font-size: 0.7em;
	line-height: 1.6em;
}

#lightbox ul{
	margin: 5px 20px;
	padding: 0;
	font-size: 0.7em;
	line-height: 1.4em;
	text-align: left;
}

#lightbox ul li{
	margin: 0;
	padding: 0 0 4px 0;
}

#lightbox ul.documents, ul.documents{
	margin: 5px;
	padding: 0;
	font-size: 0.9em;
	line-height: 1.6em;
	font-weight: 500;
	list-style: none;
	text-align: center;
}

#lightbox ul.documents li, ul.documents li{
	margin: 0;
	padding: 0 0 4px 0;
	cursor: pointer;
}

ul.documents li:hover{
	text-decoration: underline;
}

span.hotspot{
	width: 30px;
	height: 30px;
	border: 3px #FFF solid;
	border-radius: 5px;	
	position: absolute;
	display: block;
	cursor: pointer;
	color: #FFF;
	font-weight: 800;
	font-size: 20px;
	text-align: center;
	padding-top: 0;
	line-height: 30px;
	-webkit-transition: all 0.5s; /* Safari */
    	transition: all 0.5s;
	background: rgba(0,0,0,0.2);
}

span.hotspot.hidehotspot{
	opacity: 0!important;
}

span.hotspot.front{
	z-index: 2000;
	background: rgba(0,0,0,0);
}

span.hotspot:after {
    content: "";
    background: #238eb7;
    left: 0;
    padding: 0;
    top: 0;
    position: absolute;
    border-radius: 100px;
    width: 30px;
    height: 30px;
    z-index: -1;
    opacity: 0;
    -webkit-transition: all 0.5s; /* Safari */
    	transition: all 0.5s;
}

span[attr-tooltip].hotspot:before{
	opacity: 0;
	-webkit-transition: all 0.5s; /* Safari */
    	transition: all 0.5s;
	white-space: nowrap;
}




@media all and (min-width:760px) {
	span[attr-tooltip].hotspot.front:before{
		opacity: 0;
	}

	span[attr-tooltip].hotspot:not(.front):before{
	    content: attr(attr-tooltip);
	    background: rgba(14,47,111,0.8);
	    position: absolute;
	    right: 34px;
	    top: -2px;
	    color: #FFF;
	    text-align: center;
	    padding: 2px 10px;
	    z-index: -1;
	    font-size: 12px;
	    opacity: 1;
	}	
}

.leader-line{ z-index: 2000; display: none; }

@media all and (min-width:760px) {
	.leader-line{ z-index: 2000; display: block; }
}


span.hotspot.front:after {
    opacity: 0.5;
    left: -20px;
    padding: 20px;
    top: -20px;
}


button{
	cursor: pointer;
	font-family: 'Gotham Bold';
	font-weight: 100;
}

.wrapper, .mm-slideout{
	-webkit-transition: all 0.5s; /* Safari */
	transition: all 0.5s;
}

.leader-line{
	-webkit-transition: filter 0.5s; /* Safari */
	transition: filter 0.5s;
}

html.chrome .blur, html.chrome .mm-wrapper_opened .wrapper, html.chrome .mm-wrapper_opened .leader-line{
	-webkit-filter: blur(3px);
	-moz-filter: blur(3px);
	-o-filter: blur(3px);
	-ms-filter: blur(3px);
	filter: blur(3px);
}

.mm-menu_theme-dark{
	background: rgba(14,47,111,1);
}

#menu:not(.mm-menu),.mm-menu {
 display:none
}

.mm-navbar{
	height: 80px;
}

.mm-navbars_top{
	border: none;
}

.mm-navbar.mm-navbar_has-btns{
	height: 40px;
}

.mm-menu_navbar_top-2 .mm-panels{
	top: 120px;
}

.mm-searchfield{
	height: 80px;
}

.mm-searchfield__input{
	margin-right: 70px;
	margin-left: 30px;
}

.mm-searchfield input{
	max-height: 44px;
	height: 44px;
	margin-top: 13px;
	font-family: 'Gotham Bold';
	font-weight: 100;
}

.mm-searchfield__btn{ top: 21px; }

.mm-searchfield input::placeholder,
.mm-searchfield input::-ms-input-placeholder,
.mm-searchfield input::-ms-input-placeholder { /* Microsoft Edge */
    color: red;
}

.mm-listitem_divider{
	text-align: center;
	font-family: 'Gotham Bold';
	font-weight: 100;
	background: transparent!important;
	text-transform: lowercase;
	font-size: 24px;
	border: none!important;
}

#mm-1 img {
	width: 60%;
	height: auto;
}

#mm-1 li{
	text-align: center;
	font-family: 'Gotham Bold';
	font-weight: 100;
}

#mm-1 .mm-listitem:after{
	display: none;
}

#mm-1 .mm-btn_next:after{
	display: none;
}

#mm-1 .mm-listitem .mm-btn_fullwidth+span{
	padding-right: 0;
}

.mm-listview > li[data-path="port/bulk"]{
	margin-bottom: 30px;
}


.mm-listview > li[data-path="port/cargo"]{
	margin-bottom: -20px;
}

#hamburger {
	display:block;
	width:90px;
	height:50px;
	margin:0;
	position:fixed;
	top:20px;
	right:0;
	z-index:7000;
}
#hamburger .hamburger {
	margin-left:20px
}

#mapnav{ display: none; position: absolute; bottom: -10000px; }

@media all and (min-width:760px) {
	#mapnav{
		display: block;
		width: 20%;		
		position: absolute;
		bottom: 74px;
		right: 30px;
		z-index: 1000;
	}
	
	body.fixNavigationElements #mapnav{
		position: fixed;
	}
	
	#mapnav img{
		width: 100%;
		height: auto;
	}
	
	body.switchui #mapnav{
		right: auto;
		left: 0;
	}

	#mapnav li{
		cursor: pointer;
		width: 5.8%;
		height: 10%;
		background: #238eb7;
		border-radius: 100%;
		display: block;
		position: absolute;
		padding: 0;
		margin: 0 0 0 3%;
		border: 2px #FFF solid;
	}
	
	#mapnav li.selected{
		background: #0e2f6f;
	}
	
	#mapnav ul{
		list-style: none;
		padding: 0;
		margin: 0;
	}

}

#flush{
	background: #0e2f6f;
	color: #FFF;
	text-align: center;
	font-size: 12px;
	border: none;
	position: fixed;
	cursor: pointer;
	bottom: 0;
	left: 0;
	z-index: 3000;
	font-family: 'Gotham Narrow Book';
	padding: 6px;
	opacity: 0;
}

#full{
	background: #0e2f6f;
	color: #FFF;
	text-align: center;
	font-size: 12px;
	border: none;
	position: fixed;
	cursor: pointer;
	bottom: 0;
	right: 0;
	z-index: 3000;
	font-family: 'Gotham Narrow Book';
	padding: 6px;
	opacity: 0;
}

#flush:hover, #full:hover{
	opacity: 1;
}

#loadingdetails{
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 30%;
	overflow: hidden;
	font-size: 0.6em;
	color: #FFF;
	max-height: 100px;
	z-index: 5000;
}


#loader{
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -32px;
	margin-left: -32px;
	z-index: 9999;
}

.loader {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
}
.loader div {
  animation: loader 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 32px 32px;
}
.loader div:after {
  content: " ";
  display: block;
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  margin: -3px 0 0 -3px;
}
.loader div:nth-child(1) {
  animation-delay: -0.036s;
}
.loader div:nth-child(1):after {
  top: 50px;
  left: 50px;
}
.loader div:nth-child(2) {
  animation-delay: -0.072s;
}
.loader div:nth-child(2):after {
  top: 54px;
  left: 45px;
}
.loader div:nth-child(3) {
  animation-delay: -0.108s;
}
.loader div:nth-child(3):after {
  top: 57px;
  left: 39px;
}
.loader div:nth-child(4) {
  animation-delay: -0.144s;
}
.loader div:nth-child(4):after {
  top: 58px;
  left: 32px;
}
.loader div:nth-child(5) {
  animation-delay: -0.18s;
}
.loader div:nth-child(5):after {
  top: 57px;
  left: 25px;
}
.loader div:nth-child(6) {
  animation-delay: -0.216s;
}
.loader div:nth-child(6):after {
  top: 54px;
  left: 19px;
}
.loader div:nth-child(7) {
  animation-delay: -0.252s;
}
.loader div:nth-child(7):after {
  top: 50px;
  left: 14px;
}
.loader div:nth-child(8) {
  animation-delay: -0.288s;
}
.loader div:nth-child(8):after {
  top: 45px;
  left: 10px;
}
@keyframes loader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}



@media screen and (orientation: portrait) {
    /* applies to mobiles in portrait mode */
    
    #overlay{ display: block!important;  background: rgba(0,0,0,0.4); }
    html.gecko #overlay{ background: rgba(0,0,0,0.6); }
    #overlay:after{ content: "Landscape only"; color: #FFF; position: absolute; top: 60%; left: 0; width: 100%; text-align: center; }
    
    #home, .hotspot, aside, #lightbox, #docwindow, h2, .leader-line, #hamburger{ display: none!important; }
    
    video{
    	-webkit-filter: blur(3px);
	-moz-filter: blur(3px);
	-o-filter: blur(3px);
	-ms-filter: blur(3px);
	filter: blur(3px);
    }
    
    
}


