html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
input, select, option,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font: inherit;
vertical-align: baseline;
list-style-type: none;
}
* {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
:focus {
outline: 0;
}
html {
font-size: 8px;
}
body {
font-family: 'OpenSans', sans-serif;
background-color: black;
overflow: hidden;
position: absolute;
height: 100%;
width: 100%;
}
.clear {
clear: both;
}
.clear.padded {
height: 2rem;
}
body > * {
display: block;
height: 100%;
box-sizing: border-box;
position: relative;
overflow: hidden;
font-family: 'Open Sans', sans-serif;
color: rgba(0, 0, 0, 0.87);
}
body > script {
display: none;
}
a, a:link, a:visited {
text-decoration: none;
}
/* Titles */
h1 { /* Display 1 */
font-size: 4.25rem;
line-height: 7rem;
}
h2 { /* Headline */
font-size: 3rem;
line-height: 7rem;
}
h2.thin {
line-height: 5rem;
}
h3 { /* Title */
font-size: 2.5rem;
font-weight: 700;
}
h4, input, textarea, select { /* Headline */
font-size: 2rem;
line-height: 3rem;
}
h4 {
font-weight: 400;
}
h4.gray {
color: rgba(0, 0, 0, 0.54);
}
article section content ul li, /* Body 1 */
article section content p {
font-size: 2rem;
font-weight: 300;
}
.snackbar, /* Body 2 */
.toast {
font-size: 1.75rem;
font-weight: 500;
}
label, span.info { /* Caption */
font-size: 1.5rem;
color: rgba(0, 0, 0, 0.54);
}
label, span.info b { /* Caption */
font-weight: 600;
}
/* Navigation bar */
body > nav {
background-color: #fefefe;
width: 7rem;
max-width: 95%;
-webkit-transition: width 0.2s ease;
transition: width 0.2s ease;
z-index: 2;
position: relative;
}
body > nav:before {
background-image: linear-gradient(to left, rgba(0, 0, 0, 0.3), transparent);
pointer-events:none;
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
width: 1rem;
height: 100%;
}
body > nav header {
padding: 0.5rem;
}
body > nav.active {
width: 45rem;
}
body > div.dialog:not(:empty) ~ main,
body > div.dialog:not(:empty) ~ nav,
body > nav.active + main {
opacity: 0.5;
pointer-events: none;
}
body > nav li { /* Little hack for the navbar */
overflow: hidden;
}
@media screen and (max-width: 1024px) {
body > nav:not(.active) {
width: 45rem;
-webkit-transition: -webkit-transform .2s ease-in-out;
transition: transform .2s ease-in-out;
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
}
body > nav.active {
-webkit-transition: -webkit-transform .2s ease-in-out;
transition: transform .2s ease-in-out;
-webkit-transform: translateX(0%);
transform: translateX(0%);
}
}
@media screen and (min-width: 1024px) and (max-width: 1680px) {
body > nav:hover {
width: 45rem;
box-shadow: 0 2.5rem 5rem rgba(0,0,0,0.30), 0 2rem 1.5rem rgba(0,0,0,0.22);
}
body > nav:hover + main {
opacity: 0.5;
pointer-events: none;
}
body > nav:not(:hover) li span.counter {
left: 3.5rem;
top: calc(50% - 1.25rem);
right: auto;
font-size: 1.75rem;
padding: 0.25rem;
}
}
@media screen and (min-width: 1680px) {
body > nav,
body > nav:hover {
width: 15%;
}
body > nav + main,
body > nav:hover + main {
width: 85%;
}
}
body > nav.active:before,
body > nav:hover:before {
display: none;
}
/* Main */
main {
width: 100%;
position: absolute;
right: 0;
top: 0;
background-color: white;
-webkit-transition: opacity 0.3s ease-in-out;
transition: opacity 0.3s ease-in-out;
}
nav + main {
width: calc(100% - 7rem);
-webkit-transform: translateZ(0);
transform: translateZ(0);
}
main > header {
position: relative;
height: 7rem;
/*overflow: hidden;*/
box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
z-index: 2;
}
main > header > div {
padding-left: 9rem;
position: relative;
width: 35%;
display: inline-block;
/*overflow: hidden;*/
box-sizing: border-box;
padding-right: 1rem;
}
main > header > div > .return > * {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
main > header > div > ul.active:not(.context_menu) {
float: right;
margin-right: -1rem;
}
main > header > div > ul.active:not(.context_menu) li {
float: left;
height: 7rem;
min-width: 0;
line-height: 7rem;
width: 7rem;
padding: 0;
font-size: 4rem;
}
main > header > div > ul.active:not(.context_menu) li.thin {
width: 5rem;
}
main > header > div > ul.active:not(.context_menu) li span.icon {
left: 1rem;
}
main > header > div > ul.active:not(.context_menu) li.thin span.icon {
width: 3rem;
}
main > header > div:first-child:nth-last-child(2) ~ div {
width: 65%;
position: absolute;
top: 0;
right: 0;
}
main > header > div > span.icon {
line-height: 7rem;
left: 0;
width: 8rem;
height: 7rem;
top: 0;
margin: 0;
}
main > header > div > .return {
padding-left: 8rem;
margin-left: -9rem;
display: inline-block;
padding-right: 2rem;
max-width: calc(100% + 10rem);
height: 7rem;
box-sizing: border-box;
}
main > header > div > form.return {
display: block;
padding-right: 0;
padding-left: 9rem;
}
/* Not very beautiful… */
main > header > div > .return.condensed > h2 {
line-height: 3.5rem;
font-size: 2.75rem;
margin-top: 0.7rem;
margin-bottom: -0.5rem;
}
main > header > div > .return > h4 {
line-height: 2.5rem;
font-size: 1.75rem;
}
main > header > div > .return.r1 { max-width: calc(100% + 3rem); }
main > header > div > .return.r2 { max-width: calc(100% - 5rem); }
main > header > div > .return.r3 { max-width: calc(100% - 12rem); }
main > header > div > .return.active:hover,
main > header > div > span.active:hover {
background-color: rgba(0, 0, 0, 0.05);
cursor: pointer;
}
@media screen and (max-width: 1024px) {
main > header > div,
main > header > div:first-child:nth-last-child(2) ~ div {
width: 100%;
}
main > header > div:first-child:nth-last-child(2) {
display: none;
}
}
main > section {
height: 100%;
position: relative;
}
main > header + section {
height: calc(100% - 7rem);
}
main > section > div {
overflow-y: auto;
display: block;
/*position: relative;*/
float: left;
height: 100%;
width: 100%;
box-sizing: border-box;
}
main > section > div:not(:last-child) {
border-right: 1px solid #DDDDDD;
}
main > section > div > * {
max-width: 100rem;
margin: 0 auto;
}
/* Two blocks*/
main > section > div:first-child:nth-last-child(2) {
width: 35%;
}
main > section > div:first-child:nth-last-child(2) ~ div {
width: 65%;
position: absolute;
top: 0;
right: 0;
/*transition: right 0.2s ease;*/
-webkit-transition: -webkit-transform .2s ease-in-out;
transition: transform .2s ease-in-out;
background-color: #EEE;
}
main > section > div > div.contained { /* Specific behaviour when the scroll need to be inside the block */
height: calc(100% - 7rem);
overflow-y: scroll;
position: absolute;
max-width: 100%;
width: 100%;
}
main > section > div > div.contained > * {
max-width: 100rem;
margin: 0 auto;
}
@media screen and (max-width: 1024px) {
/* Two blocks*/
main > section > div:first-child:nth-last-child(2) {
width: 100%;
}
main > section > div:first-child:nth-last-child(2) ~ div {
width: 100%;
-webkit-transform: translateX(100%);
transform: translateX(100%);
z-index: 1;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.23), 0 0 10px rgba(0, 0, 0, 0.16);
}
main > section > div:first-child:nth-last-child(2) ~ div.enabled {
-webkit-transform: translateX(0);
transform: translateX(0);
}
main,
nav + main {
width: 100%;
}
body > nav {
width: 0;
}
}
main footer {
font-size: 2rem;
}
/* Icon */
span.icon {
width: 5rem;
height: 5rem;
position: absolute;
font-size: 3rem;
line-height: 5rem;
top: 50%;
left: 2rem;
text-align: center;
margin-top: -2.5rem;
background-size: cover;
background-position: center;
}
span.icon img {
max-width: 100%;
max-height: 100%;
}
span.icon.thumb {
left: 0;
width: 7rem;
top: 0;
height: 100%;
margin: 0;
line-height: 7.5rem;
}
li.oppose span.icon {
left: auto;
right: 2rem;
}
span.icon.bubble {
border-radius: 5rem;
color: white;
font-size: 0;
font-size: 2.5rem;
}
span.icon.bubble img {
border-radius: 5rem;
}
span.icon.bubble i {
font-size: 3rem;
line-height: 5rem;
}
span.icon.small {
width: 3rem;
height: 3rem;
line-height: 3rem;
margin-top: -1.5rem;
}
span.icon.tiny {
font-size: 1.8rem;
font-weight: 600;
}
span.icon.large {
width: 7rem;
height: 7rem;
line-height: 7rem;
margin-top: -3.5rem;
}
span.icon.small.bubble:first-letter,
span.icon.small.bubble i {
font-size: 2rem;
line-height: 1.5em;
vertical-align: text-top;
}
span.icon.status:after {
content: '';
display: block;
width: 2rem;
height: 2rem;
left: 3.25rem;
top: 3.25rem;
position: absolute;
border-radius: 2em;
background-color: #DDD;
}
main ul li .control > i {
margin-left: 0;
}
/* Card */
.card {
padding: 1rem;
}
.card > .block:not(.subheader) {
background-color: white;
border-radius: 2px;
border: 1px solid rgba(0, 0, 0, 0.12);
overflow: hidden;
margin-bottom: 1rem;
}
.card > form.block {
padding: 2rem;
padding-top: 0;
box-sizing: border-box;
}
.card.shadow > .block:not(.subheader) {
box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.12), 0px 1px 2px rgba(0, 0, 0, 0.24);
border: none;
}
/* Header */
header.big {
background-size: cover, cover;
background-position: center center;
width: 100%;
max-width: 100%;
color: white;
position: relative;
margin-bottom: 2rem;
}
header.big p {
color: white;
}
/* Dialog */
.dialog {
position: fixed;
top: 5%;
left: 50%;
background-color: white;
height: initial;
max-height: 90%;
width: 50rem;
margin-left: -25rem;
overflow: hidden;
box-shadow: 0 2.5rem 5rem rgba(0,0,0,0.30), 0 2rem 1.5rem rgba(0,0,0,0.22);
border-radius: 0.25rem;
z-index: 3;
box-sizing: border-box;
-webkit-transform: translateX(0);
transform: translateX(0);
}
.dialog:empty {
display: none;
}
.dialog.scroll {
height: 90%;
}
.dialog > section {
height: 100%;
overflow-y: auto;
position: relative;
}
.dialog > section > *:first-child {
margin-top: 2rem;
}
.dialog > section > *:last-child {
margin-bottom: 2rem;
}
.dialog > section > *:not(ul) {
padding: 0 2rem;
}
.dialog > section > form > ul > li {
padding: 0;
}
@media screen and (max-width: 600px) {
.dialog {
width: 90%;
height: 90%;
min-height: 0;
min-width: 0;
max-height: 90%;
margin-left: -45%;
margin-top: 0;
top: 5%;
}
}
/* Actions bar */
.actions {
padding-bottom: 7rem;
}
.actions > div:last-child {
background-color: white;
width: 100%;
box-sizing: border-box;
text-align: right;
bottom: 0;
padding: 0.5rem 2rem;
position: absolute;
border-top: 1px solid rgba(0, 0, 0, 0.12);
}
.actions > div.no_bar:last-child {
border-top: none;
}
.actions.fixed > div:last-child {
position: fixed;
min-height: 7rem;
max-width: calc(100% - 5rem);
width: 100%;
padding: 0;
}
.actions.scroll > section {
margin-bottom: 1rem;
}
.actions.scroll > section > article > section {
padding: 0;
}
main section > div:first-child:nth-last-child(2) ~ div .actions.fixed > div:last-child {
max-width: calc(75% - 5rem);
}
.actions.fixed > div:last-child > * { /* Little hack to fake the 100% width that overflow the parent */
max-width: 100rem;
margin: 0 auto;
}
@media screen and (max-width: 1024px) { /* Known bug, on some intermediary resolution, the content is cropped */
main section > div:first-child:nth-last-child(2) ~ div .actions.fixed > div:last-child {
max-width: 100%;
}
}
/* Snackbar - Toast */
.snackbar,
.toast {
box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.23), 0px 3px 10px rgba(0, 0, 0, 0.16);
position: fixed;
z-index: 4;
min-height: 6rem;
max-height: 11rem;
height: auto;
color: white;
padding: 2rem 3rem;
box-sizing: border-box;
width: 40rem;
pointer-events: none;
transition: opacity 0.2s ease, bottom 0.4s ease;
}
.snackbar p,
.toast p {
color: white;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.snackbar {
background-color: #333333;
bottom: 3rem;
left: 3rem;
border-radius: 0.25rem;
opacity: 1;
padding: 2rem 1rem;
}
.toast {
background-color: #323232;
border-radius: 3rem;
left: 50%;
bottom: 3rem;
line-height: 2.5rem;
margin-left: -20rem;
}
.snackbar:empty,
.toast:empty {
opacity: 0;
}
@media screen and (max-width: 22rem) {
.snackbar {
width: 100%;
top: 0;
left: 0;
bottom: auto;
border-radius: 0;
}
.toast {
max-width: 90%;
left: 5%;
margin-left: 0;
}
}
/* Placeholder */
.placeholder {
text-align: center;
font-size: 1.2em;
max-width: 400px;
padding: 0 2rem;
padding-bottom: 2rem;
margin: 0 auto;
}
.placeholder h1 {
color: #888;
}
.placeholder h4 {
color: #AAA;
}
.placeholder p {
text-align: center;
}
.placeholder.icon {
background-image: url(../img/icons/chat.svg);
background-size: 25rem;
padding-top: 30rem;
background-repeat: no-repeat;
background-position: center 4em;
}
.icon.news { background-image: url(../img/icons/receipt.svg); }
.icon.forum { background-image: url(../img/icons/forum.svg); }
.icon.contacts { background-image: url(../img/icons/group.svg); }
.icon.media { background-image: url(../img/placeholder/media.png); }
.icon.explore { background-image: url(../img/placeholder/explore.png); }
.icon.plane { background-image: url(../img/placeholder/plane.png); }
.icon.file { background-image: url(../img/placeholder/file.png); }
.icon.pages { background-image: url(../img/icons/pages.svg); }
.icon.clipboard { background-image: url(../img/icons/assignment_turned_in.svg); }
/* Definition list */
dl dt,
dl dd {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
padding: 0 1rem;
display: inline-block;
line-height: 2rem;
vertical-align: middle;
}
dl di {
border-bottom: 1px solid #DDD;
display: block;
padding: 1em 0;
}
dl dt {
text-align: right;
font-weight: bold;
width: 25%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
dl dd {
text-align: left;
width: 74%;
}
/* Padded */
@media screen and (max-width: 800px) {
.padded {
padding: 2rem;
box-sizing: border-box;
}
.padded_right {
padding-right: 2rem;
box-sizing: border-box;
}
.padded_top_bottom {
padding: 0 2rem;
box-sizing: border-box;
}
}
/* Divided */
*.divided:not(.spaced) > *:not(:last-child),
*.divided.spaced > *:not(:last-child).subheader,
*.divided.spaced > *:not(:last-child):not(.subheader):after {
border-bottom-width: 1px;
border-bottom-style: solid;
}
*.divided.spaced > *:not(:last-child):after {
position: absolute;
right: 0;
bottom: 0rem;
content: "";
display: block;
width: calc(100% - 9rem);
}
/* Spinner */
.spinner {
position: relative;
}
.spinner:before,
.spinner:after {
transition: top .3s ease-in-out;
content: '';
position: absolute;
left: calc(50% - 3.5rem);
border-radius: 50%;
top: -10rem;
}
.spinner.on:before,
.spinner.on:after {
top: 3rem;
}
.spinner.on:before {
animation: spinner 1s linear infinite;
-webkit-animation: spinner 1s linear infinite;
}
.spinner:before {
z-index: 2;
width: 3.5rem;
height: 3.5rem;
margin: 1rem;
}
.spinner:not(:required):before {
content: '';
border: 0.75rem solid transparent;
border-top: 0.75rem solid #ddd;
}
.spinner:after {
box-shadow: 0px 0.5rem 1.25rem rgba(0, 0, 0, 0.23), 0px 0.5rem 1.25rem rgba(0, 0, 0, 0.16);
background-color: white;
width: 7rem;
height: 7rem;
}
@keyframes spinner {
to {transform: rotate(360deg);}
}
@-webkit-keyframes spinner {
to {-webkit-transform: rotate(360deg);}
}
/* Display/hide */
.on_mobile {
display: none !important;
}
@media screen and (max-width: 1024px) {
.on_mobile {
display: inherit !important;
}
.on_desktop {
display: none !important;
}
}
/* Disabled */
.disabled {
opacity: 0.5;
pointer-events: none;
}
/* Animation */
.background_fade {
background-color: #CCC;
animation: fadeout 1s forwards;
-moz-animation: fadeout 1s forwards;
-webkit-animation: fadeout 1s forwards;
-o-animation: fadeout 1s forwards;
}
@keyframes fadeout {
to {
background-color:#fff;
}
}
@-moz-keyframes fadeout {
to {
background-color: #ffffff;
}
}
@-webkit-keyframes fadeout {
to {
background-color: #ffffff;
}
}
@-o-keyframes fadeout {
to {
background-color: #ffffff;
}
}