/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, img, form, label, input { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } div, span, h1, h2, h3, h4, h5, h6, p, a, img, form, label, input, header, nav, main, article, section { box-sizing: border-box; } body { line-height: 1; font-family: Tahoma, sans-serif; display: flex; flex-direction: column; min-height: 100vh; color: black; background: white; } #container { flex-grow: 2; display: flex; flex-direction: column; } header { background: #444; position: relative; text-shadow: 0 0 10px black; .container { position: relative; bottom: 0%; left: 0%; height: 100%; width: 100%; overflow: hidden; background: #000; min-height: 485px; video { width: 100%; position: absolute; z-index: 1; bottom: 0; } img { width: 100%; bottom: 0; position: absolute; z-index: 0; min-height: 485px; } } nav { display: flex; z-index: 6; position: absolute; align-items: center; top: 0%; left: 0%; width: 100%; padding: 10px; .filler { flex: 2 1 auto; } .title { margin: 0 20px 0 50px; height: 70px; display: flex; align-items: center; padding-left: 90px; background-repeat: no-repeat; background-color: transparent; background-image: url('data:image/svg+xml;utf8,') // background: url('./assets/logo_only.svg') no-repeat transparent; background-position: left center; background-size: auto 70px; font-size: 1.6em; color: white; opacity: 0.6; } a { font-size: 1.2em; color: white; text-shadow: 0 0 20px black; padding: 10px 20px; text-decoration: none; opacity: 0.6; transition: opacity 0.5s; position: relative; & div { position: absolute; bottom: 0; left: 20px; right: 20px; border-bottom: 2px solid white; transition: transform 0.3s; transform: scaleX(0); } &:hover { opacity: 1; & div { transition: transform 0.7s; transform: scaleX(1); } } &.active { opacity: 1; & div { transform: scaleX(1); } } } } .content { display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 5; position: absolute; top: 0px; left: 0%; height: 100%; width: 100%; min-height: 485px; color: white; text-transform: uppercase; h1 { padding-left: 15px; padding-right: 15px; text-align: center; font-size: 4.6vw; font-weight: bold; padding: 10px; transition: opacity 1s, transform 1s; opacity: 0; transform: translateY(30px); margin-bottom: 10px; } h2 { padding-left: 15px; padding-right: 15px; text-align: center; font-size: 3vw; transition: opacity 1.2s, transform 1.2s; opacity: 0; transform: translateY(50px); } } &.visible { h1, h2 { opacity: 1; transform: translateY(0px); } } } main { display: flex; flex-direction: column; flex-grow: 2; color: #333; } article { display: flex; padding: 0 50px; flex-direction: column; min-height: 82vh; height: 600px; overflow: hidden; h3 { font-size: 2em; padding: 10px 20px 40px; font-weight: bold; text-align: center; position: relative; align-self: center; } section { display: flex; flex: 2 1 auto; justify-content: center; aside { flex: 0 1 50%; max-width: 600px; display: flex; flex-direction: column; justify-content: center; .item { display: flex; flex-direction: column; } p { font-size: 1.2em; line-height: 1.4em; margin-bottom: 50px; } h5 { text-align: center; margin: 20px 10px; font-size: 1.2em; line-height: 1.4em; font-weight: bold; border-bottom: 2px solid #29688c; padding: 10px 50px; align-self: center; } a { text-decoration: none; border: 2px solid #29688c; align-self: center; border-radius: 10px; padding: 10px 30px 12px; color: #29688c; font-weight: bold; font-size: 1.1em; } p, h5, a, h3 { transition: opacity 1.2s, transform 1.2s; opacity: 0; transform: translate(0px, 50px); } } .image { flex: 0 1 50%; max-width: 600px; background-position: center; background-size: 90% auto; background-repeat: no-repeat; transition: opacity 1.2s, transform 1.2s; opacity: 0; transform: translate(50%, 0px); } } .visible p, .visible a, .visible .image, .visible h5, .visible h3, .visible.image { opacity: 1; transform: translate(0px, 0px); } } footer { background: #29688c; padding: 100px; .outerbox { display: flex; flex-direction: column; min-height: 50vh; background: white; box-shadow: 0 0 10px #020024; } .innerbox { padding: 50px; display: flex; justify-content: center; height: 500px; aside { flex: 0 1 50%; max-width: 600px; display: flex; flex-direction: column; justify-content: center; h3 { font-size: 2em; padding: 10px 20px 40px; font-weight: bold; text-align: center; position: relative; align-self: center; } p { font-size: 1.2em; line-height: 1.4em; margin-bottom: 50px; } h5 { text-align: center; margin: 20px 10px; font-size: 1.2em; line-height: 1.4em; font-weight: bold; border-bottom: 2px solid #29688c; padding: 10px 50px; align-self: center; } a { text-decoration: none; border: 2px solid #29688c; align-self: center; border-radius: 10px; padding: 10px 30px 12px; color: #29688c; font-weight: bold; font-size: 1.1em; } } .image { flex: 0 1 50%; max-width: 600px; background-position: center; background-size: 90% auto; background-repeat: no-repeat; transition: opacity 1.2s, transform 1.2s; opacity: 0; transform: translate(0px, 50%); &.visible { transform: translate(0px, 0px); opacity: 1; } } } .meta { display: flex; justify-content: center; flex-wrap: wrap; padding: 40px 0 10px; color: #777; line-height: 1.6em; span { margin: 0 10px; } a { color: #29688c; text-decoration: none; } } } @media only screen and (max-width: 1000px) { article { font-size: 0.9em; } footer { font-size: 0.9em; .innerbox { flex-direction: column; align-items: center; height: auto; aside h3 { padding: 30px 20px 20px; } .image { width: 100%; max-width: 600px; height: 300px; flex: 0 0 300px; background-size: contain; } } .meta { padding: 0px 0 30px; } } } @media only screen and (max-width: 800px) { header { .container nav { flex-wrap: wrap; justify-content: center; a.title { width 100%; flex: 2 0 100%; justify-content: center; background-position: calc(50% - 60px) center; padding-left: 100px; margin-left: 0; margin-right: 0; margin-bottom: 15px; } .filler { flex: 0 0 0; } } .content { h1 { font-size: 2.3em; } h2 { font-size: 1.5em; } } } article { height: auto !important; section { flex-direction: column; align-items: center; padding-top: 20px; padding-bottom: 20px; aside { order: 2; } .image { order: 1; width: 100%; background-size: contain; flex: 0 0 300px; transform: translate(0, 50%); } } } } @media only screen and (max-width: 680px) { footer { padding: 100px 20px; } } @media only screen and (max-width: 500px) { header .content { top: 60px; } article { padding-left: 10px; padding-right: 10px; font-size: 0.8em; } footer { padding: 100px 20px; font-size: 0.8em; .innerbox { padding: 50px 15px; } } } @require 'front/front' @require 'hosting/hosting' @require 'programming/programming' @require 'streaming/streaming'