// customize bootstrap variables here: @import "fonts"; @import "variables"; @import "../lib/bootstrap"; // primary plan: video //$bg: '../img/video-blur.jpg'; //$bgscale: true; // fallback-plan: 31C3 artwork based background $bg: '../img/bg.png'; $bgscale: false; $max-width: $container-lg; /* main layout */ html { width: 100%; overflow: hidden; overflow-y: scroll; /* poor support - but for the future! */ hyphens: auto; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; } body { padding-top: $navbar-height; width: 100%; overflow: hidden; overflow-y: initial; margin-bottom: 55px; } .top-space { padding-top: 40px; } h1 { color: $gray-dark; margin-top: 60px; line-height: 0.9em; } h1 + h2 { margin-top: -0.2em; } h2 { margin-top: 1.2em; .date { margin-right: 0.2em; color: $brand-primary; font-size: 16px; } } p { margin-bottom: 0.5em; .fa { display: inline; color: $gray-dark; font-size: 1.1em; } } .container, .container-fluid { max-width: $max-width; padding: 0; } .label { display: inline-block; border-radius: $border-radius-base; padding-top: 0.3em; padding-bottom: 0.1em; font-size: 14px; font-weight: normal; margin-right: 2px; margin-bottom: $padding-small-vertical; } /* navigation bar */ .navbar { border: none; background-image: url($bg); background-position: 50% -9px; padding: 0 15px; body.rooms & { background-image: none; } .navbar-brand { font-size: 24px; padding: 12px 15px; } .btn.btn-default { padding: 0.2em; height: 1.8em; max-width: 2em; &:hover, &:focus, &:active { color: $brand-primary; background-color: #fff; border-color: #fff; } } .navbar-form { margin-top: 0.8em; margin-bottom: 0.8em; } input { height: 1.8em; padding-top: 6px; } .fa { min-width: 20px; font-size: 1.3em; } } /* breadcrumb */ #breadcrumb { background-color: $gray; font-size: 16px; ol { max-width: $max-width; padding: $padding-small-vertical $padding-large-horizontal; margin-bottom: 0; li + li:before { font-family: FontAwesome; font-size: 9px; } } } /* browse-by-buttons at homescreen */ .browse-button-bar { text-align: center; margin-top: $padding-large-vertical; margin-bottom: $padding-large-vertical; .btn-lg { margin: $padding-small-vertical $padding-small-horizontal; } .fa { font-size: 1.3em; } } /* news */ h1 + .news-item { margin-top: -0.5em; } /* recording detail site */ .nav.nav-tabs.nav-justified { margin-top: 16px; font-weight: bold; font-size: 24px; background-color: $gray; & > li { a { padding: $padding-large-vertical 0 0 0; margin-bottom: 0; border: none; &:hover, &:focus, &:active { background-color: #fff; } &:hover, &:focus, &:active { border: none; } } &.active > a { color: white; background-color: $gray-dark; } } } .player-wrap { background-color: $gray-dark; } .tab-content { background-color: $gray-dark; .mejs-container { margin: auto; } #switcher { padding: $padding-large-horizontal; h3 { color: $gray-light; &:first-child { margin-top: 0; } } p { color: white; font-size: 120%; } ul { list-style-type: none; padding: 0; li { min-width: 49%; display: inline-block; } a { margin: 0 $padding-xs-horizontal; } } .filetype { text-transform: uppercase; margin-right: $padding-small-horizontal; color: #000; background-color: #fff; min-width: 4em; } a:hover, a:focus, a:active { text-decoration: none; } } #feedback { padding: 20px; label { color: white; } h3 { display: none; color: white; } iframe { display: none; } input[type="radio"], input[type="checkbox"] { margin-top: 0; } .col { padding: 0 30px; } } } ul.metadata { list-style: none; padding: $padding-small-vertical 0; text-align: center; border-bottom: 1px solid $gray; li { display: inline-block; min-width: 24.5%; padding: $padding-small-vertical $padding-small-horizontal; } .fa { margin-right: $padding-xs-horizontal; } } /* footer */ footer { padding: 0.7em; margin-top: 2em; color: $gray-light; background-color: $gray-dark; text-align: center; position: fixed; bottom: 0; width: 100%; } /* links */ a.inverted { color: $gray-lighter; } /* buttons */ .btn-lg { padding-top: 5px; padding-bottom: 5px; .fa { /* nicely positioned icons on large buttons */ position: relative; top: 0.15em; margin-right: 0.3em; } } /* banner area */ @if $bgscale { @media all and (min-width: 1920px) { .banner { background-repeat: no-repeat; background-size: 100% auto; } } } .banner { width: 100%; height: 280px; overflow: hidden; text-align: center; background-image: url($bg); background-position: 50% 50%; background-repeat: repeat-x; position: relative; .logo { position: relative; z-index: 1; display: inline-block; margin-top: 37px; } } .rooms { .room-group { background-color: $gray-darker; overflow: hidden; margin-bottom: 2em; &.recordings { text-align: center; li a { color: $brand-primary; font-size: 4em; &:hover { text-decoration: none; } } } h2 { margin: 0.6em 1.2em 0.3em; } ul { list-style-type: none; padding: 0 0 5px 0; margin: 0 -5px; } li { padding: 5px !important; &.sendezentrum a .title { left: 240px; text-shadow: none; font-weight: normal; } a { background-color: $gray-dark; color: white; display: block; position: relative; width: 100%; height: 120px; padding: .5em; text-align: center; font-size: 2.75em; &:hover { background-color: #1a1a1a; text-decoration: none; } .teaser { position: absolute; left: 0; top: 0; } .title { position: absolute; top: 40px; left: 60px; font-weight: bold; text-shadow: $gray-dark -3px -3px 5px, $gray-dark 3px 3px 5px, $gray-dark -3px 3px 5px, $gray-dark 3px -3px 5px; padding-bottom: 20px; } .program-teaser { color: $gray-lighter; text-align: left; position: absolute; left: 230px; font-size: 14px; strong { display: block; } .next-talk { display: block; margin-top: 10px; } .hidden { visibility: hidden; } } } } } } .room { &.lq .player-wrap { padding: 32px 0; } &.audio .player-wrap { padding: 64px 32px; } &.slides .player-wrap .slide-audio { padding: 32px 32px; } .click-to-irc { background-image: url(../img/irc-soft.png); height: 376px; border: 2px solid $gray-dark; text-align: center; cursor: pointer; .activator { margin-top: 120px; font-size: 60px; a { font-size: 40px; } a.twitterlink { font-size: 30px; } } iframe { display: none; } &.active { background-image: none; .activator { display: none; } iframe { display: block; } } } } .mejs-container { .mejs-subs-line { position: absolute; bottom: 50px; height: 85px; width: 100%; background-color: rgba(white, .85); color: black; font-size: 65px; text-align: center; opacity: 0; display: none; padding: 5px 0; overflow: hidden; .silence { font-size: 49%; opacity: 0; display: none; color: #555; } &.silence .silence { opacity: 1; display: block; } .error { color: red; opacity: 0; display: none; } &.error .error { opacity: 1; display: block; } } .mejs-controls { $factor: 1.5; visibility: visible !important; .mejs-subs-button > span { cursor: pointer; color: #e3e3e3; font-size: 28px; padding-top: 5px; padding-left: 5px; } height: 12px + 18px * $factor; div { width: 26px * $factor; height: 26px * $factor; } .mejs-button button { background-size: 144px * $factor 32px * $factor !important; width: 16px * $factor; height: 16px * $factor; } .mejs-playpause-button { &.mejs-play button { background-position: 0 0; } &.mejs-pause button { background-position: 0 -16px * $factor; } } .mejs-volume-button { &.mejs-mute button { background-position: -16px * $factor -16px * $factor; } &.mejs-unmute button { background-position: -16px * $factor 0; } .mejs-volume-slider { left: 4px * $factor; } } .mejs-fullscreen-button button { background-position: -32px * $factor 0; } $top: $factor * 12px - 12px; .mejs-time { padding-top: $top + 8px; } .mejs-horizontal-volume-slider { width: 110px; top: $top; .mejs-horizontal-volume-total { width: 100px; } } } &.mejs-audio { margin: 0 auto; } .mejs-overlay-loading { background: none !important; } } /* and now for medium screens: */ @media all and (min-width: $screen-sm-min) and (max-width: $container-desktop) { /* events overview */ .event-previews .event-preview { h3 { font-size: 17px; } } } /* and now for small screens: */ @media all and (max-width: $screen-xs-max) { /* main layout */ body { padding-top: 0; } h1 { font-size: 34px; margin-top: 30px; } h2 { font-size: 23px; } /* large buttons */ .btn-lg, .btn-group-lg>.btn { font-size: 23px; } footer { position: initial; } /* navigation bar */ .navbar { position: initial; & > .container-fluid { display: inline-table; width: 100%; } form { width: 100%; } .navbar-form.navbar-right:last-child { margin-right: 0; } .navbar-header, .navbar-form { padding: 0; margin-top: 0; margin-bottom: 0; min-width: 75px; } .input-group { margin-bottom: $padding-small-vertical; } .button-wrapper { text-align: right; margin-top: $padding-large-vertical; } } /* banner area */ .banner { height: 230px; img { height: 120px; width: auto; } .titlebar { //padding-top: 20px; } } /* events overview */ .event-preview { /* one column layout */ width: 100%; } /* tabs */ .nav.nav-tabs.nav-justified > li { a { font-size: 20px; padding-top: 5px; } &.active > a { background-color: $gray; } } /* events overview */ .event-previews { .event-preview { height: auto; .video-thumbnail { margin-top: 1.5em; height: 90px; width: 120px; } .caption { margin-left: 120px; padding-left: $padding-small-horizontal; h3 { height: 90px; vertical-align: middle; display: table-cell; margin-top: 0; font-size: 17px; } } .metadata { position: relative; left: -130px; padding: 0; margin-bottom: 3px; white-space: nowrap; margin-bottom: $padding-small-vertical; } } } /* event overview for searches & tags */ .event-previews-tags .event-preview, .event-previews-search .event-preview { h3 { font-size: 17px; } .conference-logo { width: 60px; } .caption { margin-left: 60px; } } } .program { $now: red; $hightlight: #96d600; $daychange: $brand-primary; &.scroll-container { overflow: hidden; overflow-x: scroll; } .scroll-element { position: relative; } .room { overflow: hidden; } .now { position: absolute; left: 0; width: 150px; height: 500px; background-color: transparentize($now, 0.5); font-size: 14px; span { display: block; position: absolute; right: -25px; color: red; } } .block { overflow: hidden; float: left; height: 100px; /* and now for small screens: */ @media all and (max-width: $screen-xs-max) { height: 75px; } padding: 10px; border: 1px solid white; h3 { color: white; margin: 0; padding: 0; /* and now for small screens: */ @media all and (max-width: $screen-xs-max) { font-size: 22px; } } h4 { margin: 3px 0; color: $gray-lighter; } a { color: white; } &.event h3 { height: 48px; overflow: hidden; } &.gap { background-image: url(../img/stripes/gap.png); background-color: rgba(255,255,255,0.3); } &.daychange { background-image: url(../img/stripes/gap.png); background-color: transparentize($daychange, 0.3) !important; } &.pause { background-color: rgba(255,255,255,0.3); } } .room.highlight .block { background-color: $hightlight; } } .e404 { text-align: center; h1 { margin: 20px 0 40px 0; } img { max-width: 100%; } }