@import url(http://fonts.googleapis.com/css?family=Open+Sans);
* {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-family:'Open Sans','sans-serif';
}
html, body {
	height:100%;
}
body {
	position:relative;
}
.header-start { /* only for first page with logo */
	text-align:center;
	padding-top:15%;
}
.header { /* default header for all pages but startpage */
	padding:80px 80px 50px 80px;
}

/* Menu stuff */
*,
*:after,
*::before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
    box-sizing: border-box;
}
.ai-menu-main,
.ai-menu-main ul { /* Main menu frame and all the lists */
    margin: 0;
    padding: 0;
	
    background: #33B5E5;
    color: white;
	
    list-style: none;
    text-transform: none;
    line-height: 50px;
}
.ai-menu-main { /* Fix the menu on top, font decisions here. */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
	border-bottom: 1px solid white;
	
    font-size: 14px;
	z-index:1;
}
.ai-menu-main a { /* Links on the menu */
    display: block;
    height: 100%;
	
    color: white;
    text-decoration: none;
	
    cursor: pointer;
}
.ai-menu-main a:hover { /* Hover effect on link. */
    background: #0099CC;
    color: white;
}
.ai-menu-main > li { /* Forces list to float left making menu look like one. */
    display: block;
    float: left;
    height: 100%;
	
    border-right: 1px solid white; /* This border is only for fixed menu, not the menu items. */
    text-align: center;
}
.ai-menu-main > li.ai-home { /* Removes right border on the home button */
	border-right: none;
}
.ai-menu-main li.ai-trigger { /* the menu button, non-selectable, obs width */
    position: relative;
	width: 60px; /* Because of icon and no text, use a fix witdh */
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
    user-select: none;
}
.ai-menu-main > li:last-child { /* makes the last menu item float to the right and change border orientation */
    float: right;
    border-right: none;
    border-left: 1px solid white;
}
.ai-menu-main > li > a { /* top menu padding and spacing between letters. */
    padding: 0 20px;
    letter-spacing: 1px;
}
.ai-menu-main > li > a.i-menu { /* kill the padding on the menu icon */
    padding: 0;
}
.ai-menu-main:after { /* clear the floats after menu */
    display: table;
    clear: both;
    content: '';
}
.ai-menu-wrapper { /* The hover menu - hidden first */
    position: fixed;
    top: 50px; /* position must be same height as menu */
    bottom: 0;
    left: 0;
    overflow: hidden;
    width: 60px; /* will be transitioned to 340px  when touched (make sure with is same as icons/i-menu */
	
	/* background: white; */ /* colors left over with white, not needed really*/
	
	/* Animation of width of menu when expanding */
		-webkit-transform: translateX(-60px);
		-moz-transform: translateX(-60px);
    transform: translateX(-60px); /* will be transitioned to 0px */
		-webkit-transition: -webkit-transform 0.3s, width 0.3s;
		-moz-transition: -moz-transform 0.3s, width 0.3s;
    transition: transform 0.3s, width 0.3s;
}
.ai-scroller { /* width of fully expanded menu, what doesn't fit scrolls down */
    position: absolute;
    overflow-y: scroll;
    width: 357px; /* Menu is 340, make bigger to hide scroller */
    height: 100%;
}
.ai-menu { /* the menu box */
    border-bottom: 1px solid white;
    font-size: 14px;
}
.ai-menu a { /* this overwrite the fixed menu links for menu links */
	text-align:left;
	
	line-height:50px;
	
	padding-left: 17px;	/* this padding is combined with the 45px below */
	border-right: 1px solid white;
	
	letter-spacing: 1px;

}
.ai-menu a:before {
	width:45px; /* created a block with, make sure icons fit centered the pre-menu */
    display: inline-block;
}
.ai-menu li:not(:first-child),
.ai-menu li li { /* created border as shadow instead, because of hidden menu below, border ruins design*/
    box-shadow: inset 0 1px white;
}
.ai-submenu li { /* hides submenus for pre-menu until it opens, only for cool effect*/
    overflow: hidden;
    height: 0;
    transition: height 0.3s;
}
.ai-submenu li a { /* submenu padding to clearly show it's a submenu! */
	padding-left:40px;
}
/* These elements are inserted with java och control sizing of menu when hovers and such */
.ai-menu-wrapper.ai-open-all,
.ai-menu-wrapper.ai-open-part {
    transform: translateX(0px);
}
.ai-menu-wrapper.ai-open-all {
    width: 340px;
}
.ai-menu-wrapper.ai-open-all .ai-submenu li {
    height: 50px;
}



/* menu is over - begin default styling*/

/* This only affects the startpage */
.header-start .title {
	font-weight:bold;
	font-size:120%;
	padding-bottom:30px;
}
.header-start .adress {
	padding-bottom:10px;
	color:#666;
	font-size:80%;
}
.header-start .adress b {
	font-size:120%;
	color:#000;
}

/* A general styling will affect all pages but startpage */
.header a {
	color: #FF4444;
	font-weight: bold;
	text-decoration: none;
	font-size: 95%;
	transition: color 0.7s;
}
.header a:hover {
	color: #CC0000;
	text-decoration: underline;
}
.title {
	font-size:26px;
	font-weight:bold;
	letter-spacing:2px;
	padding-bottom:20px;
}
.list {
	background-color: #f2f2f2;
	border-radius: 5px;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
.list-title {
	background-color: #FF4444;
	color: white;
	font-weight: bold;
	letter-spacing:1px;
	padding:5px 10px;
	border-radius: 5px 5px 0 0;
}
.list-step {
	padding:20px 10px 5px 30px;
	font-weight:bold;
	font-size:95%;
}
.list-sign {
	background-image:url(ai-pics/sign.png);
	width: 188px;
	height: 93px;
	margin-left: 30px;
	
	text-align:center;
	font-weight:bold;
	padding-top: 5px;
	font-size: 95%;
	letter-spacing:2px;
}
.list-info {
	padding-left: 30px;
	padding-top: 5px;
	font-size: 90%;
}
.list-command {
	padding:5px 10px 5px 15px;
	margin:0 15px;
	font-family: "Courier New", Courier, monospace;
	background-color:#cdd1dc;
	border-radius: 3px;
	font-weight:bold;
	letter-spacing:2px;	
}
.list-command:before {
	content: 'command:';
	font-family:'Open Sans','sans-serif';
	padding-right: 20px;
	font-size:80%;
	color:#333;
	font-weight:normal;
}
.list-rule {
	padding: 5px 10px 5px 50px;
	margin:10px 15px;
	background-color:#cdd1dc;
	border-radius: 3px;	
	position: relative;
	letter-spacing:0.5px;
	z-index:0;
}
.list-rule:before {
	font-family: "Genericons";
	content: '\f456';
	position:absolute;
	top:3px;
	left:20px;
	font-size:24px;
}
.icon-info b {
	letter-spacing:1.5px;
	font-weight:normal;
	padding-left:10px;
}
.icon-info i {
	font-style:normal;
}
.icon-info:before {
	content: '\f455';
}
.list-rule > i {
	font-size:80%;
}
.red {
	background-color:#CC0000;
	color:white;
}
.green {
	background-color:#669900;
	color:white;
}
.yellow {
	background-color:#FF8800;
	color:white;
}
.purple {
	background-color:#9933CC;
	color:white;
}
.floater {
	float:left;
}
.list-wrapper {
	overflow:auto;
}
.list-img {
	padding: 30px;
	padding-bottom: 0;
}
.list-img > img {
	max-width:100%;
	border-radius: 10px;
}
.header-dynmap {
	padding-top:50px;
	height:100%;
}
.header-gmap {
	padding-top:50px;
	height:100%;
	position:relative;
}
.gmap-info {
	position: absolute;
	top: 80px;
	left: 80px;
}
.gmap {
	width:100%;
	height:100%;
}
.gmap-show {
	display:block;
	color:red;
	font-weight:bold;
	letter-spacing:1px;
	padding: 5px 10px;
	border-top-left-radius:5px;
	border-top-right-radius:5px;
	transition: background-color 1.0s, color 1.0s;
	cursor:pointer;
	text-decoration:underline;
}
.gmap-show:hover {
	background-color:#CC0000;
	color:white;
	text-decoration:none;
}
.gmap-show:hover + .gmap-hidden {
	visibility:visible;
	opacity:1;
}
.gmap-hidden {
	visibility:hidden;
	opacity:0;
	background-color:#33B5E5;
	color:white;
	padding:5px 10px;
	border-bottom-left-radius:5px;
	border-bottom-right-radius:5px;
	transition: opacity 1.0s, visibility 1.0s;
	cursor:pointer;
}
.gpos-title {
	font-size:18px;
	font-weight:bold;
}
/* Mobile menu compability - basically expands the menu 100% instead of pre-determined size */
@media screen and (max-width: 422px) { 
    .ai-menu-wrapper.ai-open-all {
        transform: translateX(0px);
        width: 100%;
    }
     .ai-menu-wrapper.ai-open-all .ai-scroller {
        width: 130%;
    }
	.header { /* default header for all pages but startpage */
	padding:70px 5px 50px 5px;
}

.list-title {
	padding:5px 5px 5px 5px;
}
.list-step {
	padding:20px 5px 5px 5px;
}
.list-sign {
	margin-left: 10px;
}
.list-info {
	padding-left: 10px;
}
.list-command {
	padding:5px 5px 5px 5px;
	margin:0 5px;
}
.list-rule {
	padding: 5px 5px 5px 32px;
	margin:5px 5px;
}
.list-rule:before {
	top:3px;
	left:5px;
}
.list-img {
	padding: 10px;
	padding-bottom: 0;
}
.list-img > img {
	max-width:100%;
	border-radius: 5px;
}
.gmap-info {
	display:none;
}
}