@font-face {
    font-family: 'site_special';
    src: url('cera_stencil_pro_black-webfont.woff2') format('woff2'),
         url('cera_stencil_pro_black-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'site_bold';
    src: url('frank-bold-webfont.woff2') format('woff2'),
         url('frank-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'site_light';
    src: url('frank-light-webfont.woff2') format('woff2'),
         url('frank-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'site_medium';
    src: url('frank-medium-webfont.woff2') format('woff2'),
         url('frank-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'site_regular';
    src: url('frank-regular-webfont.woff2') format('woff2'),
         url('frank-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'site_thin';
    src: url('frank-thin-webfont.woff2') format('woff2'),
         url('frank-thin-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}





html, body {
  font-family: 'site_regular', Arial, Helvetica, sans-serif;
  font-size: 16px;
  margin: 0;
  padding: 0;
  color: #7C7B7B;
  background: url('../img/background.png') top center repeat-x fixed;
}







a {
  color: #7C7B7B;
  text-decoration: none;
}

h2 {
  font-family: 'site_special';
  font-size: 22px;
  margin-bottom: 0;
}

.bigger {
  font-size: 18px;
}

.smaller {
  font-size: 14px;
}

.light {
  font-family: 'site_light';
}

.bold {
  font-family: 'site_bold';
}

.red {
  color: #E4072F;
}

.pixel {
  font-family: 'site_special';
  font-size: 18px;
}

.container {
  max-width: 970px;
  margin: 0 auto;
  position: relative;
}

header {
  max-height: 221px;
  background-size: cover;
}

header img {
  width: 100%;
  vertical-align: bottom;
  padding-top: 30px;
}





#content {
  padding: 20px 20px 100px 28px;
  max-width: 310px;
  box-sizing: border-box;
  background: white;
}

#content div {
  /*margin-top: 10px;*/
}

#content .light {
  margin-top: 0;
}

#content article {
  margin-bottom: 10px;
  padding: 0 20px 0 0;
  position: relative;
  margin-right: 20px;
  width: 75%;

  transition: 300ms 'border-color';
}

#content article.on {
  border-color: #0055A4;
}

#content article.on.aRed {
  border-color: #E4072F;
  position: relative;
}




#video .wrapper,
#video .placeholder {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
  background: black;
  z-index: 3;
}

#video .wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#video .placeholder {
  display: none;
  background: white;
  z-index: 2;
}




@media screen and (max-width:969px) {
  #video.sticky .wrapper {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
  }

  #video.sticky .placeholder {
    display: block;
  }
}












@media screen and (min-width:550px) {
  #headerProtection {
    position: fixed;
    background: white;
    width: 336px;
    height: 210px;
    z-index: 2
  }

  header {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    z-index: 10;
    transform: translateY(0px);
    transition: transform 500ms;

    background: url('../img/background.png') top center repeat-x fixed;

  }

  header.clearFooter {
    transform: translateY(-90px);
  }

  #video {
    position: fixed;
    top: 170px;
    right: 0px;
    width: calc(100vw - 310px);
    z-index: 3;
    transition: top 500ms;
  }

  #video.sticky {
    position: fixed;
    top: 0px;
  }

  #video.clearFooter {
    top: 50px;
  }

  #content {
    float: left;
    margin-top: 150px;
  }

  #content article {
    width: 85%;
  }
}





@media screen and (min-width:970px) {
  #headerProtection {
    position: fixed;
    background: white;
    width: 336px;
    height: 210px;
    z-index: 2
  }

  header {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    z-index: 10;
    transform: translateY(0px);
    transition: transform 500ms;

    background: url('../img/background.png') top center repeat-x fixed;
  }

  header.clearFooter {
    transform: translateY(-90px);
  }

  #video {
    position: fixed;
    top: 170px;
    left: 50%;
    transform: translateX(-148px);
    width: 650px;
    z-index: 3;
    transition: top 500ms;
  }

  #video.sticky {
    position: fixed;
    top: 0px;
  }

  #video.clearFooter {
    top: 80px
  }

  #content {
    float: left;
    margin-top: 150px;
  }

  #content article {
    width: 85%;
  }
}






.medium {
  font-size: 18px;
}

.light {
  font-size: 16px;
}

#content p {
  margin: 0;
  padding: 0;
}

#content .head {
  position: relative;
}

#content > article:first-child a {
  color: #BB66A5;
}

#content > article:first-child::before {
  content: url('../img/dot-1.png');
  width: 15px;
  height: 15px;
  top: 7px;
  left: -20px;
  position: absolute;
}

#content section .head a,
#content .table-of-contents article.on a {
  color: #00A3A6;
}

#content section .head::before {
  content: url('../img/dot-3.png');
  width: 15px;
  height: 15px;
  top: 7px;
  left: -20px;
  position: absolute;
}

#content section:first-of-type .head a,
#content section:first-of-type .table-of-contents article.on a {
  color: #0069B4;
}

#content section:first-of-type .head::before {
  content: url('../img/dot-2.png');
  width: 15px;
  height: 15px;
  top: 7px;
  left: -20px;
  position: absolute;
}







footer {
  clear: both;
  position: relative;
  background: red;
  min-height: 100px;
  padding-bottom: 40px;

  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+40,ffffff+40&0+0,0.4+40 */
  background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 10%, rgba(255,255,255,0.7) 80%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 10%, rgba(255,255,255,0.7) 80%, rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 10%, rgba(255,255,255,0.7) 80%, rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#66ffffff',GradientType=0 ); /* IE6-9 */
}

footer img {
  width: 100%;
}

@media screen and (min-width: 970px) {
  #content {
    min-height: 500px;
  }

  footer img {
    width: 48%;
    position: absolute;
    top: 0px;
    left: 0px;
  }

  footer img:last-child {
    left: auto;
    right: 0px;
  }
}
