*, html
{
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
}

html, body
{
  margin: 0;
  padding: 0;
  background-color: #111;
}

body
{
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  letter-spacing: normal;
  line-height: normal;
  text-align: left;
  text-decoration: none;
  text-indent: 0;
  text-transform: none;
  word-spacing: normal;
  color: #fff;
}

a         { color: #000; text-decoration: none; cursor: pointer; }
a>i       { cursor: pointer; }
a:link    { color: #000; }
a:visited { color: #000; }
a:hover   { color: #000; }
a:active  { color: #000; }

img { border: 0; }

ol, ul
{
  list-style: none;
  margin: 0;
  padding: 0;
}

li
{
  display: inline;
  margin: 0;
  padding: 0;
}

span
{
  font-family: 'Saira', sans-serif;
  font-weight: 500;
  font-size: 110%;
  color: #000;
}


/* Main layout */

#full-area
{
  z-index: 5;
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 1080px;
}

#cover
{
  position: absolute;
  display: block;
  bottom: 50px;
  width: 100%;
}

#global-board
{
  position: absolute;
  display: block;
  top: 100%;
  width: 100%;
  background-color: #fff;
}

.content-zone
{
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 1800px;
  font-size: 12px;
  text-align: left;
}

#full-area, header, footer { text-align: center; }
#global-board, header, footer { background-color: #fff; }
#global-board .content-zone { padding-top: 5px; max-width: 1920px; }
header .content-zone { height: 100%; }

header
{
  z-index: 9;
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
}

aside
{
  position: relative;
  display: inline-block;
  padding: 0 0 80px 80px;
  color: #fff;
  font-family: 'Saira', sans-serif;
  font-weight: 500;
  font-size: 25px;
}

aside li
{
  display: block;
  margin-top: 25px;
  border-left: 3px solid #ea1d53;
  padding: 2px 25px 0 15px;
  line-height: 30px;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7);
}

section, footer
{
  position: relative;
  padding-left: 25px;
  padding-right: 25px;
}

section
{
  padding-top: 25px;
  padding-bottom: 25px;
}

section:first-child
{
  padding-top: 0;
}

section.narrow
{
  padding-left: 10%;
  padding-right: 10%;
}

section.split-up
{
  margin-top: 15px;
}

section.dark-grey { background-color: #ddd; }
section.grey      { background-color: #eee; }


/* Header-related elements */

#look-bar
{
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-top: 10px solid #ea1d53;
  border-bottom: 1px solid #555;
}

h1
{
  z-index: 7;
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  padding: 0 25px 5px 25px;
}

h1>a
{
  display: inline-block;
  color: #ea1d53;
  font-family: 'Saira', sans-serif;
  font-weight: 500;
  font-size: 25px;
  text-decoration: none;
}

h1 a:link    { color: #ea1d53; }
h1 a:visited { color: #ea1d53; }
h1 a:hover   { color: #ea1d53; }
h1 a:active  { color: #ea1d53; }

nav
{
  z-index: 8;
  position: absolute;
  display: block;
  right: 0;
  bottom: 0;
  padding: 0 15px 7px 25px;
}

nav>a
{
  display: inline-block;
  padding-left: 10px;
  padding-right: 10px;
  color: #555;
  font-family: 'Saira', sans-serif;
  font-weight: 400;
  font-size: 20px;
  text-decoration: none;
}

nav a:link    { color: #555; }
nav a:visited { color: #555; }
nav a:hover   { color: #000; }
nav a:active  { color: #000; }


/* Section-related elements */

section p
{
  display: block;
  padding-top: 10px;
  font-size: 14px;
  text-align: justify;
  color: #000;
}

section p:first-child
{
  padding-top: 0;
}

section.punch p, p.punch
{
  font-weight: 300;
  font-size: 19px;
  line-height: 30px;
  text-align: center;
}

section p.punch
{
  padding-top: 20px;
  padding-bottom: 10px;
}

section.left p, p.left { text-align: left; }

section.center p, p.center { text-align: center; }

section i
{
  font-style: normal;
  white-space: nowrap;
}

section b
{
  font-weight: 600;
}


/* Contacts */

p.contact
{
  display: block;
  text-align: center;
}

p.contact span
{
  display: inline-block;
  font-family: 'Saira', sans-serif;
  font-weight: 400;
  font-size: 19px;
  padding-top: 5px;
  padding-left: 25px;
  padding-right: 25px;
}

p.contact span>i { padding-right: 10px; }

p.contact span>a { white-space: nowrap; }


/* Footer-related elements */

footer
{
  position: relative;
  display: block;
  margin-top: 75px;
  margin-bottom: 25px;
  color: #777;
  text-align: left;
}

footer a, footer u
{
  white-space: nowrap;
  text-decoration: none;
}

footer p
{
  display: inline-block;
  font-size: 12px;
  line-height: 18px;
}

#legal-toggle, #legal { display: none; }

#legal-toggle
{
  padding-top: 5px;
  padding-bottom: 5px;
}

#legal-toggle a { color: #777; text-decoration: none; cursor: pointer; }
#legal-toggle a:link    { color: #777; }
#legal-toggle a:visited { color: #777; }
#legal-toggle a:hover   { color: #000; }
#legal-toggle a:active  { color: #000; }

#cookie-opt
{
  padding-top: 5px;
}

#legal>p, #cookie-opt>p
{
  display: block;
  font-size: 12px;
  line-height: 18px;
}

.logo
{
  display: block;
  width: 100%;
  padding: 0 0 25px 0;
  text-align: center;
}

.logo a
{
  display: inline-block;
  width: 100px;
  height: 50px;
  color: #fff;
}

.logo img
{
  width: 100%;
  max-width: 100%;
  cursor: pointer;
}


/* Fullscreen background */

#img-bg   { z-index: 1; }
#video-bg { z-index: 2; }

.bg
{
  position: fixed;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.bg>img
{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.bg>video
{ 
  position: fixed;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  transform: translateX(-50%) translateY(-50%);
}


/* Scroll handling */

#go-dw, #go-dw i, #go-up, #go-up i { cursor: pointer; }
#go-dw i, #go-up i { font-size: 25px; }
#go-dw i { padding-top: 5px; }

a#go-dw         { color: #777; text-decoration: none; }
a:link#go-dw    { color: #777; }
a:visited#go-dw { color: #777; }
a:hover#go-dw   { color: #222; }
a:active#go-dw  { color: #222; }

a#go-up         { color: #777; text-decoration: none; }
a:link#go-up    { color: #777; }
a:visited#go-up { color: #777; }
a:hover#go-up   { color: #222; }
a:active#go-up  { color: #222; }

#go-dw-bar
{
  z-index: 10;
  position: absolute;
  display: block;
  top: -40px;
  left: 0;
  right: 0;
  height: 45px;
  border-top: 1px solid #555;
  background-color: #fff;
  text-align: center;
}

#go-dw
{
  position: absolute;
  display: none;
  top: 0;
  left: 25%;
  right: 25%;
  bottom: 10px;
}

#go-up, #go-up-corner
{
  z-index: 10;
  position: fixed;
  display: none;
  right: 0;
  bottom: 0;
  font-size: 0;
  opacity: 0.5;
}

#go-up
{
  padding-right: 12px;
  padding-bottom: 10px;
}

#go-up-corner
{
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 75px 75px;
  border-color: transparent transparent #fff transparent;
}

#doc
{
  position: absolute;
  display: block;
  top: -40px;
}


/* Responsive tweaks */

@media screen and (max-width:800px)
{   
  #go-up-corner, #go-up { visibility: hidden; }
}


/* Responsive header */

@media screen and (max-width:600px)
{   
  /*h1
  {
    right: 0;
    text-align: center;
  }*/
}


/* Responsive cover */

@media screen and (max-width:750px) { #full-area { max-height: 740px; } }

@media screen and (max-width:800px) { aside { padding-left: 60px; } }
@media screen and (max-width:700px) { aside { padding-left: 55px; } }
@media screen and (max-width:600px) { aside { padding-left: 50px; } }
@media screen and (max-width:500px) { aside { padding-left: 40px; } }
@media screen and (max-width:400px) { aside li.xs { letter-spacing: -1px; } }
@media screen and (max-width:370px) { aside { padding-left: 30px; } }

@media screen and (max-height:700px) { aside { padding-bottom: 70px; } aside li { margin-top: 20px; } }
@media screen and (max-height:600px) { aside { padding-bottom: 60px; } aside li { margin-top: 20px; } }
@media screen and (max-height:500px) { aside { padding-bottom: 45px; } aside li { margin-top: 15px; } }
@media screen and (max-height:400px) { aside { padding-bottom: 35px; } aside li { margin-top: 15px; } }
@media screen and (max-height:350px) { aside { padding-bottom: 25px; } aside li { margin-top: 10px; } }
@media screen and (max-height:300px) { aside { padding-bottom: 15px; } aside li { margin-top: 10px; } }


/* Responsive sections */

@media screen and (max-width:700px)
{
  section i { white-space: normal; }
  section.left p, p.left { text-align: justify; }
}


/* Responsive contacts */

@media screen and (max-width:360px)
{
  p.contact span>i { display: block; }
  
  p.contact span { padding-top: 10px; }
  p.contact span:first-child { padding-top: 0; }
}


/* Responsive footer */

@media screen and (max-width:760px)
{
  footer p.sp
  {
    display: block;
    padding-bottom: 10px;
  }
}

@media screen and (max-width:420px)
{
  #legal div { padding-bottom: 5px; }
}

