html{
	background-color: white;
}
body, header, p, h1, h2, h3, h4{
	font-family: 'Montserrat', sans-serif;
	color: black;
}
body{
	margin: 0;
	background-color: white;
	height:100%;
}

h1{
	font-family: 'Montserrat', serif;
	font-size: 36pt;
	color: black;
	font-weight: 300;
	margin-bottom: 25px;
	letter-spacing: 1px;
}

h2{
	font-family: 'Montserrat', serif;
	font-size: 28px;
	font-weight: 400;
	color: black;
	margin-bottom: 25px;
	margin-top:20px;
}
h3{
	font-family: 'Montserrat', serif;
	font-size: 19px;
	color: black;
	font-weight: 500;
	margin-bottom: 25px;
	text-transform: uppercase;
}
h4{
	font-family: 'Montserrat', serif;
	font-size: 18px;
	color: black;
	font-weight: 300;
	margin-bottom: 15px;
	margin-top:8px;
}
p{
	line-height: 1.3;
	font-size: 16px;
}

.blue{
	color: #03375d;
}
.black{
	color:black;
}
.white{
	color: white;
}
.green{
	color: #0099a7;
}
.gold, a.gold{
	color: #c4956b;
}
.gold-important{
	color: #c4956b !important;
}
.black-important{
	color: black !important;
}
.invert {
	filter: invert(100%);
}

hr{
	border-top: 1px solid #999999;
}
hr.blue{
	border-top: 1px solid #c4956b;
}
hr.bronze{
	border-top: 1px solid #c4956b;
}
.uppercase{
	text-transform: uppercase;
}

a, a:hover{
	color: black;
	font-weight: 500;
}
p a{
	text-decoration: underline;
}
a.section{
	font-weight: 600;
}
a.subsection{
	font-weight: 500;
}
p.leftmenu{
	padding-right: 15px;
}
.strike{
	text-decoration: line-through;
}


.nomargin{
	margin:0
}
.nomargin-top{
	margin-top:0;
}
.smaller{
	font-size:14px;
}

.header{
	margin-top:15px;
	margin-bottom: 100px;
	position:-webkit-sticky;
	position:sticky;
	top:0;
}
.logo{
	width:100px;
	height: auto;
}

.menu-arrow{
	width:60px;
	height:auto;
	margin: 0 12px;
}

.more-arrow{
	width:70px;
	height:auto;
}
.topmenu{
	margin-top: 37px;
}
.topmenu-first{
	margin-left:-35px;
}
.topmenu a{
	font-weight: 500;
}
img.search{
	width:16px;
	margin-left: 25px
}
.langsearch{
	margin-left: 45px
}

@media screen and (max-width: 1199px) {
	.topmenu{
		margin-top: 20px;
	}
	.topmenu-first{
		margin-left:0;
	}
	.topmenu div{
		margin-bottom: 10px
	}
	.logo{
		width:90px;
		height: auto;
	}
	.menu-arrow{
		width:60px;
		height:auto;
		margin: 0 15px;
	}
	div.langsearch{
		text-align: right;
		right: 0;
		position: absolute;
	}
}
@media screen and (max-width: 991px) {
	.topmenu-first{
		margin-left:15px;
	}	
}

.topmenu div img {
	transition: all 0.75s 0.25s;
	transform: rotate(0);
}
.topmenu div:hover img {
	transform: rotate(180deg);
}
.topmenu div:hover img.search {
	transform: rotate(360deg);
}




.topmenu ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	color: white;
	padding-right:70px;
}
.topmenu ul:last-child {
	padding-right:0;	
}
.topmenu ul:first-child {
	padding-left:50px;	
}
.topmenu ul li {
		display: block;
		position: relative;
}
.topmenu>ul>li:not(.nav_search)>a:after {
	display:block;
	content: '';
	border-bottom: 4px solid #E7B041; 
	transform: scaleX(0);  
	transition: transform 10ms ease-in-out;
	transition-delay: 250ms;
	transform-origin:  0% 50%;
}
.topmenu>ul>li>a:hover:after {
	transform: scaleX(1);
}
.topmenu ul li a {
	display: inline-block;
	padding: 5px 20px 0 20px;
	font-size: 18px;
}
.header1.ha-header .topmenu ul li a.nav-link-header1 {
		padding-top: 14px;
}
.topmenu ul li ul {
	position: relative;
	min-width: 100%;
	width: auto;
	display: none;
		padding-bottom: 15px;
		padding-top:10px;
		opacity: 0;
		z-index: 10;
}
.topmenu ul li ul.ul-black {
	background-color: black;
}
.topmenu ul li ul li{
	padding: 0 20px 0 20px;
	line-height: 1.2;
}
.topmenu ul li ul li a{
	font-size: 14px;
	padding: 0;
	font-weight: normal;
	white-space: nowrap;
	border-bottom: 2px solid white;
}
.topmenu ul li ul li a:hover{
	text-decoration: none;
	border-bottom: 2px solid #E7B041; 
}

.topmenu ul li:hover ul {
		visibility: visible;
		display: block;
		position: absolute;
		left:0px;
		opacity: 1;
}

.topmenu ul li:focus-within ul {
		visibility: visible;
		display: block;
		position: absolute;
		left:0px;
		opacity: 1;
}
@-webkit-keyframes slide-down {
			0% { opacity: 0; transform: translateY(-35px); }   
		100% { opacity: 1; transform: translateY(0); }
}
.topmenu ul li:hover ul li{
	display: block;
}
hr.topmenu_break{
	border-top: 1px solid #bcbcbc;
	padding: 10px 20px -15px 20px;
}







/* Burger */

#nav-icon3 {
  width: 30px;
  height: 20px;
  position: absolute;
  right:15px;
  top: 25px;
  margin: 0;
  cursor: pointer;
}

#nav-icon3 span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: black;
  border-radius: 0;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

#nav-icon3 span:nth-child(1) {
  top: 0px;
}

#nav-icon3 span:nth-child(2),#nav-icon3 span:nth-child(3) {
  top: 9px;
}

#nav-icon3 span:nth-child(4) {
  top: 18px;
}

#nav-icon3.open span:nth-child(1) {
  top: 9px;
  width: 0%;
  left: 50%;
}

#nav-icon3.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

#nav-icon3.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#nav-icon3.open span:nth-child(4) {
  top: 9px;
  width: 0%;
  left: 50%;
}



.smallmenu{
	background: white;
	margin-top:-100px;
	padding: 15px;
	text-align: left;
/*	margin-left:-15px; */
	line-height: 2;
	z-index:10000;
	top:20px;
	left:0;
	right:0;
	height: 100%;
	padding-left: 100px;
}
.smallmenu li, .smallmenu ul{
	list-style: none;
	margin: 0;
    padding: 0;
}

.smallmenu a{
	font-size:20px;
}

#ha-header{
	display: none;
}
#ha-header.ha-header-small{
	display: block;
}
.ha-header-small {
	top:0;
	margin:0;
	left:0;
	position:fixed;
	background-color: white;
	width:100%;
	z-index: 1000;
	height: 90px;
}
#ha-header .logo{
	width:60px;
	height: auto;
}

#ha-header .topmenu{
	margin-top: 20px;
}
@media screen and (max-width: 1190px) {
	#ha-header .topmenu{
		margin-top: 0;
	}
}


#search {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: translate(0px, -100%) scale(0, 0);
  -moz-transform: translate(0px, -100%) scale(0, 0);
  -o-transform: translate(0px, -100%) scale(0, 0);
  -ms-transform: translate(0px, -100%) scale(0, 0);
  transform: translate(0px, -100%) scale(0, 0);
  opacity: 0;
}
#search input[type="search"] {
  font-weight: 300;
  position: absolute;
  top: 50%;
  left: 0; 
  right: 0; 
  width: 100%;
  color: black;
  background: transparent;
  font-size: 25px;
  text-align: center;
  border: 0px;
  margin: 0px auto;
  margin-top: -51px;
  outline: none;
  padding-top: 10px;
  padding-bottom: 10px;
}

#search input[type="search"]::placeholder{
	color: black;
}

#search .button_search {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: 61px;
  margin-left: -45px;
  border: black;
  font-size: 14px;
  letter-spacing: 1px;
  transition: all 0.3s;
}
#search .close {
  position: fixed;
  top: 15px;
  right: 15px;
  color: black;
  border-color: none;
  opacity: 1;
  padding: 5px 30px;
  font-size: 27px;
}
#search.open {
  -webkit-transform: translate(0px, 0px) scale(1, 1);
  -moz-transform: translate(0px, 0px) scale(1, 1);
  -o-transform: translate(0px, 0px) scale(1, 1);
  -ms-transform: translate(0px, 0px) scale(1, 1);
  transform: translate(0px, 0px) scale(1, 1);
  opacity: 1;
  z-index: 10000;
}
input[type="search"]::-webkit-search-cancel-button{
	display: none;
}
.corner {
    z-index: 10;
    width:55px;
    height:55px;
    border: none;
    margin-top: -51px;
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path stroke-width="0" fill="black" d="M9.516 14.016c2.484 0 4.5-2.016 4.5-4.5s-2.016-4.5-4.5-4.5-4.5 2.016-4.5 4.5 2.016 4.5 4.5 4.5zM15.516 14.016l4.969 4.969-1.5 1.5-4.969-4.969v-0.797l-0.281-0.281c-1.125 0.984-2.625 1.547-4.219 1.547-3.609 0-6.516-2.859-6.516-6.469s2.906-6.516 6.516-6.516 6.469 2.906 6.469 6.516c0 1.594-0.563 3.094-1.547 4.219l0.281 0.281h0.797z"></path></svg>');
    background-repeat: no-repeat;
    background-size: 35px 35px;
    background-position: 10px 10px;
    background-color: transparent;
	position: absolute;
	top: 50%;
	right: 30px; 
	fill: black;
}

.announce{
	position: absolute;
	width: 200px;
	height: 200px;
	border: 1px solid black; bottom:0;
	background-color: white;
	padding: 25px;
}

.imageleft{
	float:left;
	margin-right:10px;
	margin-bottom:5px;
	border:1px solid gray;
	padding:2px
}
.blackmenu .logo{
	filter: invert(100%);	
}
body.blackmenu{
	background-color: black;
	margin-top:0;
	padding-top:1px;
}
.blackmenu .topmenu a{
	color: white;	
}
.blackmenu a:not(.search):hover{
	border-bottom: 5px solid white;
}
.blackmenu .ha-header-small{
	background-color: black;
}
.blackmenu .footer *{
	color: white;
}
.blackmenu #nav-icon3 span{
	background-color:white;
}
.blackmenu .smallmenu{
	background: black;
}
.blackmenu .smallmenu a{
	color:white;
}
.blackmenu .smallmenu img.menu-arrow{
	filter: invert(100%);
}
.blackmenu .smile, .blackmenu img.search, .blackmenu .menu-arrow{
	filter: invert(100%);
}
.blackmenu .announce{
	border: 1px solid white;
	background-color: black;
}
.blackmenu .announce p{
	color: white;
}

h3.expo{
	font-weight: 500
}
.credits{
	font-size:14px;
}
h3.upic{
	margin-top:17px;
}

.bfr-work {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 1);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: translate(0px, -100%) scale(0, 0);
  -moz-transform: translate(0px, -100%) scale(0, 0);
  -o-transform: translate(0px, -100%) scale(0, 0);
  -ms-transform: translate(0px, -100%) scale(0, 0);
  transform: translate(0px, -100%) scale(0, 0);
  opacity: 0;
}

.bfr-work .close {
  position: sticky;
  top: 15px;
  right: 15px;
  color: black;
  border-color: none;
  opacity: 1;
  padding: 5px 30px;
  font-size: 27px;
}
.bfr-work.open {
  -webkit-transform: translate(0px, 0px) scale(1, 1);
  -moz-transform: translate(0px, 0px) scale(1, 1);
  -o-transform: translate(0px, 0px) scale(1, 1);
  -ms-transform: translate(0px, 0px) scale(1, 1);
  transform: translate(0px, 0px) scale(1, 1);
  opacity: 1;
  z-index: 10000;
  overflow-y:scroll
}
.bfr-first-row{
	margin-top:-10px;
}
@media screen and (max-width: 991px) {
	.bfr-first-row{
		margin-top:70px;
	}
	#ha-header.ha-header-small{
		display: none;
	}
}

.mf-arrow{
	transform: rotate(90deg);
	margin-bottom: 10px;
}

a.anchor::before { 
  display: block; 
  content: " "; 
  margin-top: -90px; 
  height: 90px; 
  visibility: hidden; 
  pointer-events: none;
}

img.mask{
	width:180px;
	height: auto;
	margin-top:20px
}
@media screen and (max-width: 767px) {
	img.mask{
		margin-top:50px;
		margin-bottom:-70px
	}
}