/**
 * Custom CSS
 *
 * Table of Contents
 * - Basics
 * - Navbar
 *   - Navbar Brand Image
 * - Intro / Header
 * - Section
 * - Button
 * - Form
 *   - Sternchen bei Label von Pflichtfelder (<label class="required">
 *   - Borderradius bei select anpassen und das «pfili» wieder rein tun
 * - MISC
 *
 */

/* ==========================================================================
   Basics
   ========================================================================== */
@font-face {
    font-family: 'Relevant';
    src:         url('../fonts/Relevant-Bold.eot');
    src:         url('../fonts/Relevant-Bold.eot?#iefix') format('embedded-opentype'),
                 url('../fonts/Relevant-Bold.ttf') format('truetype'),
                 url('../fonts/Relevant-Bold.woff2') format('woff2'),
                 url('../fonts/Relevant-Bold.woff') format('woff'),
                 url('../fonts/Relevant-Bold.svg#relevantbold') format('svg');
    font-weight: bold;
    font-style:  normal;
}

@font-face {
    font-family: 'Relevant';
    src:         url('../fonts/Relevant-Normal.eot');
    src:         url('../fonts/Relevant-Normal.eot?#iefix') format('embedded-opentype'),
                 url('../fonts/Relevant-Normal.ttf') format('truetype'),
                 url('../fonts/Relevant-Normal.woff2') format('woff2'),
                 url('../fonts/Relevant-Normal.woff') format('woff'),
                 url('../fonts/Relevant-Normal.svg#relevantnormal') format('svg');
    font-weight: normal;
    font-style:  normal;
}

a {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition:    all .3s ease-in-out;
    transition:         all .3s ease-in-out;
}

/* ==========================================================================
   Navbar
   ========================================================================== */

.navbar-default {
    /*background-color:   transparent;*/
    border-color:       transparent;
    -webkit-transition: all .3s;
    -moz-transition:    all .3s;
    transition:         all .3s
}

.navbar-default.navbar-shrink {
    /*background-color: #f8f8f8;*/
    border-color: #e7e7e7;
}

.navbar-default .nav li a {
    border-bottom:  2px solid transparent;
    text-transform: uppercase;
    font-weight:    700;
    letter-spacing: 1px;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
    background-color: transparent;
    border-bottom:    2px solid #ffc700;
}

.navbar-nav {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .navbar-nav {
        margin-top: 13px;
    }
}

/* Navbar Brand Image
   ========================================================================== */
/*.navbar-brand {
    padding: 0 15px;
}*/

.navbar-brand > img {
    display:    block;
    max-height: 100%;
}

img[src*=".svg"] {
    height: 100%;
}

@media (min-width: 768px) {
    .navbar-brand {
        height:        35px;
        margin-top:    15px;
        margin-bottom: 15px;
        padding:       0 15px;
    }
}

/* Navbar Toggle (Hamburger)
   ========================================================================== */
.navbar-toggle {
    background-color: #ffc700;
}

.navbar-default .navbar-toggle {
    border-color: #f2b100;
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: #2a2a2a;
}

/* ==========================================================================
   Intro / Header
   Kopiere hier ein Intro aus _vorlagen > Intro hinein oder ersetzte das bestehende
   ========================================================================== */
.header {
    display:  table;
    position: relative;
    width:    100%;
    height:   100%;
}

#intro p {
    text-shadow: 0 0 7px #333;
}

.text-vertical-center {
    display:        table-cell;
    text-align:     center;
    vertical-align: middle;
}

.text-vertical-center h1 {
    margin:      10px 0 0;
    padding:     0;
    font-size:   3.5em;
    font-weight: 700;
}

.text-vertical-center h1, .text-vertical-center h2 {
    line-height: 1.2;
    text-shadow: 1px 1px 10px #333;
}

.text-vertical-center h2, .text-vertical-center h3, .text-vertical-center h4 {
    margin-top:    90px;
    /*margin-top:    15px;*/
    margin-bottom: 2px;
}

.text-vertical-center h1,
.text-vertical-center h2,
.text-vertical-center h3,
.text-vertical-center h4,
.text-vertical-center h5,
.text-vertical-center h6,
.text-vertical-center p {
    text-shadow: 1px 1px 5px #333;
}

@media (min-width: 768px) {
    .text-vertical-center h1 {
        font-size: 4.5em;
    }
}

/* ==========================================================================
   Section
   ========================================================================== */
section {
    padding: 40px 0
}

@media (min-width: 768px) {
    section {
        padding: 50px 0
    }
}

.bg-dark {
    background-color: #f7f7f7
}

.event-info div {
    position:  relative;
    margin:    30px 0;
    display:   table;
    font-size: 18px;
}

.event-info i {
    width:          40px;
    display:        table-cell;
    vertical-align: middle;
    text-align:     center;
}

.event-info i.right {
    position: absolute;
    top:      20px;
    right:    10px;
}

.event-info div span {
    padding-left:   15px;
    padding-right:  15px;
    display:        table-cell;
    vertical-align: middle;
}

.calendar-download, .event-location {
    position:         relative;
    display:          table;
    width:            100%;
    padding:          10px;
    background-color: #ffc700;
    color:            #666;
}

.calendar-download span {
    padding-left:   15px;
    padding-right:  15px;
    display:        table-cell;
    vertical-align: middle;
}

/* ==========================================================================
   Button
   ========================================================================== */
.btn {
    box-shadow:         0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition:    all .3s ease-in-out;
    transition:         all .3s ease-in-out;
}

.btn-xl {
    font-size:   18px;
    font-weight: 700;
    padding:     20px 40px
}

.btn-transparent-light {
    border-color:     rgba(255, 255, 255, .7);
    background-color: rgba(255, 255, 255, .3);
    color:            rgba(255, 255, 255, .7);
}

.btn-transparent-light:hover,
.btn-transparent-light:focus,
.btn-transparent-light.focus {
    border-color:      rgba(255, 255, 255, .8);
    background-color:  rgba(255, 255, 255, .3);
    color:             rgba(255, 255, 255, .8);
    -webkit-transform: scale(1.1);
    -ms-transform:     scale(1.1);
    transform:         scale(1.1);
}

.btn-transparent-dark {
    border-color:     rgba(0, 0, 0, .7);
    background-color: rgba(0, 0, 0, .1);
    color:            rgba(0, 0, 0, .7);
}

.btn-transparent-dark:hover,
.btn-transparent-dark:focus,
.btn-transparent-dark.focus {
    border-color:      rgba(0, 0, 0, .8);
    background-color:  rgba(0, 0, 0, .3);
    color:             rgba(0, 0, 0, .8);
    -webkit-transform: scale(1.1);
    -ms-transform:     scale(1.1);
    transform:         scale(1.1);
}

/* Button Circle
   ========================================================================== */
.btn-circle.btn-sm {
    width:         30px;
    height:        30px;
    text-align:    center;
    padding:       6px 0;
    font-size:     12px;
    line-height:   1.428571429;
    border-radius: 15px;
}

.btn-circle {
    width:         50px;
    height:        50px;
    padding:       10px 16px;
    font-size:     28px;
    line-height:   1.33;
    border-radius: 25px;
}

.btn-circle.btn-lg {
    margin-top:    30px;
    width:         70px;
    height:        70px;
    padding:       10px 16px;
    font-size:     47px;
    line-height:   1.33;
    border-radius: 35px;
}

.btn-circle.btn-xl {
    margin-top:    30px;
    margin-bottom: 10px;
    width:         100px;
    height:        100px;
    border-width:  2px;
    padding:       10px 16px;
    font-size:     70px;
    line-height:   1.33;
    border-radius: 50%;
}

/* ==========================================================================
   Form
   ========================================================================== */
form .help-block {
    display: none;
}

/* Sternchen bei Label von Pflichtfelder (<label class="required">
   ========================================================================== */
.required:after {
    content: " *";
}

.radio .required:after,
.checkbox .required:after {
    content: "";
}

/* Borderradius bei select anpassen und das «pfili» wieder rein tun
   ========================================================================== */
select:not([multiple]) {
    -webkit-appearance:  none;
    -moz-appearance:     none;
    background-position: right 50%;
    background-repeat:   no-repeat;
    background-image:    url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);
    padding:             6px 12px;
    border-radius:       2px;
}

select::-ms-expand {
    display: none;
}

html[data-useragent*='MSIE 9.0'] select {
    background-image: none;
}

/* CHROME AUTOFILL – GELBER HINTERGRUND ÜBERSCHREIBEN
   ========================================================================== */
input:-webkit-autofill,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:focus {
    -webkit-box-shadow:      0 0 0px 1000px #fff inset;
    -webkit-text-fill-color: #555 !important;
}

/* Abstände
   ========================================================================== */
form h3 {
    margin-top: 0;
}

form .container-participation,
form .container-attendance,
form .container-dinner,
form .container-address-form {
    margin-bottom: 20px;
}

/* Adressblock
   ========================================================================== */
.container-address-text {
    margin-bottom: 15px;
}

@media (min-width: 768px) {
    .container-address-text {
        float: right;
    }
}

/* ==========================================================================
   Ampel
   ========================================================================== */
.ampel {
    position:         relative;
    display:          inline-block;
    width:            11px;
    height:           11px;
    left:             3px;
    top:              1px;
    margin-right:     7px;
    border-radius:    50%;
    background-color: transparent;
}

.ampel-green {
    background-color: #00b588;
}

.ampel-orange {
    background-color: #f07e1a;
}

.ampel-red {
    background-color: #f65058;
}

/* ==========================================================================
   Table
   ========================================================================== */
table {
    width:         100%;
    max-width:     100%;
    margin-bottom: 20px;
    font-size:     inherit;
}

table > thead > tr > th,
table > tbody > tr > th,
table > tfoot > tr > th,
table > thead > tr > td,
table > tbody > tr > td,
table > tfoot > tr > td {
    padding:        8px;
    line-height:    1.42857143;
    vertical-align: top;
    border-top:     1px solid #ddd;
}

table > thead > tr > th {
    vertical-align: bottom;
    border-bottom:  2px solid #ddd;
}

table > caption + thead > tr:first-child > th,
table > colgroup + thead > tr:first-child > th,
table > thead:first-child > tr:first-child > th,
table > caption + thead > tr:first-child > td,
table > colgroup + thead > tr:first-child > td,
table > thead:first-child > tr:first-child > td {
    border-top: 0;
}

table > tbody + tbody {
    border-top: 2px solid #ddd;
}

/* ==========================================================================
   Google Maps
   ========================================================================== */
.map-container {
    width:  100%;
    height: 250px;
}

@media (min-width: 768px) {
    .map-container {
        height: 300px;
    }
}

/* ==========================================================================
   MISC
   ========================================================================== */

.fl-left{
    float:left;
}
.fl-right{
    float:right;
}

.bg-intro{
    padding:2rem;
    background-color:#00000040;
    padding-left: 15px;
    padding-right: 15px;
    padding-right: 15px;
}

@media (min-width: 768px) {
    .bg-intro{
        padding:2rem;
        background-color:#00000040;
        padding-left: 25%;
        padding-right: 25%;
    }
}

.bg-header{
    background-color:rgba(0,0,0,0.4);
    padding-bottom: 2em;
}

.bg-thanks{
    background-color:rgba(0,0,0,0.4);
}

.bg-deadline{
    background-color:rgba(0,0,0,0.4);
    padding-bottom:2em;
}

/* ==========================================================================
   Cookie Banner
   ========================================================================== */

.cookie-banner {
    z-index: 99;
    position: fixed;
    bottom: 0;
    left: 0;
    width:100%;
    opacity: 0.9;
    -webkit-animation-name: easein; /* Safari 4.0 - 8.0 */
    -webkit-animation-duration: 0.75s; /* Safari 4.0 - 8.0 */
    animation-name: easein;
    animation-duration: 0.75s;
}

.cookie-banner .alert {
    margin: 0;
    border-radius: 0;
}

/* Safari 4.0 - 8.0 */
@-webkit-keyframes easein {
    0%   {bottom:-75px;}
    50%   {bottom:-75px;}
    100% {bottom:0px}
}

/* Standard syntax */
@keyframes easein {
    0%   {bottom:-75px;}
    50%   {bottom:-75px;}
    100% {bottom:0px}
}

.cookie-banner .banner-close{
    position: absolute;
    cursor: pointer;
    right: 25px;
}

.cookie-alert{
    background-color: #ffffff;
    border: #ffffff;
    color:#000000;
}

.header,
#background,
#bgndVideo {
    min-height: 100vh;
    max-height: 100vh;
    position:   relative;
}

.video-control {
    width:      3rem;
    text-align: left;
    position:   absolute;
    bottom:     1rem;
    right:      1rem;
}
.volume {
    font-size: 2.5rem;
    color: #ffffff;
    cursor: pointer;
}

