/* 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: #000; background: #fff; } #container { flex-grow: 2; display: flex; flex-direction: column; } header { background: #444; position: relative; text-shadow: 0 0 10px #000; } header .container { position: relative; bottom: 0%; left: 0%; height: 100%; width: 100%; overflow: hidden; background: #000; min-height: 485px; } header .container video { width: 100%; position: absolute; z-index: 1; bottom: 0; } header .container img { width: 100%; bottom: 0; position: absolute; z-index: 0; min-height: 485px; } header nav { display: flex; z-index: 6; position: absolute; align-items: center; top: 0%; left: 0%; width: 100%; padding: 10px; } header nav .filler { flex: 2 1 auto; } header nav .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-position: left center; background-size: auto 70px; font-size: 1.6em; color: #fff; opacity: 0.6; } header nav a { font-size: 1.2em; color: #fff; text-shadow: 0 0 20px #000; padding: 10px 20px; text-decoration: none; opacity: 0.6; transition: opacity 0.5s; position: relative; } header nav a div { position: absolute; bottom: 0; left: 20px; right: 20px; border-bottom: 2px solid #fff; transition: transform 0.3s; transform: scaleX(0); } header nav a:hover { opacity: 1; } header nav a:hover div { transition: transform 0.7s; transform: scaleX(1); } header nav a.active { opacity: 1; } header nav a.active div { transform: scaleX(1); } header .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: #fff; text-transform: uppercase; } header .content 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; } header .content 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); } header.visible h1, header.visible 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; } article h3 { font-size: 2em; padding: 10px 20px 40px; font-weight: bold; text-align: center; position: relative; align-self: center; } article section { display: flex; flex: 2 1 auto; justify-content: center; } article section aside { flex: 0 1 50%; max-width: 600px; display: flex; flex-direction: column; justify-content: center; } article section aside .item { display: flex; flex-direction: column; } article section aside p { font-size: 1.2em; line-height: 1.4em; margin-bottom: 50px; } article section aside 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; } article section aside 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; } article section aside p, article section aside h5, article section aside a, article section aside h3 { transition: opacity 1.2s, transform 1.2s; opacity: 0; transform: translate(0px, 50px); } article section .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); } article .visible p, article .visible a, article .visible .image, article .visible h5, article .visible h3, article .visible.image { opacity: 1; transform: translate(0px, 0px); } footer { background: #29688c; padding: 100px; } footer .outerbox { display: flex; flex-direction: column; min-height: 50vh; background: #fff; box-shadow: 0 0 10px #020024; } footer .innerbox { padding: 50px; display: flex; justify-content: center; height: 500px; } footer .innerbox aside { flex: 0 1 50%; max-width: 600px; display: flex; flex-direction: column; justify-content: center; } footer .innerbox aside h3 { font-size: 2em; padding: 10px 20px 40px; font-weight: bold; text-align: center; position: relative; align-self: center; } footer .innerbox aside p { font-size: 1.2em; line-height: 1.4em; margin-bottom: 50px; } footer .innerbox aside 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; } footer .innerbox aside 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; } footer .innerbox .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%); } footer .innerbox .image.visible { transform: translate(0px, 0px); opacity: 1; } footer .meta { display: flex; justify-content: center; flex-wrap: wrap; padding: 40px 0 10px; color: #777; line-height: 1.6em; } footer .meta span { margin: 0 10px; } footer .meta a { color: #29688c; text-decoration: none; } @media only screen and (max-width: 1000px) { article { font-size: 0.9em; } footer { font-size: 0.9em; } footer .innerbox { flex-direction: column; align-items: center; height: auto; } footer .innerbox aside h3 { padding: 30px 20px 20px; } footer .innerbox .image { width: 100%; max-width: 600px; height: 300px; flex: 0 0 300px; background-size: contain; } footer .meta { padding: 0px 0 30px; } } @media only screen and (max-width: 800px) { header .container nav { flex-wrap: wrap; justify-content: center; } header .container nav 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; } header .container nav .filler { flex: 0 0 0; } header .content h1 { font-size: 2.3em; } header .content h2 { font-size: 1.5em; } article { height: auto !important; } article section { flex-direction: column; align-items: center; padding-top: 20px; padding-bottom: 20px; } article section aside { order: 2; } article section .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; } footer .innerbox { padding: 50px 15px; } } article.solution { box-shadow: 0 5px 50px rgba(0,0,0,0.333); background: #e9e9e9; margin: 0 0 5vh; height: 800px; } article.solution h3 { font-size: 5vh; padding: 5vh 20px; font-weight: bold; text-align: center; position: relative; align-self: center; } article.solution h3 .left, article.solution h3 .right { position: absolute; top: 50%; margin-top: 0px; border-bottom: 2px solid #29688c; } article.solution h3 .left { right: 100%; left: -9999px; } article.solution h3 .right { left: 100%; right: -9999px; } article.hosting { height: 600px; } article.programming { background: #29688c; background: linear-gradient(150deg, #020024 15%, #29688c 100%); color: #fff; position: relative; min-height: auto; height: 70vw; max-height: 80vh; min-height: 600px; } article.programming aside { align-self: flex-start; position: relative; z-index: 2; margin-top: 5vh; flex: 1 1 auto; width: 90%; max-width: 1440px; } article.programming aside .item { width: 50%; min-width: 500px; text-align: left; } article.programming h3 { align-self: flex-start; padding: 10px 0 40px; } article.programming a { border-color: #fff; color: #fff; align-self: flex-start; } article.programming .image { position: absolute; right: 0; bottom: 0; width: 87%; height: 90%; max-width: none; background-position: right bottom; background-size: contain; } article.video { min-height: 70vh; } @media only screen and (max-width: 810px) { article.solution h3 { font-size: 2em; } } @media only screen and (max-width: 800px) { article.programming { max-height: none; min-height: auto; padding: 0 40px 300px; } article.programming aside { margin-top: 10px; width: 100%; } article.programming aside .item { width: 100%; min-width: auto; } article.programming h3 { align-self: center; } article.programming .image { width: 100%; height: 300px; max-width: none; background-position: right bottom; background-size: contain; transform: translate(50%, 0); } article.programming .visible.image { transform: translate(0px, 0px); } } header.hosting h1 { font-size: 4.3vw; margin-bottom: 10px; } header.hosting h2 { font-size: 2.5vw; } article.hostintro .image { transform: translate(-50%, 0px); } article.hostintro .visible.image { transform: translate(0px, 0px); } article.hoststorage { background: #29688c; background: linear-gradient(150deg, #020024 15%, #29688c 100%); color: #fff; position: relative; height: 80vh; min-height: 600px; } article.hoststorage section { justify-content: flex-end; } article.hoststorage aside { align-items: center; max-width: none; } article.hoststorage aside .item { width: 100%; max-width: 600px; text-align: left; } article.hoststorage h3 { align-self: flex-start; padding: 10px 0 40px; } article.hoststorage .image { position: absolute; left: 0; bottom: 0; width: 50%; height: 90%; max-width: none; background-position: left center; background-size: contain; transform: translate(-50%, 0px); } article.hoststorage .visible.image { transform: translate(0px, 0px); } article.hostmanaged { position: relative; height: 80vh; min-height: 600px; } article.hostmanaged section { justify-content: flex-end; } article.hostmanaged aside { align-items: center; max-width: none; } article.hostmanaged aside .item { padding-left: 20px; width: 100%; max-width: 600px; text-align: left; } article.hostmanaged h3 { align-self: flex-start; padding: 10px 0 40px; } article.hostmanaged .image { position: absolute; left: 0; bottom: 0; width: 50%; height: 90%; max-width: none; background-position: left center; background-size: contain; transform: translate(-50%, 0px); } article.hostmanaged .visible.image { transform: translate(0px, 0px); } @media only screen and (max-width: 800px) { header.hosting h1 { font-size: 2.3em; } header.hosting h2 { font-size: 1.5em; } article.hostintro h3 { padding: 30px 0 30px; } article.hostintro .image { transform: translate(0, 50%); } article.hostintro .visible.image { transform: translate(0px, 0px); } article.hoststorage { min-height: auto; padding: 0; } article.hoststorage section { justify-content: flex-start; padding-bottom: 0; } article.hoststorage aside { order: 1; padding: 0 50px; } article.hoststorage .image { width: 100%; height: auto; background-position: center; padding-top: 66%; position: relative; order: 2; } article.hostmanaged { min-height: auto; padding: 0; } article.hostmanaged section { justify-content: flex-start; padding-bottom: 0; } article.hostmanaged aside { order: 1; padding: 0 50px; } article.hostmanaged aside .item { padding-left: 0; } article.hostmanaged .image { position: relative; width: 100%; padding-top: 68%; height: auto; order: 2; } } @media only screen and (max-width: 500px) { article.hoststorage aside { padding: 0 10px; } article.hostmanaged aside { padding: 0 10px; } } header.programming { text-shadow: 0 0 30px #000; } header.programming nav a { background-color: rgba(0,0,0,0.2); border-radius: 20px; box-shadow: 0 0 80px #000; text-shadow: 0 0 80px #000; opacity: 1; color: #999; transition: opacity 0.5 color 0.5s; } header.programming nav a.title { color: #fff; opacity: 0.6; } header.programming nav a.title:hover { opacity: 1; } header.programming nav a:hover { color: #fff; } header.programming nav a.active { color: #fff; } header.programming h1 { font-size: 5.8vw; margin-bottom: 10px; } header.programming h2 { font-size: 3.5vw; } article.programmingintro .image { transform: translate(-50%, 0px); } article.programmingintro .visible.image { transform: translate(0px, 0px); } article.programmingstore { background: #29688c; background: linear-gradient(30deg, #020024 15%, #29688c 100%); color: #fff; position: relative; height: 80vh; min-height: 600px; } article.programmingstore section { justify-content: flex-start; } article.programmingstore aside { align-items: center; max-width: none; } article.programmingstore aside .item { width: 100%; max-width: 600px; text-align: left; } article.programmingstore h3 { align-self: flex-start; padding: 10px 0 40px; } article.programmingstore .image { position: absolute; right: 0; top: 5%; width: 50%; height: 90%; max-width: none; background-position: center; background-size: contain; transform: translate(50%, 0px); } article.programmingstore .visible.image { transform: translate(0px, 0px); } article.programmingcontracting .image { transform: translate(-50%, 0px); } article.programmingcontracting .visible.image { transform: translate(0px, 0px); } @media only screen and (max-width: 800px) { header.programming nav a.title { background-position: calc(50% - 60px) center; } header.programming h1 { font-size: 5.8vw; margin-bottom: 10px; } header.programming h2 { font-size: 3.5vw; } article.programmingintro .image { transform: translate(0, 50%); } article.programmingintro .visible.image { transform: translate(0px, 0px); } article.programmingintro h3 { padding: 30px 0 30px; } article.programmingstore aside { order: 1; flex: 0 1 auto; } article.programmingstore h3 { align-self: flex-start; padding: 10px 0 40px; } article.programmingstore .image { position: relative; order: 2; width: 100%; padding-top: 430px; height: auto; background-size: auto 100%; background-position: center -17px; transform: translate(0, 50%); } article.programmingstore .visible.image { transform: translate(0px, 0px); } article.programmingcontracting h3 { padding: 30px 0 30px; } article.programmingcontracting .image { transform: translate(0, 50%); } article.programmingcontracting .visible.image { transform: translate(0px, 0px); } } header.streaming { text-shadow: 0 0 40px #000; } header.streaming h1 { font-size: 5.7vw; margin-bottom: 10px; } header.streaming h2 { font-size: 3vw; } article.streamintro .image { transform: translate(-50%, 0px); } article.streamintro .visible.image { transform: translate(0px, 0px); } @media only screen and (max-width: 800px) { article.streamintro h3 { padding: 30px 0 30px; } article.streamintro .image { transform: translate(0, 50%); } article.streamintro .visible.image { transform: translate(0px, 0px); } }