/* typography */
body{
	background: #fff;
	color: #666;
    font-family: 'PT Sans', sans-serif;
	font-size: 1em;
	line-height: 1.4em;
	font-weight: normal;
}
h1, h2, h3, h4, h5, h6{
    font-family: 'PT Sans', sans-serif;
    font-style: normal;
    font-weight: normal;
	line-height: 1.5em;
	margin: .45em 0;
	padding: 0;
} 

.center {
	text-align:center;
}


/* links */

a {
	text-decoration:none;
	color:#999;
}

a:hover{
	text-decoration:none;
	color:#50A6D4;
}

*{	box-sizing:border-box;
	-moz-box-sizing:border-box;}
  
/* structure */   
.wrapper{
	width: 100%;
	margin: 0 auto;
	margin-left: 0px;
}


header{ 
	padding:0px 0;
}


#banner{
	text-align: center;
	margin-top:10px;
	margin-left:10px;
}

#hero,
#page-header{
	padding: 0px 0;
	font-size: 1em;
}
#page-header h1{
	margin:0;
}

#hero .grid_4 {
	width: 100%;
	display: block;
	margin-bottom: 20px;
}


.flexslider{
	display: block;
	margin: 0;
	max-width: 100%;
}

.flex-control-nav {
	bottom: 5px;}

/* Hide or show Caption Text on small screen*/
.flex-caption {
	position: absolute;
	bottom: 1; /* whatever you want */
	z-index: 1;
	background-color: rgba(255, 255, 255, 0.9);
	opacity: 0.70;
	display: block;
	font-size: 1em;
	line-height: 1em;
	font-family: 'PT Sans', sans-serif;
	color: #000;
	width: 80%;
	margin-left: 20px;
	margin-top: 10px;
	 }
.flex-caption a {
	color:#333;
}

.flex-caption a:hover {
	color:#50A6D4;
}


.flex-caption h1, h2, h3, h4 {
	padding-left:10px;
	padding-right:10px;
	padding-top:10px;
	padding-bottom:10px;
}


.flex-caption p {
	padding-left:20px;
	padding-right:10px;
	padding-top:10px;
	padding-bottom:10px;
}


#content,
aside,
.vertical-padding{
	padding: 10px 0;
}
p{ margin:0 0 1.5em;}


/* RESPONSIVE IMAGES  */
img{ max-width:100%; height:auto;}

.grid_main;
.grid_1,
.grid_2,
.grid_2-start,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12
}


.welcome-mobile {
	display: block;
	text-align: center;
	margin-left: 10px;
	margin-right: 10px;
	font-size: 1.2em;
	width: 100%;
	padding-left: 10px;
	padding-right: 10px;
}


.desktop-welcome {
	display:none;
}


/*FOOTER*/
footer{
	background: #333;
	color: #ccc;
	font-size: 95%;
	padding: 25px 0;
	text-align: left;
}
footer ul{
	margin:0 0 0 8%;
	padding:0;
}

footer a{  
	color:#ccc;
	text-decoration:none;
}


.credit {
	width: 100%;
	text-align: center;
	border-top-style: 50;
	border-top-width: px;
	border-right-width: px;
	border-bottom-width: px;
	border-left-width: px;
	margin-top: 50px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	font-size: 0.9em;
}
.credit a {
	text-decoration: none;
	color:#FFF;
}

.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
	 
	 /* 
Generic Styling, for Desktops/Laptops 
*/
table { 
  width: 98%; 
  border-collapse: collapse; 
}
/* Zebra striping */
tr:nth-of-type(odd) { 
  background: #eee; 
}
th { 
  background: #333; 
  color: white; 
  font-weight: bold; 
}
td, th { 
  padding: 4px; 
  border: 1px solid #ccc; 
  text-align: left;
  font-size:0.8em;
}

/****************************************
*****************************************
MEDIAQUERIES
*****************************************
****************************************/

@media all and (min-width: 1024px) {

/*NAV MENY*/
/*For desktop view - text view of menu*/
/*Visas så här om skärmen är större än ovan värde*/
.welcome-mobile {
	display: block;
	text-align: center;
	margin-left: 5px;
	margin-right: 20px;
	font-size: 1.2em;
	padding-left: 20px;
	padding-right: 20px;
}


a.menu-link {
	display: block;
	color: #FFF;
	background-color: #50A6D4;
	float: right;
	text-decoration: none;
	font-family: 'PT Sans', sans-serif;
	text-transform: uppercase;
	padding-top: 19px;
	padding-right: 10px;
	padding-bottom: 19px;
	padding-left: 10px;
}
  .menu { clear: both; min-width: inherit; float: none; margin-bottom:10px }
  .menu, .menu > ul ul {
	overflow: hidden;
	background-color: #FFFFFF;
	max-height: 0px;
}
  .menu > li > ul.sub-menu { padding: 0px; border: none; }
  .menu.active, .menu > ul ul.active { max-height: 55em; }
  .menu ul { display: inline; }
  .menu > ul {
	border-top: 0px solid;
}
  .menu li, .menu > ul > li { display: block; }
  .menu li a {
	color: #666;
	display: block;
	padding: 0.8em;
	border-bottom: 1px solid #808080;
	position: relative;
}
  .menu li.has-submenu > a:after {
    content: '+';
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    font-size: 1.8em;
    padding: 0.55em 0.5em;
  }
  .menu li.has-submenu > a.active:after {
    content: "-";
  }
  .menu ul ul > li a {
	background-color: #FFFFFF;
	height: 50px;
	padding: 19px 18px 19px 30px;
}
  .menu ul ul, .menu ul ul ul { display: inherit; position: relative; left: auto; top:auto; border:none; }
  
  .menu li {
    font-family: 'PT Sans', sans-serif;
	color: #666;
	text-transform: uppercase;
}
  .menu li a:hover{
	background-color: #50A6D4;
	color: #FFF;
	text-transform: uppercase;
}
  


/*Caption Text*/
.flex-caption {
	width: 50%;
	margin-top: 2%;
	position: absolute;
	margin-left: 35%;
	padding-left: 8px;
	padding-right: 8px;
	left: 5px;
	right: 0;
	top: 5px;
	bottom: 1; /* whatever you want */
	z-index: 1;
	background-color: rgba(255, 255, 255, 0.9);
	opacity: 0.99;
	display: block;
	font-size: 1.5em;
	line-height: 1.1em;
	text-align: center;
	font-family: 'PT Sans', sans-serif;
	color: #333;
	 }

.flex-caption-darker {
	width:30%;
	margin-top: 2%;
	position: absolute;
	margin-left: 60%;
	padding-left: 8px;
	padding-right: 8px;
	left: 5px;
	right: 0;
	top: 5px;
	bottom: 1; /* whatever you want */
	z-index: 1;
	background-color: rgba(255, 255, 255, 1);
	opacity: 1;
	display: block;
	font-size: 1.5em;
	line-height: 1.1em;
	text-align: center;
	font-family: 'PT Sans', sans-serif;
	color: #333;

	 }


.flex-caption-large {
	width: 45%;
	position: absolute;
	margin-top: 50px;
	margin-bottom: 60%;
	margin-left: 5%;
	left: 5px;
	right: 0;
	top: 5px;
	bottom: 1; /* whatever you want */
	z-index: 1;
	background-color: rgba(255, 255, 255, 0.9);
	opacity: 0.98;
	display: block;
	font-size: 1.5em;
	line-height: 1.1em;
	text-align: center;
	padding-left: 8px;
	padding-right: 8px;
	font-family: 'PT Sans', sans-serif;
	color: #333
	 }


.flex-caption h1, h2, h3, h4 {
	padding-left:20px;
	padding-right:20px;
	padding-top:20px;
	padding-bottom:20px;
}

.flex-caption-large h1, h2, h3, h4 {
	padding-left:20px;
	padding-right:20px;
	padding-top:10px;
	padding-bottom: 10px;
}

.flex-caption p {
	padding-left:20px;
	padding-right:20px;
	padding-top:0px;
	padding-bottom:0px;
}


.flex-caption-large p {
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 30px;
}

 .flexslider .slides li {
    position:relative;
}

	 /* 
Generic Styling, for Desktops/Laptops 
*/
table { 
  width: 100%; 
  border-collapse: collapse; 
}
/* Zebra striping */
tr:nth-of-type(odd) { 
  background: #eee; 
}
th { 
  background: #333; 
  color: white; 
  font-weight: bold; 
}
td, th { 
  padding: 6px; 
  border: 1px solid #ccc; 
  text-align: left;
    font-size:1.0em;
}

/*NAV MENY*/
/*When text menu can't fit screen - menu button apear top right corner*/
}
@media all and (max-width: 1024px) {



.welcome-mobile {
	display: block;
	text-align: center;
	margin-left: 5px;
	margin-right: 20px;
	font-size: 1.2em;
	padding-left: 20px;
	padding-right: 20px;
}


a.menu-link {
	display: block;
	color: #FFF;
	background-color: #50A6D4;
	float: right;
	text-decoration: none;
	font-family: 'PT Sans', sans-serif;
	text-transform: uppercase;
	padding-top: 19px;
	padding-right: 10px;
	padding-bottom: 19px;
	padding-left: 10px;
}
  .menu { clear: both; min-width: inherit; float: none; margin-bottom:10px }
  .menu, .menu > ul ul {
	overflow: hidden;
	background-color: #FFFFFF;
	max-height: 0px;
}
  .menu > li > ul.sub-menu { padding: 0px; border: none; }
  .menu.active, .menu > ul ul.active { max-height: 55em; }
  .menu ul { display: inline; }
  .menu > ul {
	border-top: 0px solid;
}
  .menu li, .menu > ul > li { display: block; }
  .menu li a {
	color: #666;
	display: block;
	padding: 0.8em;
	border-bottom: 1px solid #808080;
	position: relative;
}
  .menu li.has-submenu > a:after {
    content: '+';
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    font-size: 1.8em;
    padding: 0.55em 0.5em;
  }
  .menu li.has-submenu > a.active:after {
    content: "-";
  }
  .menu ul ul > li a {
	background-color: #FFFFFF;
	height: 50px;
	padding: 19px 18px 19px 30px;
}
  .menu ul ul, .menu ul ul ul { display: inherit; position: relative; left: auto; top:auto; border:none; }
  
  .menu li {
    font-family: 'PT Sans', sans-serif;
	color: #666;
	text-transform: uppercase;
}
  .menu li a:hover{
	background-color: #50A6D4;
	color: #FFF;
	text-transform: uppercase;
}
  
  .banner-text {
	text-align: center;
	float: left;
	margin-left: 40px;
	width: 50%;
	margin-top: 18px;
}
  
  .banner-text-mobile {
	  display:none;
}
  
  #hero{
	padding: 0;
	margin-top: 20px;
}


.grid_4 {
	text-align:center;
}

	 .ref-logo {
	margin-bottom: 30px;
}

}


@media all and (max-width: 480px) {


.menu-link {
	display: block;
	width:100%;
	text-align:center;
	margin-top:15px;
	margin-bottom:6px;
	}

  .banner-text {
	  display:none;
}

  .banner-text-mobile {
	text-align: center;
	float: left;
	margin-left: 0px;
	width: 100%;
	margin-top: 40px;
	font-size: 1.1em;
	display:block;
}

	  #hero{
	padding: 0;
	margin-top: 20px;
}
	 


h1, h2, h3, h4, h5, h6{
    font-family: 'PT Sans', sans-serif;
    font-style: normal;
    font-weight: normal;
	font-size: 1.3em;
} 


.grid_4 {
	padding-right: 50px;
	margin-left: 20px;
	text-align: center;
	 }


.grid_12 {
	margin-left:20px;
	margin-right:20px;
	 }
	 
.grid_6 {
	margin-left:20px;
	margin-right:20px;
		padding-right:10px;
	 }
	 
	 .ref-logo {
	margin-bottom: 30px;
}
	 
}

/*
LARGER MOBILE DEVICES
This is for mobile devices with a bit larger screens.
*/
@media only screen and (min-width: 480px) {

#banner{
	float: left;
	text-align: left;
	margin-left: 20px;
}


#hero .grid_4 {
	text-align: center;
	margin-left: 20px;
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 20px;
}
#hero .grid_8 { width: 100%; }

.grid_12 {
	margin-left:20px;
	margin-right:20px;
	padding-right:60px;
	 }

.flexslider{
	display: block;
	margin: 0;
	max-width: 100%;
}



} 

/*
TABLET & SMALLER LAPTOPS
The average viewing window and preferred media query for those is 768px.
*/
@media only screen and (min-width: 764px) {
	 
.wrapper{
	max-width: 1000px;
	margin: .75em auto;
}

header{
	padding:0;
}
#banner{
	float: left;
	text-align: left;
	margin-left: 20px;
}
#hero{
	padding: 0;
	margin-top: 35px;
}
#hero .grid_4 {
	width: 28%;
	margin-bottom: 20px;
}
#hero .grid_8 { width: 100%; }


#content {  
	float:left;
	width:65%;
}
#content.wide-content{
	float:none;
	width:100%;
}

.flexslider{
	display: block;
	margin: 0;
	max-width: 100%;
}

/*Caption Text*/
.flex-caption {
	width: 40%;
	position: absolute;
	margin-left: 35%;
	left: 5px;
	right: 0;
	padding-left: 8px;
	padding-right: 8px;
	bottom: 1; /* whatever you want */
	z-index: 1;
	background-color: rgba(255, 255, 255, 0.9);
	opacity: 0.98;
	display: block;
	font-size: 1.5em;
	line-height: 1.1em;
	text-align: center;
	font-family: 'PT Sans', sans-serif;
	color: #333;
	 }


.flex-caption-darker {
	width: 30%;
	position: absolute;
	margin-left: 60%;
	left: 5px;
	right: 0;
	padding-left: 8px;
	padding-right: 8px;
	bottom: 1; /* whatever you want */
	z-index: 1;
	background-color: rgba(255, 255, 255, 1);
	opacity: 1;
	display: block;
	font-size: 1.5em;
	line-height: 1.1em;
	text-align: center;
	font-family: "Myriad Pro";
	color: #333;
	border-style: solid;
    border-width: 2px;
	 }

.flex-caption-large {
	width: 45%;
	position: absolute;
	margin-top: 50px;
	margin-bottom: 60%;
	margin-left: 5%;
	left: 5px;
	right: 0;
	top: 5px;
	bottom: 1; /* whatever you want */
	z-index: 1;
	background-color: rgba(255, 255, 255, 0.9);
	opacity: 0.98;
	display: block;
	font-size: 1.5em;
	line-height: 1.1em;
	text-align: center;
	padding-left: 8px;
	padding-right: 8px;
	font-family: 'PT Sans', sans-serif;
	color: #333
	 }


.flex-caption h1, h2, h3, h4 {
	padding-left:20px;
	padding-right:20px;
	padding-top:10px;
	padding-bottom:10px;
}

.flex-caption-large h1, h2, h3, h4 {
	padding-left: 0px;
	padding-right: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.flex-caption p {
	padding-left:20px;
	padding-right:20px;
	padding-top:10px;
	padding-bottom:10px;
}


.flex-caption-large p {
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 30px;
}

 .flexslider .slides li {
    position:relative;
}


aside { 
	float:right;
	width:30%;
}


/*GRID*/
/*
 & Columns : 12 

 */
.grid_1 { width: 5%; }
.grid_2 { width: 16%; }
.grid_2-start {
	width: 22%;
}
.grid_3 { width: 21.666666666667%; }
.grid_4 {
	width: 30%;
}
.grid_5 { width: 38.333333333333%; }
.grid_6 { width: 46.666666666667%; }
.grid_7 { width: 55%; }
.grid_8 { width: 63.333333333333%; }
.grid_9 { width: 71.666666666667%; }
.grid_10 { width: 80%; }
.grid_11 { width: 88.333333333333%; }
.grid_12 {
	width: 96.666666666667%; }
.grid_13 { width: 100%; }

.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12 {
	margin-left: 1.6666666666667%;
	margin-right: 1.6666666666667%;
	float: left;
	display: block;
}

.ref-logo {
	margin-bottom: 35px;
}


.grid_2-start {
	margin-left: 0%;
	margin-right: 2%;
	float: left;
	display: block;
}

.grid_2-start last {
	margin-left: 0%;
	margin-right: 0%;
	float: left;
	display: block;
}

.left-marg {
	margin-left: 18%;
}

.grid_main {
	margin-left: 6.6666%;
	margin-right: 6.6666%;
	float: left;
	margin-bottom: 0px;
	text-align: center;
	width: 20%;
	margin-top: 20px;
	}

.alpha{margin-left:0px;}
.omega{margin-right:0px;}
.rightfloat{float:right;}

}



/*
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device.
*/
@media only screen and (min-width: 1024px) {
#banner{
	float: left;
	text-align: left;
	margin-left: 20px;
}

.banner-text {
	text-align: center;
	float: left;
	margin-left: 50px;
	width: 35%;
	margin-top: 18px;
}


  .banner-text-mobile {
	  display:none;
}


.desktop-welcome {
	display: block;
	width: 100%;
}

.banner-text h1 {
	font-size:2.5em;
}

#hero .grid_4 {
	width: 28%;
	margin-bottom: 25px;
	text-align: left;
}
#hero h1{ font-size:1.5em;}
#hero .grid_8 { width: 63.333333333333%; margin:0 1.6666666666667%; }
.flexslider{
	display: block;
	width: 100%;
	margin-bottom: 40px;
}


.wrapper-flexslider {
	max-width: 100%;
	margin: .75em auto;
}


/*
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*/
@media only screen and (min-width: 1240px) {

#hero h1{ font-size:2em; }

.flexslider{
	display: block;
	margin: 0;
	width: 100%;
}



/*Caption Text DESKTOP full view*/
.flex-caption {
	width: 30%;
	position: absolute;
	margin-left: 35%;
	left: 5px;
	right: 0;
	top: 5px;
	padding-left: 8px;
	padding-right: 8px;
	bottom: 1; /* whatever you want */
	z-index: 1;
	background-color: rgba(255, 255, 255, 0.9);
	opacity: 0.97;
	display: block;
	font-size: 1.5em;
	line-height: 1.2em;
	text-align: center;
	font-family: 'PT Sans', sans-serif;
	color: #333;
	 }


.flex-caption-darker {
	width: 30%;
	position: absolute;
	margin-left: 50%;
	left: 5px;
	right: 0;
	top: 5px;
	padding-left: 8px;
	padding-right: 8px;
	bottom: 1; /* whatever you want */
	z-index: 1;
	background-color: rgba(255, 255, 255, 1);
	opacity: 1;
	display: block;
	font-size: 1.5em;
	line-height: 1.2em;
	text-align: center;
	font-family: 'PT Sans', sans-serif;
	color: #333;
	    border-style: solid;
    border-width: 2px;
	 }


.flexslider .slides li {
    position:relative;
}

} 

/*
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution.
*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (min--moz-device-pixel-ratio: 1.5),
       only screen and (min-device-pixel-ratio: 1.5) {

/* Hide Caption Text*/
.flex-caption {
	display: block;
		position: absolute;
	 }


} 

/*
iPHONE 5 MEDIA QUERY
iPhone 5 or iPod Touch 5th generation styles
*/
@media (device-height: 568px) and (-webkit-min-device-pixel-ratio: 2) { 

/* Hide Caption Text*/
.flex-caption {
	display: block;
		position: absolute;
	 }
  
}

/*
PRINT STYLESHEET
*/
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
  .flex-caption {
	display: block;
	 }
}
a
