
/* fonts

HeroicCondensed-Bold.eot
HeroicCondensed-Bold.otf
HeroicCondensed-Bold.svg
HeroicCondensed-Bold.ttf
HeroicCondensed-Bold.woff
HeroicCondensed-Heavy.eot
HeroicCondensed-Heavy.otf
HeroicCondensed-Heavy.svg
HeroicCondensed-Heavy.ttf
HeroicCondensed-Heavy.woff
SimplonBPMono-Bold.eot
SimplonBPMono-Bold.otf
SimplonBPMono-Bold.svg
SimplonBPMono-Bold.ttf
SimplonBPMono-Bold.woff
SimplonBPMono-Medium.eot
SimplonBPMono-Medium.otf
SimplonBPMono-Medium.svg
SimplonBPMono-Medium.ttf
SimplonBPMono-Medium.woff
SimplonBPMono-Regular.eot
SimplonBPMono-Regular.otf
SimplonBPMono-Regular.svg
SimplonBPMono-Regular.ttf
SimplonBPMono-Regular.woff

*/

@font-face {
	font-family: "Heroic Condensed Bold";
	src: url("../fonts/HeroicCondensed-Bold.eot");
	src:
	url("../fonts/HeroicCondensed-Bold.woff") format("woff"),
	url("../fonts/HeroicCondensed-Bold.otf") format("opentype"),
	url("../fonts/HeroicCondensed-Bold.svg#filename") format("svg");
	font-style: normal;
	font-weight: normal;
}
@font-face {
	font-family: "Heroic Condensed Heavy";
	src: url("../fonts/HeroicCondensed-Heavy.eot");
	src:
	url("../fonts/HeroicCondensed-Heavy.woff") format("woff"),
	url("../fonts/HeroicCondensed-Heavy.otf") format("opentype"),
	url("../fonts/HeroicCondensed-Heavy.svg#filename") format("svg");
	font-style: normal;
	font-weight: normal;
}

@font-face {
	font-family: "SimplonBPMono Bold";
	src: url("../fonts/SimplonBPMono-Bold.eot");
	src:
	url("../fonts/SimplonBPMono-Bold.woff") format("woff"),
	url("../fonts/SimplonBPMono-Bold.otf") format("opentype"),
	url("../fonts/SimplonBPMono-Bold.svg#filename") format("svg");
	font-style: normal;
	font-weight: normal;
}
@font-face {
	font-family: "SimplonBPMono Medium";
	src: url("../fonts/SimplonBPMono-Medium.eot");
	src:
	url("../fonts/SimplonBPMono-Medium.woff") format("woff"),
	url("../fonts/SimplonBPMono-Medium.otf") format("opentype"),
	url("../fonts/SimplonBPMono-Medium.svg#filename") format("svg");
	font-style: normal;
	font-weight: normal;
}
@font-face {
	font-family: "SimplonBPMono Regular";
	src: url("../fonts/SimplonBPMono-Regular.eot");
	src:
	url("../fonts/SimplonBPMono-Regular.woff") format("woff"),
	url("../fonts/SimplonBPMono-Regular.otf") format("opentype"),
	url("../fonts/SimplonBPMono-Regular.svg#filename") format("svg");
	font-style: normal;
	font-weight: normal;
}
@font-face {
  font-family: 'SimplonBP-Bold';
  src: url('../fonts/SimplonBP-Bold.eot?#iefix') format('embedded-opentype'),  
  url('../fonts/SimplonBP-Bold.otf')  format('opentype'),
  url('../fonts/SimplonBP-Bold.woff') format('woff'), 
  url('../fonts/SimplonBP-Bold.ttf')  format('truetype'), 
  url('../fonts/SimplonBP-Bold.svg#SimplonBP-Bold') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'SimplonBPMono-Bold';
  src: url('../fonts/SimplonBPMono-Bold.eot?#iefix') format('embedded-opentype'),  
  url('../fonts/SimplonBPMono-Bold.otf')  format('opentype'),
  url('../fonts/SimplonBPMono-Bold.woff') format('woff'), 
  url('../fonts/SimplonBPMono-Bold.ttf')  format('truetype'), 
  url('../fonts/SimplonBPMono-Bold.svg#SimplonBPMono-Bold') format('svg');
  font-weight: normal;
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}


a[href^=tel] { color: inherit; text-decoration: none; }

body
{
	background: #eef0f1;
	color: white;
	
	font-family: 'SimplonBPMono Regular';
	font-size: 25px;
}

.smll_txt {
	font-size: .8rem;
}

.homepage_hero
{
	height: 100vh;
}
.homehero_text_container
{
	flex: 0 0 27.12vw;
	text-align: center;
	
	display: flex;
	flex-direction: column;
}
.homehero_video_container
{
	height: 100%;
	/*flex: 0 0 72.88vw;*/
}
@media (max-width: 991.98px) {
	.homepage_hero
	{
		height: auto;
	}	
	.homehero_text_container
	{
		flex-basis: 100vw;
		height: 100vh
	}
	.homehero_video_container
	{
		flex-basis: 100vw;
		height: 77.29vh;
	}
}



.centerimage_container
{
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
.centerimage_container .centerimage
{
	height: 100%;
	width: auto;
}
.centerimage_container .centerimage.img-w
{
	width: 100%;
	height: auto;
}
.centerimage_container .centerimage.object-fit
, .centerimage_container .centerimage.object-crop
{
	/* thanks!! https://stackoverflow.com/a/30794589
	FIXME: needs polyfill for IE11 */
	height: 100%;
	width: 100%;
	object-fit: contain;
	object-position: center center;
	
	/* ie11 object-fit polyfill */
	font-family: 'object-fit: contain; object-position: center center;';
}
.centerimage_container .centerimage.object-crop
{
	object-fit: cover;

	/* ie11 object-fit polyfill */
	font-family: 'object-fit: cover; object-position: center center;';
}


.h1-img
{
	color: #fcdc00;
	margin: 8.33vh auto 0;
	width: 74.43%; /*93.07%;*/
	height: auto;
}
h2
{
	width: 74.43%;
	margin: auto auto 0;
	text-align: left;
	color: white;
	font-family: 'Heroic Condensed Heavy';
	font-size: 2.22vw;
	line-height: 2.22vw;
	text-transform: uppercase;
}

h2 span.yellow {
    color: #fcdc00;
}
.herodown
{
	display: block;
	height: 5.73vh;
	width: 74.43%;
	text-align: left;
	margin: 5.73vh auto;
}
.herodown img
{
	height: 100%;
	width: auto;
}
@media (max-width: 991.98px) {
	.h1-img
	{
		margin-left: 11.05vw;
		
		width: 50.00%;
		height: auto;
	}
	h2
	{
		margin-left: 11.05vw;
/* 		margin-bottom: 15vw; */
		font-size: 6.32vw;
		line-height: 6.32vw;
	}
	.herodown
	{
		margin-left: 11.05vw;
		margin-bottom: 140px !important;
	}
}
@media (max-width: 575.98px) {
	.h1-img
	{
		width: 70.00%;
		height: auto;
	}
	h2
	{
		font-size: 8.72vw;
		line-height: 8.72vw;
	}
}





.w-stretch
{
	width: 100% !important;
}

.homehero_video_container .play
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;	
/*
	background: url('../img/play_button.svg') center center no-repeat;
	background-size: 10% 10%;
*/
}
@media (max-width: 991.98px) {
	.homehero_video_container .play
	{
		background-size: 30% 30%;
	}
}


main
{
	overflow: hidden;
}

.homepage_main
{
}

  main section .box
, footer .box
, main section .colorbox
, footer .colorbox
{
	font-family: 'SimplonBPMono Medium';
	font-size: 1.30vw;
	line-height: 1.40vw;
	position: relative;
}
@media (max-width: 991.98px) {
	  main section .box
	, footer .box
	, main section .colorbox
	, footer .colorbox
	{
		font-size: 3.10vw;
		line-height: 3.30vw;
	}
	  main section .box .text
	, footer .box .text
	{
		line-height: 3.90vw;
	}
}
  main section .colorbox
, footer .colorbox
{
	font-size: 1.20vw;
	line-height: 1.30vw;
}
@media (max-width: 991.98px) {
	  main section .colorbox
	, footer .colorbox
	{
		font-size: 2.90vw;
		line-height: 3.10vw;
	}
}
  main section .box h3
, footer .box h4
, main section .colorbox h3
, main section .colorbox h4
, main section .colorbox h5
, .htext
, .htext .wide_list
, .wide_list b
{
	margin-top: 4.17vw;
	font-family: 'Heroic Condensed Bold';
	font-size: 8.4vw; 
	line-height: 8.4vw;
	text-transform: uppercase;
	/*letter-spacing: -0.051em;*/
}

main section .box h3,
main section .colorbox h3 {
	letter-spacing: -0.03em;
}

main section .box h4,
main section .colorbox h4 {
	letter-spacing: -0.04em;
}

main section .colorbox h5 {
	letter-spacing: -0.03em;
}

@media (max-width: 991.98px) {
	  main section .box h3
	, footer .box h4
	, main section .colorbox h3
	, main section .colorbox h4
	, main section .colorbox h5
	, .htext
	, .htext .wide_list
	, .wide_list b
	{
		margin-top: 10.34vw;
		font-size: 18.8vw; 
		line-height: 18.8vw;
	}
}

.htext
, .htext .wide_list
{
	margin-top: 0;
	font-size: 2.0vw;
	line-height: 1.9vw;
}
.htext .wide_list.closer
{
	flex-basis: 45%;
}
@media (max-width: 991.98px) {
	.htext
	, .htext .wide_list
	{
		font-size: 6.5vw;
		line-height: 6.1vw;
	}
	
	.htext .wide_list.closer_on_mobile
	{
		flex-basis: 45%;
	}

	.wide_list.collapse_item2_on_mobile .pusher
	{
		position: relative;
	}
	.wide_list.collapse_item2_on_mobile .pusher .item .white
	{
		margin-top: 6.4vw; 
		display: inline-block;
	}
	.wide_list.collapse_item2_on_mobile .pusher .item:nth-child(2)
	{
		position: absolute;
		top: 6.4vw;
		left: 0;
		float: left;
	}
	.wide_list.li_bottom_margin_on_mobile li
	{
		margin-bottom: 5vw;
	}
}



.htext .white
{
	color: white;
}
  .htext .grey
, .text.grey
{
	color: #888e93;
}


main section .colorbox h3
{
	font-size: 8.02vw !important; 
	line-height: 7.64vw !important;
	margin-bottom: 0 !important;
}
main section .colorbox h4
{
	font-size: 6.10vw !important; 
	line-height: 6.10vw !important;
}
main section .colorbox h5
{
	font-size: 4.65vw !important; 
	line-height: 4.65vw !important;
}
@media (max-width: 991.98px) {
	main section .colorbox h3
	{
		font-size: 16.04vw !important; 
		line-height: 15.28vw !important;
		margin-bottom: 0 !important;
	}
	main section .colorbox h4
	{
		font-size: 12.20vw !important; 
		line-height: 12.20vw !important;
	}
	main section .colorbox h5
	{
		font-size: 9.30vw !important; 
		line-height: 9.30vw !important;
	}
}

.wide_list b
{
	font-weight: normal;

	margin-top: none;
	font-size: 1.5vw;
	line-height: 1.4vw;
}
@media (max-width: 991.98px) {
	.wide_list b
	{
		font-size: 4vw;
		line-height: 3.8vw;
	}
}





  main section .box      h3.biggerh3
, main section .colorbox h3.biggerh3
{
	font-size: 9.52vw !important; 
	line-height: 9.14vw !important;
}
  main section .box      h3.biggerh3_2
, main section .colorbox h3.biggerh3_2
{
	font-size: 9.52vw !important; 
	line-height: 9.14vw !important;
}
@media (max-width: 991.98px) {
	  main section .box      h3.biggerh3
	, main section .colorbox h3.biggerh3
	{
		font-size: 15.52vw !important; 
		line-height: 15.14vw !important;
	}
	  main section .box      h3.biggerh3_2
	, main section .colorbox h3.biggerh3_2
	{
		font-size: 17.52vw !important; 
		line-height: 17.14vw !important;
	}
}

  main section .box      h3.notopmargin
, main section .colorbox h3.notopmargin
{
	margin-top: 0;
}



  main section .colorbox h3
, main section .colorbox h4
{
	margin-top: 2.93vw !important;
}
main section .colorbox h5
{
	margin-top: -0.47vw !important;
}


  .smallpad
, .no-gutters > .col.smallpad 
, .no-gutters > [class*="col-"].smallpad
{
	padding: 2.15vw;
	box-sizing: border-box;
}
  .smallpad1
, .no-gutters > .col.smallpad1
, .no-gutters > [class*="col-"].smallpad1
{
	padding: 5.42vw 6.25vw 5.78vw;
	box-sizing: border-box;
}
@media (max-width: 991.98px) {
	  .smallpad
	, .no-gutters > .col.smallpad 
	, .no-gutters > [class*="col-"].smallpad
	{
		padding: 3.22vw;
	}
	  .smallpad1
	, .no-gutters > .col.smallpad1
	, .no-gutters > [class*="col-"].smallpad1
	{
		padding: 10.84vw 12.50vw 11.56vw;
	}
}

.smallpad2
{
	padding: 7.05vw;
	box-sizing: border-box;
}
@media (max-width: 991.98px) {
	.smallpad1.smallpad2_on_mobile
	, .no-gutters > .col.smallpad1.smallpad2_on_mobile
	, .no-gutters > [class*="col-"].smallpad1.smallpad2_on_mobile
	{
		padding: 7.05vw;
	}
}



.more_right_pad
{
	/* FIXME: should be padding-right, please check usages */
	margin-right: 6.45vw;
}
.more_top_pad
{
	padding-top: 12.45vw !important;
}
.some_top_pad
{
	padding-top: 3.45vw !important;
}
.more_bottom_pad
{
	padding-bottom: 12.45vw !important;
}
.more_right_pad2
{
	padding-right: 6.45vw !important;
}
.reduced_right_pad
{
	padding-right: 5.35vw !important;
}
.some_right_pad
{
	padding-right: 4.25vw !important;
}
.less_right_pad
{
	padding-right: 1.45vw !important;
}
.no_pad
{
	padding: 0 !important;
}
.no_right_pad
{
	padding-right: 0vw !important;
}
.no_bottom_pad
{
	padding-bottom: 0 !important;
}
.lots_more_margin_top
{
	margin-top: 3vw !important;
}
.lots_more_margin_bottom
{
	margin-bottom: 3vw !important;
}
.the_most_extra_margin_top
{
	margin-top: 10vw !important;
}
.the_most_extra_margin_bottom
{
	margin-bottom: 10vw !important;
}
.no_top_margin
{
	margin-top: 0 !important;
}
.negative_top_margin
{
	margin-top: -5vw !important;
}
@media (max-width: 991.98px) {

	  .no_top_margin
	, .no_top_margin_on_mobile
	{
		margin-top: 0 !important;
	}

	  .more_top_pad
	, .more_top_pad_on_mobile
	{
		padding-top: 12.45vw !important;
	}
	  .more_bottom_pad
	, .more_bottom_pad_on_mobile
	{
		padding-bottom: 12.45vw !important;
	}

	  .some_top_pad
	, .some_top_pad_on_mobile
	{
		padding-top: 3.45vw !important;
	}


  	  .lots_more_margin_top
	, .lots_more_margin_top_on_mobile
	{
		margin-top: 12vw !important;
	}
	  .lots_more_margin_bottom
	, .lots_more_margin_bottom_on_mobile
	{
		margin-bottom: 12vw !important;
	}

	  .the_most_extra_margin_top
	, .the_most_extra_margin_top_on_mobile
	{
		margin-top: 30vw !important;
	}
	  .the_most_extra_margin_bottom
	, .the_most_extra_margin_bottom_on_mobile
	{
		margin-bottom: 30vw !important;
	}

	.some_margin_top_on_mobile
	{
		margin-top: 5vw !important;
	}
	.some_margin_bottom_on_mobile
	{
		margin-bottom: 5vw !important;
	}

	main section .no_top_pad_on_mobile
	, footer .no_top_pad_on_mobile
	{
		padding-top: 0 !important;
	}

	main section .no_bottom_pad_on_mobile
	{
		padding-bottom: 0 !important;
	}
	
	  .but_no_right_pad_on_mobile
	, .some_right_pad.but_no_right_pad_on_mobile
	{
		padding-right: 0vw !important;
	}
	
	.no_pad_on_mobile
	{
		padding: 0 !important;
	}
}
@media (min-width: 992px) { /* NOTE: NOT on mobile */
	.some_margin_top_on_desktop
	{
		margin-top: 5vw !important;
	}
	.some_margin_bottom_on_desktop
	{
		margin-bottom: 5vw !important;
	}
}



          .smallpad .corner.arrow
, .boxpad .smallpad .corner.arrow
{
	bottom: 2.15vw !important;
	right: 2.15vw !important;
}
@media (max-width: 991.98px) {
		  .smallpad .corner.arrow
	, .boxpad .smallpad .corner.arrow
	{
		bottom: 3.44vw !important;
		right: 3.44vw !important;
	}
}
,         .smallpad2 .corner.arrow
, .boxpad .smallpad2 .corner.arrow
{
	bottom: 7.05vw !important;
	right: 7.05vw !important;
}
          .smallpad .corner.arrow.left
, .boxpad .smallpad .corner.arrow.left
{
	right: 0 !important;
	left: 2.15vw !important;
}
,         .smallpad2 .corner.arrow.left
, .boxpad .smallpad2 .corner.arrow.left
{
	right: 0 !important;
	left: 7.05vw !important;
}

/* .boxpad padding: 4.17vw 16.67%; */
.boxpad .corner.arrow
{
	bottom: 4.17vw !important;
	right: 16.67% !important;
}
.boxpad .corner.arrow.left
{
	right: auto !important;
	left: 16.67% !important;
}
@media (max-width: 991.98px) {
	.boxpad .corner.arrow
	{
		bottom: 12.5% !important;
		right: 8.69% !important;
	}
	.boxpad .corner.arrow.left
	{
		left: auto !important;
		right: 8.69% !important; /* NOTE: left side placing disabled for mobile */
	}
	  .on_mobile_stick_arrow_to_bottom_padding .boxpad .arrow
	, .on_mobile_stick_arrow_to_bottom_padding .boxpad .corner.arrow
	{
		bottom: 5% !important; 
	}
}

  main section .colorbox
, footer .colorbox
{
	width: 21.75vw;
	height: 23.51vw;
}
@media (max-width: 991.98px) {
	  main section .colorbox
	, footer .colorbox
	{
		width: 41.30vw;
		height: 43.48vw;
	}
}

.colorboxes
{
	display: flex;
	flex-direction: row !important;
	justify-content: flex-end !important;
}
.colorboxes.right
{
	justify-content: flex-start !important;
}
@media (max-width: 991.98px) {
	.colorboxes
	{
		justify-content: center !important;
	}
	.colorboxes.right
	{
		justify-content: center !important;
	}
	.box:nth-child(1) .padbox_ov.colorboxes
	{
		padding-bottom: 0 !important;
	}
	.box:nth-child(2) .padbox_ov.colorboxes
	{
		padding-top: 0 !important;
	}
}

.box h3.rotate
{
	position: absolute;
	top: 5vw;
	left: -7.4vw !important;
	transform: rotate(270deg);
}
@media (max-width: 991.98px) {
	.box h3.rotate.not_on_mobile
	{
		position: static;
		transform: none;
	}
}


section.yellow
, .yellow.box
, .box .yellow.colorbox
{
	background-color: #fcdc00;
	color: black;
}



.yellow.box h3
, .box .yellow.colorbox h3
, .box .yellow.colorbox h4
, .box .yellow.colorbox h5
{
	color: black;
}

.boxpad
{
	min-height: 100%;

	box-sizing: border-box;
	/* percentages won't work because their size depends on the parent container, and we have a few vwsquare and similar boxes, and a few full width sections
	padding: 4.17vw 16.67%;
	*/
	/*
	padding: 4.17vw 8.335vw;
	*/
	padding: 4.17vw 6.05vw;

	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.boxpad_escape_pad_left_right
{
	/*
	margin-left: -16.67%;
	margin-right: -16.67%;
	*/
	/* use parent's width+padding */
	margin-left: -25%;
	margin-right: -25%;
}
main section .box .push
{
	/*display: block;*/
	margin-top: auto;
}
@media (max-width: 991.98px) {
	.boxpad
	{
		padding: 10.5vw 16.67vw ;
	}
	.boxpad.thinner_pad_on_mobile
	{
		padding: 12.06% 8.69% 8.69%;
	}
	.boxpad_escape_pad_left_right
	{
		/*
		margin-left: -8.69%;
		margin-right: -8.69%;
		*/
		/* use parent's width+padding */
		margin-left: -13.05%;
		margin-right: -13.05%;
	}
	main section .box .push
	{
	}
}




section.grey
, .grey.box
, .box .grey.colorbox
{
	background-color: #888e93;
	color: white;
}

.grey.box h3
, .box .grey.colorbox h3
, .box .grey.colorbox h4
, .box .grey.colorbox h5
{
	color: #fcdc00;
}

  .box .colorbox.blackh h3
, .box .colorbox.blackh h4
, .box .colorbox.blackh h5
  .box.blackh h3
, .box.blackh h4
, .box.blackh h5
{
	color: black;
}
.box .colorbox.blackh .hr
, .box.blackh .hr
{
	background-color: black;
}
  .box .colorbox.whiteh h3
, .box .colorbox.whiteh h4
, .box .colorbox.whiteh h5
  .box.whiteh h3
, .box.whiteh h4
, .box.whiteh h5
{
	color: white !important;
}
.box .colorbox.whiteh .hr
, .box.whiteh .hr
{
	background-color: white;
}

  .box .colorbox.yellowh h3
, .box .colorbox.yellowh h4
, .box .colorbox.yellowh h5
  .box.yellowh h3
, .box.yellowh h4
, .box.yellowh h5
{
	color: #fcdc00;
}
.box .colorbox.yellowh .hr
, .box.yellowh .hr
{
	background-color: #fcdc00;
}


  h3 .yellow
, h4 .yellow
, h5 .yellow
, .text.yellow
, .text.fi.yellow
{
	color: #fcdc00;
}
  h3 .grey
, h4 .grey
, h5 .grey
{
	color: #888e93;
}
  h3 .white
, h4 .white
, h5 .white
{
	color: white;
}


.ltgrey.box
, .box .ltgrey.colorbox
{
	background-color: #eef0f1;
	color: black;
}

  .ltgrey.box h3
, .ltgrey.box h4
, .box .ltgrey.colorbox h3
, .box .ltgrey.colorbox h4
, .box .ltgrey.colorbox h5
{
	color: #fcdc00;
}
  .box .ltgrey.colorbox.blackh h3
, .box .ltgrey.colorbox.blackh h4
, .box .ltgrey.colorbox.blackh h5
{
	color: black;
}

.white.box
, .box .white.colorbox
{
	background-color: white;
	color: black;
}

  .white.box h3
, .white.box h4
, .box .white.colorbox h3
, .box .white.colorbox h4
{
	color: #fcdc00;
}


section.black
, .black.box
, .box .black.colorbox
{
	background-color: black;
	color: white;
}

  .black.box h3
, .black.box h4
, .box .black.colorbox h3
, .box .black.colorbox h4
{
	color: #fcdc00;
}




.padbox_ov
{
	padding: 4.15vw 6vw !important;
	box-sizing: border-box;
}
@media (max-width: 991.98px) {
	.padbox_ov
	{
		padding: 10.5vw 8.8vw !important;
	}
}

.pad_left_only
, .padbox_ov.pad_left_only
{
	padding-right: 0 !important;
}
.padbox_ov..pad_left_only.ov
{
	padding-left: 6vw !important;
}
@media (min-width: 992px) { /* NOTE: NOT on mobile */
	.pad_left_only_but_not_on_mobile
	, .padbox_ov.pad_left_only_but_not_on_mobile
	{
		padding-right: 0 !important;
	}
	.padbox_ov..pad_left_only_but_not_on_mobile.ov
	{
		padding-left: 6vw !important;
	}
}

.pad_right_only
, .padbox_ov.pad_right_only
{
	padding-left: 0 !important;
}
.padbox_ov..pad_right_only.ov
{
	padding-right: 6vw !important;
}

.pad_v_only
, .padbox_ov.pad_v_only
{
	padding-left: 0 !important;
	padding-right: 0 !important;
}
@media (min-width: 992px) { /* NOTE: NOT on mobile */
	.pad_v_only_desktop_only
	, .padbox_ov.pad_v_only_desktop_only
	{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}


.nopad
{
	padding: 0 !important;
}
@media (max-width: 991.98px) {

	.nopad_on_mobile
	, main section .nopad_on_mobile
	, main section .box .nopad_on_mobile
	, main section .box .panel.nopad_on_mobile
	{
		padding: 0 !important;
	}
}


main section .box .padbox_ov h3
{
	margin-top: 0;

	font-size: 10.78vw;
}
@media (max-width: 991.98px) {
	  main section .box .padbox_ov h3
	, main section .boxpad.ov h3
	, main section .smallpad2 h3
	{
		margin-top: 0;
		font-size: 16.56vw;
		
		line-height: 0.80em;
	}
}



p
{
	margin: 0;
	padding: 0;
}

.text.ov
, .text.sp
, .text.lo
, .text.fi
{
	font-family: 'SimplonBPMono Medium';
	font-size: 75%;
}
.text.ov
{
	padding: 0 0 4.5vw 11vw;
}
.text.ov:first-child
{
	padding-top: 4.5vw;
	padding-bottom: 0;
}
@media (max-width: 991.98px) {
	.text.ov
	, .text.sp
	, .text.lo
	, .text.fi
	{
		font-family: 'SimplonBPMono Medium';
		font-size: 100%;
	}
	.text.ov
	{
		padding: 0 0 4.5vw 0;
	}
	.text.sp
	{
		padding: 0 0 2.5vw 0;
	}
  	  .text.ov:first-child
	, .hidden_on_desktop + .text.ov
	{
		padding-top: 0;
		padding-bottom: 0;
	}
}

.text.sp
{
	margin-top: 0.78vw;
}
h4 + .text.sp
{
	margin-top: 1.85vw;
}
h3 + .text.lo
{
	margin-top: 1.85vw;
}
.biggerh3 + .text.lo
{
}
@media (max-width: 991.98px) {
	.biggerh3 + .text.lo
	{
		margin-top: 10vw;
	}
}

.text.lo
{
	letter-spacing: 0.01em;
	margin-top: 1em;
}

.text.lo.smaller
{
	font-size: 65%;
}

.text.lo.slider_font_size
{
	font-size: 100%;
}
@media (max-width: 991.98px) {
	.text.lo.slider_font_size
	{
		font-size: 120%;
		line-height: 5.2vw;
	}
}

.text.nobreak
{
	white-space: nowrap;
}

.a_bit_more_top_margin
{
	margin-top: 1.8vw !important;
}
.twice_more_top_margin
{
	margin-top: 3.6vw !important;
}
.a_bit_more_bottom_margin
{
	margin-bottom: 1.8vw !important;
}
.twice_more_bottom_margin
{
	margin-bottom: 3.6vw !important;
}
@media (max-width: 991.98px) {
	  .a_bit_more_top_margin
	, .a_bit_more_top_margin_on_mobile
	{
		margin-top: 4vw !important;
	}

	   .twice_more_top_margin
	, .twice_more_top_margin_on_mobile
	{
		margin-top: 10vw !important;
	}
	  .a_bit_more_bottom_margin
	, .a_bit_more_bottom_margin_on_mobile
	{
		margin-bottom: 4vw !important;
	}

	   .twice_more_bottom_margin
	, .twice_more_bottom_margin_on_mobile
	{
		margin-bottom: 10vw !important;
	}
}

.a_bit_more_right_pad
{
	padding-right: 4.0vw !important;
}
.a_bit_more_left_pad
{
	padding-left: 4.0vw !important;
}

.a_bit_more_v_pad
{
	padding-top: 5vw !important;
	padding-bottom: 5vw !important;
}
@media (max-width: 991.98px) {
	.a_bit_more_v_pad_on_mobile
	{
		padding-top: 5vw !important;
		padding-bottom: 18vw !important;
	}
}

.text.fi
{
	font-family: 'SimplonBPMono Regular';
	font-size: 50%;
	line-height: 0.8vw;
	color: white;
}
@media (max-width: 991.98px) {
	.text.fi
	{

		font-size: 60%;
		line-height: 2vw !important;
		text-align: justify;
	}
}

.colorbox .text
{
	letter-spacing: -0.015em;
}
@media (max-width: 991.98px) {
	.colorbox .text
	{
		letter-spacing: -0.040em;
	}
}



.boxpad.ov
{
	padding-right: 13.20%;
}
@media (max-width: 991.98px) {
	.boxpad.ov
	{
		padding: 12.68vw 9.60vw;
	}
}


.bigger
{
	font-size: 10.38vw !important;
}
@media (max-width: 991.98px) {
	.bigger
	{
		font-size: 14.38vw !important;
	}
}




footer .box h4
{
	margin-top: 0;
	font-size: 3.83vw; 
	line-height: 3.83vw;
}
footer h6
{
	color: black;
	
	font-family: 'Heroic Condensed Bold';
	font-size: 1.56vw; 
	line-height: 1.56vw;
	text-transform: uppercase;
	letter-spacing: 0;
}
footer .box .text
{
	font-family: 'Heroic Condensed Bold';

	font-size: 1.51vw;
	line-height: 1.58vw;
	letter-spacing: 0.04em;
	
	position: relative;
	left: 0.25vw;
	top: 0;
}
@media (max-width: 991.98px) {
	footer .box h4
	{
		font-size: 7.66vw; 
		line-height: 7.66vw;
	}
	footer h6
	{
		font-size: 5.22vw; 
		line-height: 5.22vw;
	}
	footer .box .text
	{
		font-size: 4.12vw;
		line-height: 4.26vw;
	}
}


footer .menus
{
	display: flex;
	justify-content: center !important;
	flex-direction: row !important;
}
@media (max-width: 991.98px) {
	footer .menus.force-column-stacking-on-mobile
	, .force-column-stacking-on-mobile
	{
		flex-direction: column !important;
	}

	.force-column-on-mobile
	{
		flex-basis: 100%;
	}
}
footer .menus a
{
	color: inherit;
}

.menus .menu
{
	margin-left: 8.2vw;
}
.menus .menu:first-child
{
	margin-left: 0;
}

.fi1 .menus .menu
{
	margin-left: 0;
}

/*
.menus .menu
{
	margin-left: 8.2vw;
}
*/

.menus.nopadmenus .menu
{
	padding: 0 !important;
}
@media (max-width: 991.98px) {
	.menus.force-column-stacking-on-mobile .menu
	{
		margin-left: 0 ;
		margin-right: 0 ; 
		padding: 0;
	}
}

.menus .menu .item
{
	margin-top: 2.01vw;
	font-size: 0.780vw;
	line-height: 1.144vw;
}
footer .menus .menu .item
{
	margin-top: 2.01vw;
	font-size: 1vw;
	line-height: 1.444vw;
}

.fi1 .menus .menu .item
{
	font-size: 1.2vw;
	line-height: 1.6vw;
}
.menus.medium .menu .item
{
	font-size: 1.2vw;
	line-height: 1.5vw;
	text-transform: none;
}
@media (max-width: 991.98px) {
	.menus .menu .item
	{
		margin-top: 5.02vw;
		font-size: 2.560vw;
		line-height: 3.288vw;
	}
	footer .menus .menu .item
	{
		margin-top: 4.01vw;
		font-size: 3.180vw;
		line-height: 3.544vw;
	}

	.fi1 .menus .menu .item
	{
		font-size: 3.4vw;
		line-height: 4.2vw;
	}
	.menus.medium .menu .item
	{
		font-size: 3.4vw;
		line-height: 4.0vw;
	}
}

.menus .menu .item .name
{
	color: #fcdc00;
	font-family: 'SimplonBPMono Bold';
}
.yellow .menus .menu .item .name
{
	color: white;
}
.menus .menu .item .value
{
	color: black;
	font-family: 'SimplonBPMono Regular';
}
.fi1 .menus .menu .item .value
{
	color: white;
}
.fi1 .menu a
{
	color: inherit;
}
.yellow .menus .menu .item .value
{
	color: black;
}
.fi2 .menus .menu .item .value
, .download
{
	font-family: 'SimplonBPMono Bold';
	font-size: 95%;
	letter-spacing: 0.01em;
}




.vwsquare
{
	height: 44vw;
}
@media (max-width: 991.98px) {
	.vwsquare
	{
		height: 100vw;
	}
	.vwsquare.no_vwsquare_on_mobile
	{
		height: auto;
	}
	/*
	.home_map_mobile_pushup
	{
		position: relative;
		top: -130vw;
		margin-bottom: -100vh;
	}
	*/
}

footer .vwheight
{
	height: 25.66vw;
}

footer .boxpad
{
	padding: 3.80vw 6.1vw;
}

.text.uc
{
	text-transform: uppercase;
}



.hfloat_container
{
	z-index: 1000;
	position: relative;
	overflow: visible !important;
}

.hfloat
{
	position: absolute;
	top: 2.15vw;
	left: 5.25vw;
	color: #fcdc00;
	margin: 0 !important;
	font-size: 11.3vw !important;
	line-height: 11.3vw !important;
}

.hfloat.f2
{
	top: auto;
	left: auto;
	bottom: -3.73vw;
	right: 5.25vw;
}
.hfloat.f4
{
	top: auto;
	left: auto;
	bottom: 4.73vw;
	right: 5.25vw;
}

.hfloat_container .hfloat.pushup
{
	top: -3.00vw;
}

.hfloat_container .hfloat.rotateright
{
	transform: rotate(90deg);
}


main
{
	
}


nav
{
	z-index: 1000000;
	/*
	position: -webkit-sticky;
	position: sticky;
	*/
	position: fixed;
	top: 0;
	height: 7.32vw;
	width: 100vw;
}
.navbar_placeholder
{
	visibility: hidden;
	position: static;
	
	/* fix the horizontal scrollbar issue, on desktop/Firefox (maybe others too) ..... */
	overflow: hidden;
	width: 1px;
	max-width: 1px;
	overflow-x: hidden;
}

nav.open
{
}
@media (max-width: 991.98px) {
	nav
	{
		height: 24.15vw;
	}
}
/* smaller device than an iPad, in horizontal orientation */
@media (max-width: 991.98px) and (max-height: 767.98px) and (min-width: 576px) {
	nav
	{
		height: 12.07vw;
	}
}

nav .overflow
{
	background: white;
	color: #fcdc00;
	box-sizing: border-box;
/*
	padding: 2.44vw 6.05vw 1.76vw;
*/
	min-height: 100%;

	/* NOTE NOTE NOTE: mav .menuitems uses this top padding to size itself! */
	padding: 2.44vw 6.05vw 1.76vw 6.05vw; /* 16.67% h aligns with "boxpad thinner_pad_on_mobile */
}
nav .overflow .top
{
	display: flex;
	height: inherit;

	justify-content: space-between;
}
nav.open .overflow
{
	background: #1b1b1b;
	color: white;
	height: auto;
	
	/* make menu fill the whole screen */
	/*min-height: 100vh;*/
	max-height: 100vh; /* enables scrolling of menuitems ... */
}
@media (max-width: 991.98px) {
	nav.open .overflow
	{
		/* make menu fill the whole screen */
		min-height: 100vh;
	}
}

.nav_logo img
{
	height: 3.22vw;
	width: auto;
}
.logo_mobile
{
	display: none;
}
@media (max-width: 991.98px) {
	nav .overflow
	{
		/* NOTE NOTE NOTE: mav .menuitems uses this top padding to size itself! */
		padding: 5.80vw 8.69vw 4.18vw;
	}
	.nav_logo img
	{
		margin-top: 1vw;
		height: 10.14vw;
		width: auto;
	}
	.logo_desktop
	{
		display: none;
	}
	.logo_mobile
	{
		display: inline-block;
	}
}
/* smaller device than an iPad, in horizontal orientation */
@media (max-width: 991.98px) and (max-height: 767.98px) and (min-width: 576px) {
	nav
	{
		height: 12.15vw;
	}
	nav .overflow
	{
		/* NOTE NOTE NOTE: mav .menuitems uses this top padding to size itself! */
		padding: 2.90vw 8.69vw 2.09vw;
	}
	.nav_logo img
	{
		margin-top: 0.3vw;
		height: 5.07vw;
		width: auto;
	}
}

.nav_menu
{
	margin-left: auto;
	cursor: pointer;
}
nav.open .nav_menu
{
	margin-left: 0;
}

.nav_menu img
{
	vertical-align: middle;
	width: 2.34vw;
	height: auto;
}
@media (max-width: 991.98px) {
	.nav_menu img
	{
		width: 7.73vw;

		margin-top: 1.45vw;
		vertical-align: top;
	}
}
/* smaller device than an iPad, in horizontal orientation */
@media (max-width: 991.98px) and (max-height: 767.98px) and (min-width: 576px) {
	.nav_menu img
	{
		margin-top: 0.72vw;
		width: 3.87vw;
	}
}
.ham .burger_line {
	fill:#FEDD00;
	transition: 300ms;
}
.ham:hover .burger_line {
	fill:#000;
}
.ham {
	width: 3vw;
	height: 3vw;
}
@media (max-width: 768px) {
	.ham {
	width: 10vw;
	height: 10vw;
}
}
.nav_menu .x
{
	display: none;
}
nav.open .nav_menu .x
{
	display: block;
}
nav.open .nav_menu .ham
{
	display: none;
}

nav .menuitems
{
	padding: 0;

	display: none;
	margin: 1.75vw 11.71vw 4vw auto;
	list-style-type: none;
	
	width: 25%;
	margin-left: auto;
	margin-right: 0;

	/* if menuitems overflow from the screen */
	/* doesn't work */
	overflow-y: auto;
	/*height: 100vh;  FIXME: this enables scroll, but you need to calculate a fixed height by taking account any padding, margin and content above it (logo height, etc) */
	box-sizing: border-box;
}
@media (max-width: 991.98px) {
	nav .menuitems
	{
		width: auto;
		margin-left: 0;
	}
}
nav .menuitems li
{
	margin: 0;
	padding: 0;
}
nav .menuitems li:first-child
{
	margin-top: 0vw;
}

nav.open .menuitems
{
	display: block;

	font-family: 'SimplonBPMono-Bold';
  font-weight: normal;
  font-style: normal;
	font-size: 1.30vw;
	line-height: 4.00vw;
	margin-left: auto;
	margin-right: 5vw;
}
@media (max-width: 991.98px) {
	nav .menuitems li:first-child
	{
		margin-top: 16.5vw;
	}
	nav.open .menuitems
	{
		margin-left: 0;
		margin-right: 0vw;
		font-size: 4.45vw;
		line-height: 8vh;
	}
}
/* smaller device than an iPad, in horizontal orientation */
@media (max-width: 991.98px) and (max-height: 767.98px) and (min-width: 576px) {
	nav .menuitems li:first-child
	{
		margin-top: -2vw;
	}
	nav.open .menuitems
	{
		margin-left: 0;
		margin-right: 0vw;
		font-size: 3.05vw;
		line-height: 7.15vw;
	}
}

  nav .menuitems a
, nav .menuitems a:link
, nav .menuitems a:visited
{
	color: white;
	border-bottom: 1px solid transparent;
}
  nav .menuitems a:hover
, nav .menuitems a:active
, nav .menuitems a.active
{
	color: #fcdc00;
;

	/* renders with issues on Safari / iPhone, so instead we'll use border-bottom */
/* 	text-decoration: underline; */
	font-stretch: normal; /* for Safari */
	border-bottom: 2px solid #fcdc00;
	text-decoration: none;
}




.icon_list
{
	list-style-type: none;
	
	font-size: 1.02vw;
	line-height: 1.61vw;

	margin: 0;
	padding: 1.24vw 0 0;

	font-family: 'SimplonBPMono Bold';

	text-transform: uppercase;
}
.icon_list li
{
	margin: 0.5vw 0 0;
	padding: 0;
}
.icon_list li:first-child
{
	margin-top: 0;
}
.icon_list .icon
{
	display: inline-block;
	vertical-align: middle;
	width: 3.07vw;
	height: 3.07vw;
	margin-right: 0.7vw;
}
.icon_list .icon img
{
	width: 100%;
	height: 100%;
}
.icon_list .rest_of_text
{
	display: inline-block;
	vertical-align: middle;
	line-height: 1.61vw;
}

.icon_list .white
{
	color: white;
}
@media (max-width: 991.98px) {
	.icon_list
	{
		font-size: 3.04vw;
		line-height: 5.62vw;

		padding: 3.48vw 0 0;

	}
	.icon_list li
	{
		margin: 4vw 0 0;
		box-sizing: border-box;

		padding-left: 10.14vw;	
	}
	.icon_list li::after
	{
		content: "";
		display: block;
		height: 0;
		clear: left;
	}
	.icon_list .icon
	{
		width: 7.14vw;
		height: 7.14vw;

		position: relative;
		margin-right: -8.14vw;
		left: -10.14vw;
		top: 0;
	}
	.icon_list .icon img
	{
		width: 100%;
		height: 100%;
	}
	.icon_list .rest_of_text
	{
		line-height: 4.02vw;
	}

}


.wide_list
{
	list-style-type: none;
	
	font-size: 1.02vw;
	line-height: 1.61vw;

	margin: 0;
	padding: 0;

	font-family: 'SimplonBPMono Medium';
}
.smaller .wide_list
{
	font-size: 1.02vw;
	line-height: 1.56vw;
	letter-spacing: -0.022em;
}
.wide_list.lite
{
	font-size: 0.87vw;
	line-height: 1.07vw;
	/*letter-spacing: -0.022em;*/
}
.wide_list li
{
	margin: 0.7vw 0 0;
	padding: 0;
	
	border-bottom: 0.2vw solid #fcdc00;
}
.wide_list.topblack li
{
	margin-top: 0;
	padding-top: 0.5vw;
	
	border-top: 0.2vw solid black;
	border-bottom: 0 !important;
}
@media (max-width: 991.98px) {
	.wide_list
	{
		font-size: 3.74vw;
		line-height: 4.42vw;
		
		padding-top: 3.48vw;
	}
	.smaller .wide_list
	{
		font-size: 3.74vw;
		line-height: 4.42vw;
	}
	.wide_list.lite
	{
		font-size: 3.24vw;
		line-height: 3.64vw;
	}
	.wide_list li
	{
		margin-top: 3.4vw;
	
		border-width: 0.5vw;
	}
	.wide_list.topblack li
	{
		padding-top: 1.3vw;
	
		border-width: 0.5vw;
	}
	.wide_list.topblack.thicker_on_mobile li
	{
		border-width: 0.7vw;

		/* cheating */
		padding-top: 2.2vw;
	}
}


  .smaller .wide_list li
, .wide_list.packed li
{
	margin-top: 0.4vw;
}
.wide_list.less_packed li
{
	margin-top: 0.8vw;
	padding-bottom: 0.8vw;
}
.wide_list.less_packed.heavy_nopad li.heavy
{
	padding-bottom: 0vw;
}
.yellow .wide_list li
{
	border-bottom: 0.2vw solid white;
}
.yellow .wide_list.lite li
{
	border-width: 0.1vw;
}
.yellow .wide_list.liter li
{	/* this is heavier than .wide_list.lite */
	border-width: 0.15vw;
}

.yellow .wide_list.black li
{
	border-color: black;
}

.yellow .wide_list li.heavy
{
	border-width: 0.3vw;
}
.yellow .wide_list.lite li.heavy
{
	border-width: 0.15vw;
}
.yellow .wide_list.liter li.heavy
{	/* this is heavier than .wide_list.lite */
	border-width: 0.25vw;
}

.yellow .wide_list li.last
{
	border-width: 0 !important;
}



.wide_list .pusher
{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
.wide_list.topblack
{
}


.wide_list.table_cell_layers
{
}
.wide_list.table_cell_layers li
{
}
.wide_list.table_cell_layers li::after
{
	height: 0px;
	display: block;
	content: "";
	clear: left;
}


  .wide_list.table_cell_layers .layer3
, .wide_list.table_cell_layers .layer2
, .wide_list.table_cell_layers .layer1
{
	box-sizing: border-box;
	display: inline-block;
	text-align: right;
}
  .wide_list.table_cell_layers.left_aligned .layer3
, .wide_list.table_cell_layers.left_aligned .layer2
, .wide_list.table_cell_layers.left_aligned .layer1
{
	text-align: left;
}

.wide_list.table_cell_layers .layer3
{
	float: left;
	width: 100%;
	padding-left: 66.55%;
	
}

.wide_list.table_cell_layers .layer2
{
	float: left;
	/* this is the size of the 66.55% padding-left of layer2 */
	width: 198.95%; /* (66.55 / 33.45) * 100 ... sorry */
	margin-left: -198.95%;

	padding-left: 100%; /* width of layer1, in terms of layer3's inner width */
}
.wide_list.table_cell_layers.layer2_outer .layer2
{
	float: left;
	width: 100%;
	margin-left: 0;
}
.wide_list.table_cell_layers.layer1_33 .layer2
{
	padding-left: 40%;
}


.wide_list.table_cell_layers .layer1
{
	float: left;
	width: 100%; /* <-- size of layer2's inner width */
	margin-left: -100%; /* <-- this is the size of the 100% padding-left of layer2 */
	text-align: left;
}
.wide_list.table_cell_layers.layer1_33 .layer1
{
	/* this is the size of the 40% padding-left of layer2 */
	width: 66.67%; /* (40 / 60) * 100 ... sorry */
	margin-left: -66.67%;
}





.corner.arrow
, .slider_arrows .a_left
, .slider_arrows .a_right
{
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 3.22vw;
	height: 3.22vw;
}
.slider2_arrows_on_desktop .slider_arrows
{
	width: 8vw;
	height: 3.22vw;
}
@media (max-width: 991.98px) {
	.corner.arrow
	, .slider_arrows .a_left
	, .slider_arrows .a_right
	{
		width: 10.63vw;
		height: 10.63vw;
	}
	
	.colorbox .corner.arrow
	{
		width: 6.16vw;
		height: 6.16vw;
	}
	
	.slider2_arrows_on_mobile .slider_arrows
	{
		width: 30vw;
		height: 10.63vw;
	}
}
  .slider_arrows .a_left
, .slider_arrows .a_right
{
	position: relative;
}
.corner.arrow img
, .slider_arrows .a_left img
, .slider_arrows .a_right img
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.corner.arrow:hover img.a
, .arrowparent:hover .corner.arrow img.a
{
	left: 40%;
	transition: left 300ms linear;
}
.arrowparent:hover
, .arrowparent :hover
{
	text-decoration: none;
}
.adiv
{
	display: block;
}
.corner.arrow.left
{
	right: auto;
	left: 0;
}

.slider_arrows
{
	margin-top: 1.24vw;
	width: 8.93vw;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
@media (max-width: 991.98px) {
	.slider2_arrows_on_mobile .slider_arrows
	{
	}
}



.hr
{
	height: 0.29vw;
	background: #fcdc00;
}
.hr.pushtop
{
	margin-top: 4.39vw;
}
.hr.pushdowntoh3
{
	margin-top: 0.35vw;
}
@media (max-width: 991.98px) {
	.hr.pushtop
	{
		margin-top: 6.39vw;
	}
	.hr.pushdowntoh3
	{
	}
	.hr.heavy_on_mobile
	{
		height: 1vw;
	}
}

  .hr + h4
, .hr + h5
, h4.afterhr
, h5.afterhr
{
	margin-top: 1.07vw;
	font-family: 'Heroic Condensed Bold';
	font-size: 3.41vw; 
	line-height: 3.41vw;
	text-transform: uppercase;
	/*letter-spacing: -0.051em;*/
}
  .hr + h5
, h5.afterhr
{
	font-size: 2.27vw; 
	line-height: 2.27vw;
}
  .hr + h5.slightly_bigger
, h5.afterhr.slightly_bigger
{
	font-size: 2.77vw; 
	line-height: 2.77vw;
}
  .bts1 .hr + h5
, .bts1 h5.afterhr
{
	font-size: 1.82vw; 
	line-height: 1.82vw;
	margin-top: 3vw;
	margin-bottom: 4vw;
	letter-spacing: -0.015em;
}
.afterhr.pulluptoh3
{
	margin-top: 0.27vw;
}
.afterhr.loc2
{
	margin-top: 3vw;

	font-size: 3.91vw; 
	line-height: 3.91vw;
}
@media (max-width: 991.98px) {
	  .hr + h4
	, .hr + h5
	, h4.afterhr
	, h5.afterhr
	{
		margin-top: 3.14vw;
		font-size: 7.82vw; 
		line-height: 7.82vw;
	}
	  .hr + h5
	, h5.afterhr
	{
		/*
		font-size: 5.54vw; 
		line-height: 5.54vw;
		*/
		font-size: 9.54vw; 
		line-height: 9.54vw;
	}
	  .hr + h5.slightly_bigger
	, h5.afterhr.slightly_bigger
	{
		/*
		font-size: 6.54vw; 
		line-height: 6.54vw;
		*/
		font-size: 10.54vw; 
		line-height: 10.54vw;
	}
	  .hr + h5.slightly_smaller_on_mobile
	, h5.afterhr.slightly_smaller_on_mobile
	{
		font-size: 7.14vw; 
		line-height: 7.14vw;
	}
	  .bts1 .hr + h5
	, .bts1 h5.afterhr
	{
		font-size: 4.64vw; 
		line-height: 4.64vw;
		margin-top: 7vw;
		margin-bottom: 9vw;
	}
	.afterhr.pulluptoh3
	{
		margin-top: 0.74vw;
	}
	.afterhr.loc2
	{
		margin-top: 12vw;
		font-size: 8.82vw; 
		line-height: 8.82vw;
	}
	.afterhr.loc2 + div
	{
		margin-top: 5vw;
	}
}


.os5_slider_pad
{
	padding: 7vw 1vw 9vw 1vw;

	/* FIXME: should have its own class */
	position: relative;
}

.os5_slide_deco 
{
	position: absolute;
	bottom: 0vw;
	left: 0;
	float: left;
}

.os5_slide_deco .item
{
	margin-top: 0.5vw;
	padding-left: 1.32vw;
	font-size: 0.7vw;
	line-height: 0.8vw;
	position: relative;
}

.os5_slide_deco .item::before
{
	content: " ";
	display: block;
	width: 0.66vw;
	height: 0.66vw;
	position: absolute;
	top: 0;
	left: 0;
	background: #fcdc00;
}
.os5_slide_deco .item:nth-child(2)::before
{
	background: #fbeb7d;
}
.os5_slide_deco .item:nth-child(3)::before
{
	background: #888e93;
}

.os5_slide_deco2 
{
	position: absolute;
	bottom: 0vw;
	right: 0;
	float: right;

	font-size: 0.7vw;
	line-height: 0.8vw;
}



.two_panels
{
	/*flex-direction: row !important;*/
	justify-content: space-between;
	margin-right: 0;
	margin-left: 0;
	display: flex;
}
.two_panels.loc2
{
	width: 100%;
}


.loc2 p
{
	margin-top: 2vw;
	
	font-family: 'SimplonBPMono Medium';
	font-size: 1.25vw;
	line-height: 1.35vw;
}

.lo5_desktop_slide
{
	display: flex;
	justify-content: space-between;
	width: 100%;
}
/* expects 2 items, 1 p and 1 img */
  .lo5_desktop_slide > p
, .lo5_desktop_slide > div
{
	width: auto;
	flex-basis: 45%;
}




/* FIXME: fix margin on mobile single column view */
.two_panels .panel
{
	box-sizing: border-box;
	padding-left: 1.76vw;
}
.two_panels .panel:first-child
{
	padding-left: 0;
	padding-right: 1.76vw;
}
.two_panels.less_spacing .panel
{
	padding-left: 1.06vw;
}
.two_panels.less_spacing .panel:first-child
{
	padding-left: 0;
	padding-right: 1.06vw;
}



.two_panels.three .panel
{
	padding-left: 0;
}
.two_panels.three .panel:first-child
{
	padding-left: 0;
	padding-right: 0;
}

.two_panels.three .panel:nth-child(1)
, .two_panels.three .panel:nth-child(2)
{
	padding-right: 2.76vw !important;
}



.os1_key
{
	height: auto;
	width: 100%;
}
.os1_key.bigger
{
	width: 114%;
}

.os1_key_ie11 
{
	position: relative;
	width: 100%;
}
.os1_key_ie11.bigger
{
	width: 114%;
}
.os1_key_ie11 img
{
	position: absolute;
	width: 100%;
	z-index: 100;
}
@media (max-width: 991.98px) {
	.os1_key_ie11 img
	{
		position: static;
	}
}
.os1_key_ie11 .os1_key
{
}


.os5_key
{
	height: auto;
	width: 100%;
	
	margin-top: 4vw;
}
.os5_key.bigger
{
	width: 105%;
}


.slider1_slide
{
}
.vwsquare.slider1_slide
{
}

.slider2
{
	box-sizing: border-box;
	padding: 5.42vw 6.08vw 5.78vw 0;
}
@media (max-width: 991.98px) {
	.slider2
	{
		padding-top: 0;
		padding-left: 6.08vw;
	}
}



.arrows_holder
{
	position: relative;
}

  .slider2 .slider_arrows
, .slider2_arrows_on_mobile .slider_arrows
{
	float: right;

	position: absolute;
	top: 0;
	right: 0;
}



.os_colorlist
{
	width: 31.74vw;
	min-height: 24.89vw;
	box-sizing: border-box;
	
	font-family: 'SimplonBPMono Medium';
	font-size: 1.02vw;
	line-height: 1.32vw;
	letter-spacing: 0.01em;

	margin-top: 2.78vw;
}

.os_colorlist .item
{
	margin-top: 2.20vw;
}
.os_colorlist .item:first-child
{
	margin-top: 0;
}

.os_colorlist .item .name
{
	padding-left: 1.90vw;
	position: relative;
	
}
.os_colorlist .item .name::before
{
	content: " ";
	display: block;
	width: 0.95vw;
	height: 0.95vw;
	position: absolute;
	top: 0;
	left: 0;
	background: #f39200;
}
.os_colorlist .item:nth-child(2) .name::before
{
	background: #1d70b7;
}
.os_colorlist .item:nth-child(3) .name::before
{
	background: #00a09a;
}
.os_colorlist .item .value
{
	margin-top: 0.73vw;
	padding-left: 1.90vw;
}
@media (max-width: 991.98px) {
	.os_colorlist
	{
		width: 100%;
/* 		min-height: 85.71vw; */
		margin-bottom: 2vw;
	
		font-size: 4.04vw;
		line-height: 4.64vw;
		letter-spacing: 0.01em;

		margin-top: 6.66vw;
	}

	.os_colorlist .item
	{
		margin-top: 5.40vw;
	}
	.os_colorlist .item:first-child
	{
		margin-top: 0;
	}

	.os_colorlist .item .name
	{
		padding-left: 5.80vw;
	}
	.os_colorlist .item .name::before
	{
		width: 3.90vw;
		height: 3.90vw;
	}
	.os_colorlist .item .value
	{
		margin-top: 4.46vw;
		padding-left: 5.80vw;
	}
}



.img-100
{
	width: 100%;
}
.img-100.auto
{
	height: auto;
}
.img-100.auto.safari_fix
{
	position: relative;
	top: 0;
	left: 0;
	display: inline-block;
	float: left;
	height: 100%;
}
.img-100.auto.safari_fix.hidden_on_desktop
{
	display: none;
}
.img-80
{
	width: 80%;
}
.img-70
{
	width: 70%;
}
.img-h60
{
	height: 6.44vw;
	width: auto;
}
@media (max-width: 991.98px) {
	.img-h60
	{
		height: 24.44vw;
		width: auto;
	}

}






/*
 *
 * slider1  , to be applied on a section containing the slider. the actualy slider div must be inside this
 *
 */
.nojs-noshow
{
	display: none;
}
.slider1
{
	max-width: 100vw !important;
	overflow: hidden !important;
}
  .slider1_slide
, .slider1 .vwsquare .slick-slide
{
	height: 44vw !important;
}
@media (max-width: 991.98px) {
	  .slider1_slide
	, .slider1 .vwsquare .slick-slide
	{
		height: 100vw !important;
	}
}
.slider1 .slick-track
{
}
.slider1 .slick-dotted.slick-slider
{
	margin-bottom: 0;
}
.slider1 .slick-dots
{
	position: absolute;
	bottom: 1vw;
	right: 0;
	letter-spacing: -0.2em;
}
.slider1 .slick-dots li.slick-active button:before, .slick-dots li button:before {
    color: #FFF !important;
    opacity: 1 !important;
    font-size: 16px !important;
}
.slider1 .slick-dots li.slick-active button {
	/* uncomment to turn dot into circle
    border: 5px solid #fcdc00 !important;
    border-radius: 100% !important;
	*/
}
.slider1 .slick-dots li.slick-active button:before {
	color: #fcdc00 !important;
	/* uncomment to turn dot into circle
    color: transparent !important;
	*/
}

.slider2
{
	max-width: 100vw !important;
	overflow: hidden !important;
}
  .slider2_slide
, .slider2 .vwsquare .slick-slide
{
	height: 44vw !important;
}
.slider2 .slick-track
{
}
.slider2 .slick-dotted.slick-slider
{
	margin-bottom: 0;
}
.slider2 .slick-dots
{
	position: absolute;
	bottom: 0;
	right: 0;
}
.slider2 .slick-dots li.slick-active button:before, .slick-dots li button:before {
    color: #FFF !important;
    opacity: 1 !important;
    font-size: 16px !important;
}
.slider2 .slick-dots li.slick-active button {
    border: 5px solid #fcdc00 !important;
    border-radius: 100% !important;
}
.slider2 .slick-dots li.slick-active button:before {
    color: transparent !important;
}





.downloads
{
}

.download
{
	display: block;
	border: 1px solid black;
	padding: 1.8vw;
	margin-top: 1.0vw;
	
	color: black;	
}
.black .download
{
	color: white;
	border-color: white;
} 
.download:first-child
{
	margin-top: 2.05vw;
}
  .download:hover
, .download:active
{
	color: white;
	text-decoration: none;
	background: black;
}
  .black .download:hover
, .black .download:active
{
	color: grey;
	background: #fff;
	border-color: #fff;
}
@media (max-width: 991.98px) {
	.download
	{
		border-width: 0.5vw;		
		padding: 6.05vw;
		margin-top: 4.62vw;
	}
	.download:first-child
	{
		margin-top: 5.05vw;
	}
}


.hidden
{
	display: none;
}



  .hide_on_desktop
, .hidden_on_desktop
{
	display: none;
}
@media (max-width: 991.98px) {
	  .hide_on_mobile
	, .hidden_on_mobile
	{
		display: none;
	}
	  .hide_on_desktop
	, .hidden_on_desktop
	{
		display: block;
	}
	  .slider_arrows.hide_on_desktop
	, .slider_arrows.hidden_on_desktop
	{
		display: flex;
	}
}




.floatl
{
	float: left !important;
}

.clearl
{
	clear: left;
}



/* minimum page height to fill the screen vertically. 100vh - navbar - footer 

	nav
	height: 7.32vw;

	footer .vwheight
	height: 25.66vw;

	can't use vw-s though
*/
.main_minvh
{
	/*  no, instead let the body background color be the same as the footer and let it become visible under the footer if the viewport is very tall
	min-height: 100vh;
	*/
}

.relative {
    position: relative;
}

#livecam {
    background-image: url("../img/livecams.png");
    background-size: cover;
    background-color: rgba(252,220,0,1.00);
    width: 150px;
    height: 175px;
    position: absolute;
    top: 0;
    right: 0;
    transition: background-color 0.5s ease;
    z-index: 1000;
}

#livecam:hover {
    background-color: rgba(252,220,0,0.8);
    
}