/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: local('Roboto Light'), local('Roboto-Light'),
       url('../fonts/roboto-v18-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v18-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-300italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: local('Roboto Light Italic'), local('Roboto-LightItalic'),
       url('../fonts/roboto-v18-latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v18-latin-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'),
       url('../fonts/roboto-v18-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v18-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: local('Roboto Italic'), local('Roboto-Italic'),
       url('../fonts/roboto-v18-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v18-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local('Roboto Bold'), local('Roboto-Bold'),
       url('../fonts/roboto-v18-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v18-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'),
       url('../fonts/roboto-v18-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/roboto-v18-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

body { margin: 0; font-family: 'Roboto', sans-serif; font-size: 15px; ackground: url(../gfx/bg.jpg) center top no-repeat; background-attachment: fixed; overflow-x: hidden; }

h1 { font-weight: 300; margin: 0.3rem 0; }
h2 { font-weight: 300; margin: 0.3rem 0; }
/*h2 { font-weight: bold; margin: 0.3rem 0; }*/
h3 { font-weight: 300; margin: 0.3rem 0; }

p { margin: 0.85rem 0; }


address { font-style: normal; }

button { border: 1px solid #000; background: #fff; outline: 0; font-size: 1.25rem; font-weight: 300; }
button:hover, button:active {  background: #000;  color: #fff; cursor: pointer; }

label { font-weight: 300; color: #999; }
input[type="text"], input[type="email"], textarea { padding: 8px; font-size: 1rem; font-family: 'Roboto', sans-serif; border: 1px solid rgba(0,0,0,0.3);  }
input[type="text"]:focus, textarea:focus { border: 1px solid rgba(0,0,0,1); outline: 0;  }
select { padding: 8px; font-size: 1rem; font-family: 'Roboto', sans-serif; border: 1px solid rgba(0,0,0,0.3);  }

a:link { color: #000; }
a:visited { color: #000; }
a:hover { color: #999; }

.content { position: relative; }
.container { width: 960px; margin: 0 auto; position: relative; }
.container:first-child { margin-top: 100px; }
.center { text-align: center; }
.leading { font-weight: bold; }
.small { font-size: 0.75em; }

.btn-round { border-radius: 50%; width: 36px; height: 36px; line-height: 34px; font-size: 1.33rem; transition: all 0.2s; }

.header, .popup-header  { position: fixed; top: 0; left: 0; width: 100%; height: 70px; z-index: 300; background: rgba(255,255,255,1); box-shadow: 0px 1px 5px rgba(0,0,0,0.0); border-bottom: 1px solid rgba(0,0,0,0.15);}
.popup-header  { z-index: 1500; background: rgba(255,255,255,1); }
.logo { background: url(../gfx/koordinauten-logo.png) no-repeat left center; background-size: contain; width: 256px; height: 64px; width: 192px; height: 48px; float: left; margin-left: 15px; margin-top: 11px; }
.logo.anim { background: transparent;  }
nav { float: right;  margin-right: 40px; transition: height 0.6s; }
nav a { margin: 0px 20px; display: inline-block; font-size: 0.75rem; text-align: center; line-height: 70px; text-transform: uppercase; letter-spacing: 0.15em; }
nav a, nav a:visited { color: #000; text-decoration: none; }
nav a.active  { background: url(../gfx/nav_marker_active.png) no-repeat top center;  }
nav a:hover, nav a:active  { color: #000; background: url(../gfx/nav_marker_hover.png) no-repeat top center; }
.btn-nav { background: url(../gfx/btn-nav.png) no-repeat center center; position: absolute; right: 10px; top: 10px; height: 50px; width: 50px; display: none; }
.nav-modal { width: 100%; height: 0; opacity: 0; position: fixed; left: 0; top: 71px; z-index: 200; background: rgba(0,0,0,0.3); transition: opacity 0.6s; }
.nav-modal.open { height: 100vh; opacity: 1; }

.hero { width: 100%; height: 101vh; position: relative; background: #fff; display: flex; display: -webkit-flex; align-items:center;  -webkit-align-items: center; justify-content: center; -webkit-justify-content: center; font-size: 1.5em; font-weight: 300; }
.hero-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center center;  }
.intro-video-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; opacity: 0.0; transition: opacity 1s;background: url(../gfx/intro_06.jpg) no-repeat right center; background-size: cover;  }
.intro-video  { position: absolute; top: 0; left: 0; min-width: 100%;  min-height: 100%; opacity: 0; transition: all 0.4s; }
.intro-video-web  { opacity: 1; }
.intro-label { font-size: 4rem;  }
.hero-caption { z-index: 100; max-width: 50%; line-height: 1.5; transition: all 0.2s; }
.hero-caption p { font-size: 0.8em; }
.hero-caption h2 {font-weight: bold; border-bottom: 2px solid #000; }
/* .hero-caption a { display: inline-block; padding: 5px 10px; background: #000; color: #fff; text-decoration: none; font-size: 0.75em; text-transform: uppercase; letter-spacing: 0.05rem; } */
.hero-caption a.hero-caption-link-web { display: inline-block; padding: 5px 10px; background: #000; color: #fff; text-decoration: none; font-size: 0.75em; text-transform: uppercase; letter-spacing: 0.05rem; } 
.hero-caption a.hero-caption-link-appstore { display: inline-block; width: 120px; height: 30px; margin-right: 15px; background: url(../gfx/app_store_de.png) no-repeat; background-size: contain; }
.hero-caption a.hero-caption-link-playstore { display: inline-block; width: 120px; height: 30px; margin-right: 15px; background: url(../gfx/play_store_de.png) no-repeat; background-size: contain; }
.hero-caption.botright { position: absolute; bottom: 50px; right: 50px; width: 600px; }
.hero.white-text { color: #fff; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);}
.hero.white-text .hero-caption a { background: #fff; color: #000; text-shadow: none; }
.hero-bottom { position: absolute; bottom: 0; left: 0; width: 100%; height: 15px;  }
.hero-nav { position: fixed; z-index: 10; top: 40%; left: 0; width: 120px; height: 80px; text-align: center; }
.hero-nav button { background: #fff; color: #000; }
.hero-nav button:hover {  }
.hero-nav .btn-back { position: absolute;top: 0; left: -37px; border: 0; width: 75px; height: 86px; background: url(../gfx/gallery_btn_back.png) no-repeat left center; background-size: contain; transition: all 0.2s; }
.hero-nav:hover .btn-back {  }

.hex-article  { display: flex; display: -webkit-flex; align-items: center; -webkit-align-items: center; margin: 40px 0px; flex-wrap: wrap; -webkit-flex-wrap: wrap; }
.hex-article-image-outer  { background: url(../gfx/hex_circle_240.png) no-repeat center center; background-size: contain; width: 280px; height: 280px; }
.hex-article-text  { width: calc( 100% - 320px ); margin-left: 40px; max-width: 500px; transition: all 0.3s; }
.hex-article-image { width: 100%; height: 100%; background-size: 80%; background-position: center center; background-repeat: no-repeat; transition: all 0.3s; }

.article { display: flex; display: -webkit-flex; align-items: center; -webkit-align-items: center; flex-wrap: wrap; -webkit-flex-wrap: wrap; }
.article:nth-child(2) { margin-top: 120px; }
.article-image { width: 460px; height: 460px; background-size: contain; background-repeat: no-repeat; background-position: center center; margin: 10px; }
.article-text { width: 460px;  }
.article.image-right .article-text { order: 1; text-align: right; }
.article.image-right .article-image { order: 2; }
.article li { margin-bottom: 0.5rem; }

.article-raw { display: block; }

.article.article-techdesign  {margin-top: 0px; }
.article-techdesign  { align-items: flex-start; padding-top: 90px; margin-bottom: 0px; }
.article-techdesign-anim-container  { width: 50%; height: 1050px; background: rgba(0,0,0,0.0); position: relative; }
.article-techdesign-text-container  { width: 50%;  background: rgba(0,60,0,0.0); }
.article-techdesign-block  { margin-top: 0px; height: 350px; line-height: 1.5; font-weight: 300; }
.article-techdesign h1 { font-size: 1.6rem; border-bottom: 2px solid #000; padding-bottom: 3px; margin: 0; font-weight: bold; line-height: 1.1; }
.article-techdesign h2, .awards h2 { font-size: 1.6rem; border-bottom: 2px solid #000; padding-bottom: 3px; margin: 0; font-weight: bold; line-height: 1.1; }
.article-techdesign ul { list-style-type: none; padding-left: 0px; border-left: 0px solid #ccc; margin-left: 0%;}
.article-techdesign-intro {  }
.article-techdesign-tech {  }
.article-techdesign-design { }
.article-techdesign-anim-icon-container  { width: 120px; height: 120px; border: 1px solid rgba(0,0,0,0.2); border-radius: 50%; position: absolute; left: calc(50% - 60px); transition: all 0.3s; background-color: #fff; background-position: center; background-repeat: no-repeat; }
.article-techdesign-anim-icon-container.active  { width: 140px; height: 140px; left: calc(50% - 70px);  border: 2px solid rgba(0,0,0,1); }
.article-techdesign-anim-icon-1  { top: 100px; background-image: url(../gfx/icon-logo.png); background-size: contain;}
.article-techdesign-anim-icon-1.active { top: 90px; }
.article-techdesign-anim-icon-2  { top: 440px; background-image: url(../gfx/icon-tech.png); background-size: contain;}
.article-techdesign-anim-icon-2.active  { top: 430px; }
.article-techdesign-anim-icon-3  { top: 770px; background-image: url(../gfx/icon-design.png); background-size: contain; }
.article-techdesign-anim-icon-3.active  { top: 760px; }
.article-techdesign-anim-line  { position: absolute; width: 1px; background: rgba(0,0,0,0.2); height: 220px; left: 50%; }
.article-techdesign-anim-line-1  { top: 220px; }
.article-techdesign-anim-line-2  { top: 560px; height: 210px; }

.awards { margin-bottom: 140px; padding: 1px; }
.awards h1 {margin-bottom: 15px;  }
.award-row{ margin-top:15px; }
.award { display: inline-block; height: 60px; width: 11%; margin-right: 3%; background-size: contain; background-position: center; background-repeat: no-repeat;  }
.award:last-child { margin-right: 0%;  }
.award-adc { background-image: url(../gfx/award-adc.png); }
.award-eeofe { background-image: url(../gfx/award-eyes-and-ears-europe.png); }
.award-fwa { background-image: url(../gfx/award-fwa.png); }
.award-if { background-image: url(../gfx/award-if-communication-design.png); }
.award-promax { background-image: url(../gfx/award-promax-bda.png); }
.award-webby { background-image: url(../gfx/award-webby.png); }
.award-cannes-shortlist { background-image: url(../gfx/award-cannes-lion-shortlist.png); }

.nav-scroll-container { position: fixed; right: 0; top: 200px; z-index: 100; }
.nav-scroll-container ul { list-style: none; }
.nav-scroll-container li { font-weight: 300; margin: 10px 0px; padding-right: 15px; height: 30px; line-height: 30px; }
.nav-scroll-container li.active { font-weight: normal; background: url(../gfx/scroll_nav_marker.png) no-repeat center right;}
.nav-scroll-container li a { text-decoration: none; }

/*.hex-grid { background: url(../gfx/hex_grid.png) repeat-y 0px -25px; min-height: 100vh; position: relative; padding: 1px; }*/
.hex-grid { position: relative;  margin-top: 40px; min-height: 100vh;  }

/*.hex-grid h2{ height: 0; position: absolute; left: -90px; top: 80px; text-align: right; font-size: 3rem; font-weight: 100; color: #ccc; }*/

.hex-grid-item { cursor: pointer; position: relative; width: 218px; height: 288px; margin-right: 26px; margin-bottom: 20px; }
.hex-grid-item:nth-child(4), .hex-grid-item:nth-child(8) { margin-right: 0px;}
/*.hex-grid-item-text { padding: 2px 9px; border-radius: 15px; border: 1px solid rgba(0,0,0,0.2); transition: all 0.2s; } */
.hex-grid-item  a { color: #000; text-decoration: none; }
.hex-grid-chapter { width: 100%; margin-bottom: 20px; }
.hex-grid-set { display: flex; display: -webkit-flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; justify-content: flex-start; -webkit-justify-content: flex-start; }
/*.hex-grid-chapter h2 { font-size: 2.5rem; width: 100%; text-align: center; color: #fff; line-height: 250px; position: absolute; top: -4px; left: 0px; z-index: 10; background-image: url(../gfx/references_web_bg.png); background-repeat: no-repeat; background-position: center; background-size: 250px 250px; }*/
.hex-grid-chapter h2 { font-size: 1.6rem; width: 100%; border-bottom: 2px solid #000; }
.hex-grid-chapter-svg { fill: rgba(20,90,180,0.25); position: absolute; top: -4px; left: -18px; z-index: 1; display: none;  }
.hex-grid-chapter-1 .hex-grid-chapter-svg { fill: rgba(190,60,90,0.25);  }
.hex-grid-chapter-2 .hex-grid-chapter-svg { fill: rgba(90,160,90,0.25);  }


.hex-grid-item-image { display: block; width: 252px; height: 252px; background-size: 100%; position: absolute; left: -17px; background-position: center center; background-repeat: no-repeat; transition: all 0.15s; transform: scale(0.66); -webkit-transform: scale(0.66); }
.hex-grid-item:hover .hex-grid-item-image { }
.hex-grid-item-svg { position: absolute; top: -4px; left: -20px; stroke-width: 1px; transition: all 0.2s; opacity: 0.25; fill: transparent; transform: scale(0.76); -webkit-transform: scale(0.76); }
.hex-grid-item:hover .hex-grid-item-svg { stroke-width: 8px; opacity: 0.75; }
.hex-grid-item.active .hex-grid-item-svg { opacity: 0.6; fill: #555;  }
/* .hex-grid-item-text { width: 100%;transition: all 0.15s; text-align: center; position: absolute; top: 50%; left: 0; opacity: 0; color: #fff; font-size: 1.2em; } */
.hex-grid-item-text { width: 100%; transition: all 0.25s; text-align: center; position: absolute; top: 85%; left: 0;  font-size: 1.0em; letter-spacing: 0.075em; }
/*.hex-grid-item:hover .hex-grid-item-text {  opacity: 1; top: 60%; } */
.hex-grid-item:hover .hex-grid-item-text { letter-spacing: 0.15em;  }


/* 2020 */
/* PROJECTS */

.projects-hex-grid { background: url(../gfx/projects_hex_grid.png) repeat-y; background-size: 960px 862px; background-position: -17px 94px; width: 960px; position: relative; padding-bottom: 60px; margin: 0 auto; margin-bottom: 80px;  }
.projects-hex-grid-inner { width: 960px; display: flex; flex-wrap: wrap; }
.projects-hex-grid-fader { width: 100%; height: 50px; background: linear-gradient(rgba(255,255,255,1), rgba(255,255,255,0)); position: absolute; top: 0; left: 0; }
.projects-hex-grid-fader.fader-end {position: absolute; top: auto; bottom: 0; left: 0; background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1));}
.projects-hex-grid-item { cursor: pointer; position: relative; width: 240px; height: 287.1px; margin-left: -5px; margin-right: 96px; margin-top: 0px; display: block; } 

.projects-hex-grid-item:nth-child(3) { margin-right: 0px; }
.projects-hex-grid-item:nth-child(4) { margin-left: 160px; }
.projects-hex-grid-item:nth-child(8) { margin-right: 0px; }
.projects-hex-grid-item:nth-child(9) { margin-left: 160px; }
.projects-hex-grid-item:nth-child(13) { margin-right: 0px; }
.projects-hex-grid-item:nth-child(14) { margin-left: 160px; }

.projects-hex-grid-item a { color: #000; text-decoration: none; }
.projects-hex-grid-item-image { display: block; width: 252px; height: 252px; background-size: 100%; position: absolute; top: 16px; left: -16px; background-position: center center; background-repeat: no-repeat; transition: all 0.15s; transform: scale(0.7); }
.projects-hex-grid-item-text { width: 100%; transition: all 0.25s; text-align: center; position: absolute; top: 256px; left: -50px; width: 320px; height: 20px; line-height: 20px; font-size: 1.0em; letter-spacing: 0.075em; display: flex; justify-content: center;}
.projects-hex-grid-item-text span { background: #fff; }
.projects-hex-grid-item-type { position: absolute; top: 238px; left: 114px; font-size: 0.75em; letter-spacing: 0.075em; transform: rotate(-30deg) skew(-30deg) scale(1, 0.8); opacity: 0.6; text-transform: uppercase; transform-origin: top left; color: #000; }
.projects-hex-grid-item-svg { position: absolute; top: 12px; left: -20px; stroke-width: 1px; transition: all 0.2s; opacity: 1; fill: transparent; transform: scale(0.76); -webkit-transform: scale(0.76); }
.projects-hex-grid-item:hover .projects-hex-grid-item-svg { stroke-width: 4px; opacity: 1; }
.projects-hex-grid-item.active .projects-hex-grid-item-svg { opacity: 0.6; fill: #555;  }
.projects-hex-grid-item:hover .projects-hex-grid-item-text { letter-spacing: 0.12em; color: #000; }

.projects-gallery  { overflow: auto; }
.projects-hex-gallery-item  { margin: 10px; float: left; width: 30%; cursor: pointer; }
.projects-hex-gallery-item-text  { font-size: 0.85em; text-align: left; line-height: 1.6; min-height: 150px; }
.projects-hex-gallery-item-image-outer { width: 282px; height: 282px; position: relative; transition: all 0.6s;  }
.projects-hex-gallery-item-image { position: absolute; left: 0px; width: 282px; height: 282px; background-size: 250px 250px; background-position: center center; background-repeat: no-repeat; }
.projects-hex-gallery-item-image-ghost {  position: absolute; left: 0px; width: 282px; height: 282px; background-size: 280px 280px; background-position: center center; background-repeat: no-repeat; opacity: 0.15; }
.projects-hex-gallery-item-plus {  position: absolute; left: 100px; top: 100px; width: 82px; height: 82px; border-radius: 50%; text-align: center; font-size: 4rem; color: #fff; line-height: 80px; border: 2px solid #fff; background: rgba(0,0,0,0.2); opacity: 0; }
.projects-hex-gallery-item:hover .hex-gallery-item-plus {  opacity: 1; }
.projects-hex-gallery-item-svg { position: absolute; top: 20px; left: 20px; display: none; }

/* END PROJECTS */

.gallery  { overflow: auto; }
.hex-gallery-item  { margin: 10px; float: left; width: 30%; cursor: pointer; }
.hex-gallery-item-text  { font-size: 0.85em; text-align: left; line-height: 1.6; min-height: 150px; }
.hex-gallery-item-image-outer { width: 282px; height: 282px; position: relative; transition: all 0.6s;  }
.hex-gallery-item-image { position: absolute; left: 0px; width: 282px; height: 282px; background-size: 250px 250px; background-position: center center; background-repeat: no-repeat; }
.hex-gallery-item-image-ghost {  position: absolute; left: 0px; width: 282px; height: 282px; background-size: 280px 280px; background-position: center center; background-repeat: no-repeat; opacity: 0.15; }
.hex-gallery-item-plus {  position: absolute; left: 100px; top: 100px; width: 82px; height: 82px; border-radius: 50%; text-align: center; font-size: 4rem; color: #fff; line-height: 80px; border: 2px solid #fff; background: rgba(0,0,0,0.2); opacity: 0; }
.hex-gallery-item:hover .hex-gallery-item-plus {  opacity: 1; }
.hex-gallery-item-svg { position: absolute; top: 20px; left: 20px; display: none; }

.popup-modal {  z-index: 1000; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; display: none;  }
.popup-modal video { width: 90%; margin: 85px auto; max-width: 1400px; }
.popup-modal-inner {  background: rgba(240,240,240,0.9); position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; }
.popup-modal-inner img { max-width: 90%; max-height: calc( 100% - 90px ); box-shadow: 2px 2px 12px rgba(0,0,0,0.3); margin-top: 80px; }
.btn-popup-close { border: 1px solid #fff; background: url(../gfx/btn_popup_close.png) no-repeat center center;  height: 50px; width: 50px; color: #fff; position: absolute; top: 10px; right: 10px; opacity: 0.7; transition: all 0.5s; cursor: pointer; }
.btn-popup-close:hover { opacity: 1; }

.contact { margin-top: 80px; display: flex; display: -webkit-flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; justify-content: center; webkit-justify-content: center;  }
.contact  h1{ width: 100%; margin-bottom: 40px; }
.contact-address { width: 50%; }
.contact-form { width: 50%; }
.contact-form  label{ width: 20%; margin-left: calc( -20% - 10px); display: inline-block; text-align: right; margin-right: 5px; margin-top: 8px; vertical-align: top; }
.contact-form-line  { margin: 0px 0px 20px 0px; }
.contact-form input[type="text"], .contact-form input[type="email"]  { width: 240px; }
.contact-form textarea  { width: 432px; height: 140px; background: #fff; }
.contact-form select { width: 258px; }
.contact-form input[type="submit"]  { position: absolute; left: 28px; top: 26px; border: 1px solid #000; background: #fff; outline: 0; font-size: 0.8rem; text-transform: uppercase; font-weight: 300; border-radius: 50%; width: 56px; height: 56px; line-height: 54px; cursor: pointer; transition: all 0.2s; }
.contact-form input[type="submit"]:hover  { background: #000; color: #fff; }
.contact-form-end { background: url(../gfx/hex_outline.png) no-repeat center center; background-size: contain; width: 110px; height: 110px; margin-left: -56px; margin-top: 0px; position: relative; z-index: 2;}

.contact-response { margin-top: 120px; }
.contact-response-featured { margin-top: 80px; }
.contact-response-featured .hex-grid-item { margin-top: 20px; margin-left: 380px; }
.contact-response-featured .hex-grid-item-image { background-size: contain; }

footer {}
footer .container { font-size: 0.8rem; display: flex; display: -webkit-flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; border-top: 1px solid #000; margin-top: 40px;  margin-bottom: 40px; padding: 20px 0px; }
footer .logo { float: none; margin: 0; }
.footer-copy{ font-style: oblique; padding-left: 45px; margin-top: -12px; }
.footer-section{ width: 30%; margin-right: 5%; }
.footer-section:last-child { margin-right: 0; }
footer address { background: url(../gfx/location.png) no-repeat left top; padding-left: 40px; }
.footer-phone { height: 50px; line-height: 50px; background: url(../gfx/phone.png) no-repeat left center; padding-left: 40px; }
.footer-mail { height: 50px; line-height: 50px; background: url(../gfx/mail.png) no-repeat left center; padding-left: 40px; }
.footer-link { height: 55px; line-height: 55px; border-bottom: 1px solid #ccc; background: url(../gfx/moar_arrow.png) no-repeat left center; padding-left: 40px; }
.footer-link:first-child { margin-top: -18px; }
footer a { text-decoration: none; }
footer a:hover { color: #000; }
.footer-link:hover { background: url(../gfx/moar_arrow_a.png) no-repeat left center;}
.footer-link:last-child { border-bottom: 0px solid #ccc; }

.background-anim-container { position: absolute; top: 60vh; right: 0; width: 1000px; height: 1000px; perspective: 800px;  }
.background-anim-hexagon  { width: 900px; height: 900px;  stroke: rgba(0,0,0,0.25); stroke-width: 1px; fill: none; transform: rotateX(70deg) rotateY(10deg);  }
.background-anim-hexagon polygon  {  }

.anim-rotate { 
	animation-name: animrotation; animation-duration: 42s; animation-timing-function: linear; animation-iteration-count: infinite;
	-webkit-animation-name: animrotation; -webkit-animation-duration: 42s; -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite;
 }

/* cookie consent*/
.cc-revoke, .cc-window { font-family: 'Roboto', sans-serif; }
.cc-banner { box-shadow: 0px -1px 3px rgba(0,0,0,0.25); }
.cc-btn { border-radius: 3px; text-transform: uppercase; letter-spacing: 0.1em; }


/* ANIM */
@-webkit-keyframes animrotation {
    from { transform: rotateX(70deg) rotateY(10deg) rotateZ(0deg); }
    to { transform: rotateX(70deg) rotateY(10deg) rotateZ(360deg); }
}
@keyframes animrotation {
    from { transform: rotateX(70deg) rotateY(10deg) rotateZ(0deg); }
    to { transform: rotateX(70deg) rotateY(10deg) rotateZ(360deg); }
}

@media all and ( max-width: 980px ) {
	.container { width: 95%; }
	.footer-section{ width: 100%; margin-bottom: 40px; padding: 0px 10px 20px 10px; border-bottom: 1px solid #ccc; }
	
	.hex-grid-item:nth-child(4) { margin-right: 26px; }
	
}

@media all and ( max-width: 768px ) {
	
	/*
	.hex-grid-item:nth-child(3n+2) {margin-left: 96px; }
	.hex-grid-item-text {margin-left: -96px; background: rgba(255,255,255,0.9); }
	*/
	
	
	
	nav { float: none; position: fixed; top: 71px; left: -10px; height: 0px; overflow: hidden; width: calc(100% + 20px); box-shadow: 0px 3px 6px rgba(0,0,0,0.4); background: #fff; }
	nav.open { height: 285px; overflow: hidden; }
	nav a { margin: 0px; display: block; text-align: center; line-height: 70px; text-transform: uppercase; letter-spacing: 0.15em; background: #fff; border-bottom: 1px solid #f2f2f2; }
	nav a:hover, nav a:active  { background: #fff; }
	.btn-nav { display: block; }
	
	.nav-scroll-container { top: 40px; font-size: 0.75rem; }
	
	.hex-grid-item:nth-child(5) { margin-left: 0px; }
	
	.hex-gallery-item  { float: none; width: 90%; margin: 0 5%;  }
	.hex-gallery-item-image-outer {  margin: 0 auto; }
	
	.article-text { margin: 10px 40px; }
	.contact-form textarea  { width: 332px; }
	.contact-form input[type="submit"]  { position: absolute; left: calc( 50% - 28px ); }

	
}

@media all and ( max-width: 420px ) {
	
	.hero { font-size: 1em; }	
	.hero-caption, .hero-caption.botright { padding: 0px 10px; max-width: 100%; width: calc(100% - 20px); height: 50%; position: absolute; z-index: 100; bottom: 0px; left: 0px;  }
	.rex-article-5 .hero-caption { padding: 0px 20px; max-width: 100%; position: relative; background: transparent; height: auto; }
	.hero-image  { height: 50%; }
	.hero br { display: none; }	
	
	.intro-video-container  { background: url(../gfx/intro_06.jpg) no-repeat right center; background-size: cover; height: 100%; }
	.intro-video-container video { display: none; background: url(../gfx/intro_06.jpg) no-repeat center center; background-size: cover; }
	
	
		
	.hex-article  { justify-content: center; }
	.hex-article-image-outer { width: 220px;  }
	.hex-article-text { width: 100%; font-size: 0.9em;  }
	
	.article { margin-top: 40px; border-bottom: 0px solid #ccc; }
	.article-image { width: 100%; height: 280px; background-size: contain; background-repeat: no-repeat; background-position: center center; margin: 10px; }
	.article-text { width: 100%; font-size: 0.9em; margin: 0px 40px 20px 40px;  }
	.article.image-right .article-text { order: 2; text-align: left; }
	.article.image-right .article-image { order: 1;   }
		
	.article-techdesign-anim-container  { display: none; }
	.article-techdesign-text-container  { width: 90%; margin-left: 5%;  }
	.article-techdesign-block  {height: auto; margin-bottom: 60px;  }
	.article-techdesign-tech { width: 100%; }
	.article-techdesign-design { width: 100%; }
		
	/*.award { width: 25%; height: 0; padding-bottom: 10%; margin-left: 4%; margin-right: 4%; background-size: contain; }*/
	.award { width: 20%; background-size: contain; }
	.awards { margin-bottom: 10px; padding: 1px; }

	.hex-grid {width: 95%; }	
	.hex-grid-item { width: 100px; height: 125px; margin-left: 20px; margin-right: 20px; }
	.hex-grid-item:nth-child(4), .hex-grid-item:nth-child(5) { margin-left: 20px; }
	.hex-grid-item-image{ width: 116px; height: 116px; left: -8px; top: 2px; transform: scale(0.6); }
	.hex-grid-item-text{ font-size: 0.65rem;  }
	.hex-grid-item-svg { transform: scale(0.34); -webkit-transform: scale(0.34); left: -80px; top: -70px; opacity: 0.7; }
	.hex-grid-chapter h2 { font-size: 1.5rem; }

	.projects-hex-grid { width: 100%; background-position: -45px -30px; overflow-x: hidden; background: none; display: flex; flex-direction: column; align-items: center; } 
	.projects-hex-grid-inner { width: 420px; background: url(../gfx/projects_hex_grid.png) repeat-y; background-size: 960px 862px; background-position: -78px 114px; } 
	.projects-hex-grid-item { cursor: pointer; position: relative; width: 220px; height: 247.25px; margin: 20px auto; display: block; } 
	.projects-hex-grid-item:nth-child(3) { margin: 20px auto; }
	.projects-hex-grid-item:nth-child(4) { margin: 20px auto; }
	.projects-hex-grid-item:nth-child(8) { margin: 20px auto; }
	.projects-hex-grid-item:nth-child(9) { margin: 20px auto; }
	.projects-hex-grid-item:nth-child(13) { margin: 20px auto; }
	.projects-hex-grid-item:nth-child(14) { margin: 20px auto; }
	.projects-hex-grid-item-type { left: 112px; top: 238px; }

	/*
	.hex-grid-item:nth-child(1) { margin-left: 50px; }
	.hex-grid-item:nth-child(4) { margin-left: 0px; }
	.hex-grid-item:nth-child(5) { margin-left: 50px; }
	.hex-grid-item:nth-child(7) { margin-left: 100px; }
	*/
	
	.hero-nav { top: 140px; }	
	.hex-gallery-item-text  { width: 100%; font-size: 0.7em; margin: 0px 10px; text-align: center; min-height: 50px; }
	.hex-gallery-item-image-outer { width: 141px; height: 141px; margin: 0 auto; }
	.hex-gallery-item-image { width: 141px; height: 141px; background-size: 125px 125px; }
	.hex-gallery-item-image-ghost { width: 141px; height: 141px; background-size: 140px 140px; }
	.popup-image img { width: 100%; }

	.hero.white-text { color: #000; text-shadow: none;}
	.hero.white-text .hero-caption a { background: #000; color: #fff; text-shadow: none; }
	
	.contact-form { display: none; } 
	
	/*
	.hex-grid  { background-size: 480px 574px; }
	.hex-grid h2  { font-size: 1.5rem; margin-left: 45px; margin-top: -32px; }
	.hex-grid-item-image  { font-size: 0.7rem; width: 126px; height: 126px;  }
	.hex-grid-item-text  { font-size: 0.6rem; padding: 0px 4px; }
	.hex-grid-item:nth-child(3n) { margin-top: -32px; margin-left: 103px; }
	.hex-grid-item:nth-child(3n+1) { margin-top: 162px; margin-left: 48px; }
	.hex-grid-item:nth-child(3n+2) { margin-top: 65.5px; margin-left: 157px; }
	.hex-grid-item:first-child { margin-top: 69px; margin-left: 47px; }
	*/





}