@import 'mixins'; $primary: #00ADE6; $secondary: #05E3D5; $black: #041725; $black-20: #213746; $black-40: #5A666D; $white: #EDEDED; $white-40: #8D9BA3; $topbar-height: 64px; @import 'gallery'; @import '../node_modules/mapbox-gl/dist/mapbox-gl.css'; body { font-family: ff-clan-web-pro, "Helvetica Neue", Helvetica, sans-serif !important; font-size: 12px; margin: 0; padding: 0; line-height: 1.833; overflow-y: auto; height: 100%; } * { padding: 0; margin: 0; box-sizing: border-box; } a { outline: none; text-decoration: none; display: inline-block; cursor: pointer; } a, a:visited { color: $primary; } button, .btn { color: #aaa; text-align: center; background: $white; padding: 4px 8px; border: solid 1px #ccc; cursor: pointer; text-transform: uppercase; } header { white-space: nowrap; position: relative; z-index: 10001; position: fixed; top: 0; left: 0; width: 100%; transition: all 300ms; max-height: $topbar-height; line-height: $topbar-height; overflow: hidden; @include venderPrefix(user-select, none); .bg { position: absolute; z-index: -1; width: 100%; height: 100%; background: $black; } .logo { color: $white !important; float: left; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; } .menu-toggle { font-size: 24px; color: $white; float: right; cursor: pointer; display: none; } .links { float: right; a { line-height: 58px; color: $white-40; text-transform: uppercase; margin-left: 40px; border-style: solid; border-width: 3px 0 0 0; border-color: transparent; } a:hover { border-color: $white-40; } a.active { color: $white; border-color: $primary; @include linearGradientH(border-image, $primary, $secondary); border-image-slice: 2; } } } button:focus, input:focus { outline: none; } .container { padding: 0 24px; margin: 0 auto; max-width: 1280px; width: 100%; overflow: hidden; } .container.stretch { max-width: 100%; } .container.soft-left { padding-left: 72px; } hr { border: none; background: $white; height: 1px; } hr.short { display: inline-block; margin: 24px 0 0; width: 32px; height: 2px; @include linearGradientH(background, $primary, $secondary); } .fullheight { height: 100vh; max-height: 100%; } .flexbox--row { display: flex; flex-direction: row; height: 100%; .flexbox-item { position: relative; flex: 0 1 auto; height: 100%; } .flexbox-item--fill { flex: 1 1 auto; } } .layout { display: table; width: 100%; >* { display: table-cell !important; } .col-1-3 { width: 33.33%; } .col-1-2 { width: 50%; } } .top-left { position: absolute; left: 0; top: 0; } .top-right { position: absolute; right: 0; top: 0; } .text-center { text-align: center; } .text-right { text-align: right; } .bg-black { background: $black; color: $white; } .thumb { cursor: pointer; position: relative; width: 32%; display: inline-block; line-height: 0; img { transition: opacity 0.4s; } >div:before, >div:after { display: block; z-index: 1; position: absolute; transition: opacity 0.4s; opacity: 0; text-align: center; pointer-events: none; box-sizing: border-box; line-height: 1.5; } >div:before { content: attr(data-title); font-size: 1.4em; font-weight: 100; width: 100%; padding: 12%; left: 0; top: 50%; transform: translateY(-50%); } >div:after { font-size: 0.833em; content: attr(data-name); padding: 5%; left: 0; width: 80%; height: 80%; margin: 10%; top: 0; left: 0; border: solid 2px; @include linearGradientV(border-image, $primary, $secondary); border-image-slice: 2; box-sizing: border-box; } >div:hover img { opacity: 0.2; } >div:hover:before, >div:hover:after { opacity: 1; } } .mapbox-tip { position: absolute; right: 4px; bottom: 24px; color: $white-40; } @media screen and (max-width: 1200px) { .thumb { width: 49%; } } @media screen and (max-width: 800px) { .thumb { width: 100%; } } @media screen and (max-width: 576px) { .container { padding: 0 12px; } header { .menu-toggle { display: block; } .links { display: none; margin-right: 40px; a { display: block; line-height: $topbar-height; border-width: 0; border-style: none; } } } header.open { max-height: 192px; .bg { opacity: 1 !important; } .links { display: block; } } }