/* EVENTR CSS 

	1. CORE CSS
	2. NAVBAR
	3. HIGHLIGHT 
	4. INFO 
	5. SPEAKERS
	6. PROGRAM
	7. DOWNLOAD
	8. VENUE
	9. FUNFACTS
	10. REGISTER
	11. GALLERY
	12. TESTIMONIAL
	13. SPONSORS
	14. FOOTER
	15. MISC.
 
 */

/* Styled Scrollbar */
::-webkit-scrollbar, ::-webkit-scrollbar-corner, ::-webkit-scrollbar-track {
    background-color: rgba(0,0,0,.5);
    height: 10px;
    width: 8px;
}
::-webkit-scrollbar-thumb {
    background-color: #E83D3C;
    border-radius: 0;
}
::selection {
    background:#E83D3C;
    color:#fff;
}

/* Styling für Firefox */
@supports not selector(::-webkit-scrollbar) {
    html, body {
        scrollbar-width: thin;
        scrollbar-color: #E83D3C rgba(0,0,0,.5);
    }
}

/* CORE CSS */
body {
    color:#f2f2f2;
    background-color:#0a0a0a;
    font-family:'Source Code Pro';
    font-size:18px;
    font-weight:400;
    line-height:23px;
}

h1, h2, h3, h4, h5, h6 {
    color:#E83D3C;
    font-family:'montserratregular', sans-serif;
}
h1.big {
    font-family:'montserratbold', sans-serif;
    font-weight: 900;
}
@media (min-width: 992px) {
    h1.big { font-size:3.5rem; }
}

h2 {
    font-size:40px;
}

h3 {
    font-size:28px;
    letter-spacing:0;
    line-height:28px;
}

h4 {
    font-size:18px;
    letter-spacing:1px;
}

section {
    padding:100px 0;
}
section > .container { position: relative; z-index:10; }

.uppercase {
    text-transform:uppercase;
}

.no-padding {
    padding:0;
}

a {
    color:#de2b3d;
    outline:none;
    transition: all .15s;
}
a:hover {
    color:#ffffff;
    text-decoration: none;
}

/* NAVBAR */
.nav > li > a { padding:10px; }
.navbar-custom {
    font-family:'Open sans';
    font-size:14px;
    font-weight:400;
    letter-spacing:1px;
    background:transparent;
    margin-bottom:0;
    border-radius:0;
    z-index:1041;
    width:100%;
    -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
    -moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
    transition: background .5s ease-in-out,padding .5s ease-in-out;
}

.navbar-custom a {
    color:#333333;
}

.navbar-custom .navbar-nav > li > a:hover,
.navbar-custom .navbar-nav > li.active a {
    color:#E83D3C;
    background:transparent;
}

.navbar-custom .navbar-nav > li > a:active,
.navbar-custom .navbar-nav > li > a:focus {
    color:#E83D3C;
    background:transparent;
}

.navbar-custom .icon-bar {
    background:#E83D3C;
}

.sticky-wrapper {
    position:absolute;
    width:100%;
    transition:.5s all;
}

.sticky-wrapper a {
    color:#ffffff;
}

.is-sticky .navbar-custom {
    width:100%;
    background:rgba(0,0,0,.8);
    -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
    -moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
    transition: background .5s ease-in-out,padding .5s ease-in-out;
    backdrop-filter: blur(10px);
}

.is-sticky a {
    color:#ffffff;
}

.navbar-custom a {
    padding: 8px 0;
}

#nav { padding-top:10px; }
#logo { display:block; }
.navbar-toggler { background-color:transparent; border:0; }
.navbar-toggler svg { width:1.5em; height:1.5em; }

.mw-1 { max-width:1680px; }

/* MD- */
#nav { padding-top:3px; }
.navbar-header { width:100%; display: flex; align-items: center; }
.navbar-custom { padding:0; }
.navbar-custom a { padding: 13px 0; }
.navbar-right { float:none !important; }
.navbar-custom .navbar-nav { display:flex; width:100%; justify-content: center; }
.navbar-custom .navbar-nav > li { display:inline-block; float:none; }
.navbar-custom a { padding: 8px 0; text-decoration: none; }

@media only screen and (max-width: 1023px), only screen and (max-device-width: 1023px) {
    .container { width:100%; }
    .sticky-wrapper { padding-top:0; }
    #nav { padding-top:0; }
}
@media only screen and (max-width: 1199px), only screen and (max-device-width: 1199px) {
    .navbar-collapse { height:100vh; text-align: center; }
    .navbar-collapse .navbar-nav { padding-top:50px; }
    #logo { margin:0 0 0 10px; }
    .navbar-custom {
        width:100%;
        background:rgba(0,0,0,.8);
        -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
        -moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
        transition: background .5s ease-in-out,padding .5s ease-in-out;
    }
}
/* ONLY XS */
@media (max-width: 991px) {
    .navbar-custom .navbar-nav > li { display:block; float:none; }
    #logo img { width: 285px; }
}

@media (max-width: 560px) {
    #logo img { width: 285px; }
}

@media (max-width: 440px) {
    #logo img { width: 200px; }
}

/* HIGHLIGHT */
#highlight {
    padding:0;
    position:absolute; left:0; right:0; bottom:0; z-index:21;
}

#highlight h2 {
    color:#ffffff;
    margin-bottom:0;
}

#highlight #left {
    color:#b0b0b0;
    background:rgba(15,15,15,.8);;
    min-height:100px;
    padding:15px 30px;
}
#highlight #left h2 {
    margin-top:0;
}

#highlight #right {
    background:#E83D3C;
    min-height:100px;
}

#right #countdown {
    padding:15px 0;
}

@media only screen and (max-width: 1023px), only screen and (max-device-width: 1023px) {
    #highlight #left { text-align:center; min-height:0; }
    #highlight #left h2 { font-size:30px; }
}


/* ABOUT */
#about {
    padding:100px 0;
    background-color: #000;
    color:#fff;
    position:relative;
}

#about i {
    color:#969696;
    margin-bottom:10px;
}

#about .lead p { margin:1.5em 0; }
#about .lead p:last-child { margin-bottom: 0; }

.feature {
    margin:50px 0 0 0;
}

/* countdown */
#countdown {
    margin-top:0;
}

#countdown .countdown_amount {
    color:#fff;
    font-family:'montserratregular', sans-serif;
    font-size:40px;
    line-height:50px;
    text-align:center;
}

#countdown .countdown_section {
    color:#fff;
    font-family:'montserratbold', sans-serif;
    font-size:13px;
    line-height:10px;
    letter-spacing:0;
    text-align:center;
}

/* SPEAKER */
#speakers-item { padding:180px 0 90px 0; position: relative; }
#speakers:before,
#speakers-item:before {
    width: 100%;
    content: " ";
    background-image: url(/img/slide-2025-1920.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    opacity:.3;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    height: 100%;
    filter: brightness(50%);
    box-shadow: 0 0 150px inset #000, 0 0 150px inset #000, 0 0 150px inset #000, 0 0 150px inset #000;
}

#speakers {
    overflow:hidden;
    background:#000000;
    padding:70px 0 90px 0;
    position: relative;
}
#speakers article { margin-bottom:2em; }
#speakers h4 {
    font-size: 21px;
    text-transform: uppercase;
}
#speakers .raquo { font-family:sans-serif; font-size:27px; }

#speakers span.aim {
    margin-bottom: -4px;
}

#speakers article h4 a { display:flex; }
#speakers article h4 a span.aim { min-width:24px; max-width:24px; margin-right:6px; }

#speakers .trainings-title { margin:2em 0 1em 0; text-decoration: underline; }
#speakers ul.trainings { margin:0 0 0 1em; padding:0; list-style-type: none; }
#speakers ul.trainings li:before {
    content: '+';
    padding-right: 5px;
    color: #fff;
    font-weight: bold;
}

.speaker-item {
    font-size: 17px;
    padding: 0 30px .5em 30px;
}

.speaker-item h5 {
    color:#fff;
    font-weight:bold;
    font-size:18px;
}

.speaker {
    margin-bottom:30px;
    background:#ffffff;
}

.speaker .caption {
    padding:10px;
}

.speaker h4 {
    font-family:'montserratregular', sans-serif;
    font-size:16px;
    letter-spacing:1px;
    margin-bottom:0;
}

.speaker h4:after {
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    margin:0 auto;
    background-color: #E83D3C;
    margin-top: 10px;
    margin-bottom: 5px;
}

/* AGENDA */
.row-agenda {
    padding:.5em 0;
    border-top:1px solid #111;
    color:#969696;
}
.row-agenda b { color:#fff; }
.row-agenda:hover {
    background-color:#111;
}

#agenda {
    color:#ffffff;
    background-image: url(../img/bg-dark.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    padding:70px 0 90px 0;
}

#agenda h2 {
    color:#E83D3C;
}
#agenda .lead {
    margin-top:45px;
}
#agenda h4 {
    font-size:17px;
    letter-spacing:0;
}

#agenda .lead {
    color:#ffffff;
}

#agenda img {
    border:2px solid #ffffff;
}

#agenda .nav-tabs {
    border-bottom:none;
    margin-bottom:20px;
    font-size:19px;
    text-transform: uppercase;
}

#agenda .nav-tabs > li > a {
    color: #ffffff;
    padding:10px 100px 10px 0;
    background: none;
    border:none;
    cursor: pointer;
    font-weight:bold;
}

#agenda .nav-tabs > li.active > a {
    color: #E83D3C;
    padding:10px 100px 10px 0;
    outline:none;
}

#agenda .nav-tabs > li > a:hover,
#agenda .nav-tabs > li.active > a:hover {
    color: #969696;
}

#agenda .panel {
    background:transparent;
}

#agenda .panel-body {
    padding:20px 0;
}

#agenda .panel-default {
    border:none;
    border-bottom:3px dotted #969696;
    border-radius:0px;
}

#agenda .panel-default > .panel-heading {
    color: #333333;
    background:transparent;
    border-color: #ffffff;
    padding:10px 0;
}

#agenda .panel-title {
    float:left;
}

#agenda .panel-title > a {
    color: #ffffff;
    font-family:'Source Code Pro';
    text-decoration:none;
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    transition: all 0.1s;
}

#agenda .panel-title > a:hover {
    color: #ffffff;
}

#agenda .date {
    color:#E83D3C;
    font-family:'Source Code Pro';
    margin-bottom:0;
    font-size:17px;
    line-height:18px;
}

#agenda .speaker-name {

    font-family:'montserratregular';
    font-size:12px;
    letter-spacing:1px;
}

#agenda .panel-body h4 {
    color:#666666;
    font-size:21px;
}

#agenda .panel-body p {
    margin-right:10px;
    display:inline-block;
}

#agenda .panel-body p span {
    color:#666666;
    display:inherit;
}

#agenda .about-speaker i{
    color:#262626;
}

#agenda .about-speaker a{
    color:#262626;
    text-decoration:none;
}

#agenda .about-speaker a:hover{
    color:#000000;
    text-decoration:none;
}

@media only screen and (max-width: 480px), only screen and (max-device-width: 480px) {

    #myTab li {
        width:100%;
    }

    #agenda .panel-title {
        display:block;
        float:none;
    }

    #agenda .speaker-name {
        text-align:center;
        margin-top:20px;
    }

}

/* VENUE */
#venue {
    padding-top:0;
    padding-bottom:0;
}

#venue .venue {
    background-image: url(../img/hotel-jw-marriott.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    height:600px;
    display:table;
    width:100%;
    min-height:600px;
}

#venue.subpage .venue {
    height:400px;
}

#venue .venue .venue-inner {
    color:#ffffff;
    background:rgba(0,0,0, 0.8);
    display:table-cell;
    vertical-align:middle;
}

.venue-inner h2 {
    margin-top:0;
    margin-bottom:45px;
}
.venue-inner a { text-decoration: none; }

#venue h3 {
    margin-top:10px;
}

#venue h3:after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background-color: #E83D3C;
    margin-top: 12px;
    margin-bottom: 15px;
}

.venue-inner h4 {
    color:#ffffff;
}

#venue i {
    color:#E83D3C;
}

.venue-inner .lead {
    color:#ffffff;
}

.venue-info {
    margin-bottom:45px;
}

#venue-full h3 { margin-top:1.5em; }

.hotel-carousel {
    margin-top:20px;
    margin-bottom:70px;
}

#hotel-carousel .item {
    margin:0 7px;
}

.hotel .caption {
    position:relative;
    padding:10px 0 0 0;
    line-height:19px;
}

.hotel .caption h5 {
    font-family:'montserratlight';
}

.hotel .caption .rating {
    position:absolute;
    top:0;
    right:0;
    padding:17px 0 0 0;
}

/* TRAINING */
#training { position:relative; }
#training h2 { margin-bottom:45px; }
#training h4 { font-size:21px; text-transform:uppercase; margin:0; }
#training .instructor { color:#fff; text-transform:none; display:inline-block; }
#training .intro { padding:.5em 0; }
#training article { margin-bottom:2em; }
#training .raquo { font-family:sans-serif; font-size:27px; }
#training span.aim { margin-bottom:-4px; }

/* TRAINING-ITEM */
#training-item {
    color:#fff;
    background-color:#000;
    padding:0;
    position:relative;
    z-index:2;
}
#training:before,
#training-item:before{
    width: 100%;
    content: " ";
    background-image: url(/img/bottom/bottom_seats.jpg);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    opacity:.3;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    height: 100%;
    filter: brightness(50%) blur(5px);
    box-shadow: 0 0 150px inset #000, 0 0 150px inset #000, 0 0 150px inset #000, 0 0 150px inset #000;
}
#training-item .container { z-index:2; position:relative; }
#training-item .bg { background-image: url(/img/bottom/bottom_seats.jpg); }
#training-item h1 small  { color:#fff; }
#training-item .feature { background-color:rgba(0,0,0,.75); padding:1.5em; }
#training-item .feature span { display:inline-block; color:#fff; font-size:1.5em; margin-top:1em; font-weight:bold; }
#training-item .feature i { color:#b0b0b0; }
#training-item .feature h4 { margin:.5em 0; }

#training-item h3 { margin:2em 0 1em 0; text-transform:uppercase; }
#training-item h4 { margin:2em 0 1em 0; text-transform:uppercase; }
#training-item ul li h4 { padding-top:3px; }

/* First level */
#training-item ul { padding:0; margin:0; list-style-type: none;}
#training-item ul li {
    background: url('/img/bullet_aim.png') no-repeat left top;
    padding:0 34px;
    margin:0 0 1em 0;
}

#training-item ul li strong,
#training-item p strong { color:#fff; font-size:1.1rem; }
#training-item h3 { color:#fff; }

section.agenda .heading { display: flex; color:#fff; }
section.agenda .heading:before {
    content: '';
    background: url(/img/bullet_aim.png) no-repeat left center;
    height: 1em;
    width: 1em;
    margin-left:-.4em;
}

#training-item .heading { display: flex; color:#fff; align-items: center; }
#training-item .heading:before {
    content: '';
    background: url(/img/bullet_aim.png) no-repeat left center;
    height: 24px;
    width: 24px;
    margin-left:-31px;
    margin-right:6px;
}

/* Next levels */
#training-item ul ul { margin:0 0 2em 34px; }
#training-item ul ul li { background:none; padding:0 0 0 1em; text-indent: -1em; margin:0; min-height:0; }
#training-item ul ul li:before { content:'+'; padding-right: 5px; color:#BE1E2D; font-weight:bold; }

/* Fix OLs */
#training-item ol li { background: none; padding: 0; margin: 0; }

.trainings-item {
    display:flex;
}
.trainings-item .item-aim {
    margin-right:10px;
}
.trainings-item .item-content a {
    text-decoration: none; display: inline-block;
}

/* REGISTER */
.button-register {
    margin:2em 0;
}

#register {
    background:url(/img/sections/offensivecon-2026-by-binary-gecko-reserve-your-tickets-now-bg.jpg) no-repeat center center; /* #190608 */
    background-size: cover;
    padding:0 0;
}
#register .container { padding:200px 0; }
#register h3 { margin:0 1em 3em 1em; }



#register-tokyo {
    background:url(/img/slider/Offensivecon-Tokyo-by-Binary-Gecko-2.jpg) no-repeat 35% 25%; /* #190608 */
    background-size: cover;
    padding:0 0;
    min-height:780px;
}
#register-tokyo {  }
#register-tokyo h3 { 
    font-size:36px; 
    margin-bottom: .5em;
    line-height: 1.1;
    font-weight: bold;
}


#price-carousel {
    margin:20px 0 40px 0;
}

.price-table {
    color:#ffffff;
    background:#E83D3C;
    padding:20px;
    line-height:1;
    font-weight:300;
    position:relative;
    overflow:hidden;
}

.early-bird {
    background:#4f4f51;
}

.standart {
    background:#611a20;
}

.vip {
    background:#1a1a1a;
}

.price-table .icon {
    color:rgba(255,255,255, 0.4);
    position:absolute;
    bottom:-50px;
    right:-50px;
    display:block;
    font-size:40px;
}

.price-table .price {
    color:#ffffff;
    font-family:'montserratbold', sans-serif;
    font-size:50px;
    font-weight:400;
}

.price-table h3 {
    color:#ffffff;
    background:#262626;
    font-family:Open Sans;
    font-weight:400;
    font-size:10px;
    letter-spacing:2px;
    border-radius:30px;
    text-transform:uppercase;
    padding:0px 16px;
    margin:0 0 10px 0;
    display:inline-block;
    float:right;
}

.price-table .desc li {
    font-family:'montserratlight';
    line-height:2;
    border-bottom:1px dotted;
    border-color:rgba(255,255,255, 0.7);
}

.price-table .desc li:last-child {
    border-bottom:none;
}

/* SPONSORS */

#sponsors {
    margin:30px 0;
    padding:70px 0 90px 0;
}

.sponsor {
    border:2px solid #E83D3C;
    margin:0 5px;
    padding:10px;
    text-align:center;
}

#sponsors-carousel:first-child {
    margin-left:0;
}

#sponsors-carousel:last-child {
    margin-right:0;
}
#sponsors i {
    color:#E83D3C;
}
#sponsors .page {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    display:table;
    width:100%;
}
#sponsors .page-inner {
    color:#ffffff;
    background:rgba(0,0,0, 0.85);
    display:table-cell;
    vertical-align:top;
    padding:120px 0;
}
#sponsors h1 { margin-top:45px; }

.sponsors:before {
    content: ' ';
    display: block;
    margin:25px 0;
    height: 1px;
    width:100%;
    background: black;
    background: -webkit-gradient(linear, 0 0, 100% 0, from(black), to(black), color-stop(50%, #E83D3C));
    flex-grow: 0;
}
.sponsors:after {
    content: ' ';
    display: block;
    margin:25px 0;
    height: 1px;
    width:100%;
    background: black;
    background: -webkit-gradient(linear, 0 0, 100% 0, from(black), to(black), color-stop(50%, #E83D3C));
    flex-grow: 0;
}
.sponsors { display:block; margin: 2.5em 0 1.5em 0; }
.sponsors span { vertical-align: middle; margin-left:.5em; flex-shrink:0; font-weight: bold; text-transform: uppercase; }
.sponsors span span { display: block; }
.sponsors i { font-size:2em; vertical-align: middle; width:1.2em; text-align:left; display:inline-block; }
.sponsors.diamond i { background: -webkit-linear-gradient(#00aeef, #1e4397); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.sponsors.gold i { background: -webkit-linear-gradient(#EBD197, #B48811);-webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.sponsors.bronze i { background: -webkit-linear-gradient(#A75B10, #804000);-webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.sponsors.silver i,
.sponsors.how i { background: -webkit-linear-gradient(#eee, #666); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.sponsors.party i { background: -webkit-linear-gradient(#E83D3C, #fee140);-webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.sponsors.divers i { background: -webkit-linear-gradient(#1e4397, #fee140, #34a852);-webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.sponsors.travel i { background: -webkit-linear-gradient(#eee, #fff);-webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.sponsors.literary i { background: -webkit-linear-gradient(#eee, #666);-webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.sponsors.whiskey img { width:70px; height:auto; display:inline-block; }
.sponsor-outer { display: flex; min-height: 290px; }
.sponsor-outer img { padding:40px; margin:auto; }
.sponsor-outer.zd img { padding:40px 25px; }

.sponsor-outer.diamond {  min-height: 0; }
.sponsor-outer.diamond img { padding-top:0; padding-bottom:0; }
.sponsor-outer.first-el img { padding:0; }
.sponsor-outer.first-el { min-height: 0; padding:40px 0 0 0; }

.sponsor-icon { height:56px; }

hr.short-divide { max-width:250px; }

h3.sponsors {
    display: flex;
    align-items: center;
}

/* CONTACT */
#gmap_canvas {
    height:640px;
    transform:none !important;
    -webkit-transform:none !important;
    -moz-transform:none !important;
    -o-transform:none !important;
    -ms-transform:none !important;
    border-top:1px solid #f2f2f2;
}

.gmnoprint,
.gm-style-cc {
    display:none;
}

footer {
    position:relative;
    z-index:2;
    color:#ffffff;
    background:url(/img/sections/offensivecon-organized-by-binary-gecko.jpg) no-repeat center center; /* #190608 */
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    padding:70px 0;
}

footer h4 {
    color:#ffffff;
    margin-bottom:23px;
}

footer ul li a {
    color:#ececee;
}

footer ul li a:hover {
    color:#ffffff;
}

footer .button-big {
    font-size:16px;
    width:100%;
}

footer dt {
    color:#ffffff;
    font-family:'montserratlight';
    font-size:13px;
    margin-top:7px;
    margin-bottom:3px;
    cursor:pointer;
}

/* Subfooter */

.subfooter {
    position:relative;
    z-index:2;
    color:#ececee;
    font-size:10px;
    letter-spacing:1px;
    background:#000000;
    padding:20px 0;
}
.subfooter a { cursor:pointer; text-decoration: none; }

.subfooter ul {
    margin-bottom:0;
}

.subfooter li a {
    color:#ececee;
}

.subfooter li a:hover {
    color:#ffffff;
    text-decoration:none;
}

/* MISC. */

/* BUTTONS */

.section-button { text-align:center; margin-top:90px; display:block; }

.button {
    font-family:'montserratregular';
    font-size: 17px;
    text-transform: uppercase;
    border: none;
    border-radius:4px;
    padding: 5px 15px;
    display: inline-block;
    position: relative;
    outline: none;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    text-decoration: none;
}

.button:after {
    content: '';
    position: absolute;
    z-index: -1;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.button-xsmall {
    padding:2px 7px;
    font-size:11px;
    letter-spacing:1px;
}

.button-small {
    padding:5px 30px;
    font-size:13px;
    letter-spacing:1px;
}

.button-big {
    padding:10px 18px;
    font-size:21px;
}

.button-xxl {
    padding:20px 25px;
    font-size:32px;
    letter-spacing:3px;
    line-height:1em;
}

.button-line-light {
    color:#ffffff;
    background:transparent;
    border:2px solid #ffffff;
}

.button-line-light:hover,
.button-line-light:active {
    color: #262626;
    background: #ffffff;
    text-decoration:none;
}

.button-line-dark {
    color:#262626;
    background:transparent;
    border:2px solid #262626;
}

.button-line-dark:hover,
.button-line-dark:active {
    color: #ffffff;
    background: #262626;
    text-decoration:none;
}

.button-solid-red {
    color:#fff;
    background:#E83D3C;
    border:2px solid #E83D3C;
}

.button-solid-red:hover,
.button-solid-red:active,
.button-solid-red:focus {
    color: #262626;
    background: #fff;
    text-decoration:none;
    border:2px solid #fff;
}

.button-solid-white {
    color:#E83D3C;
    background:#fff;
    border:2px solid #fff;
}

.button-solid-white:hover,
.button-solid-white:active,
.button-solid-white:focus {
    color: #262626;
    background: #fff;
    text-decoration:none;
    border:2px solid #fff;
}

/* PRELOAD */

#preload {
    background: #000000;
    position: fixed;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display:table;
}

#preload .preload {
    display:table-cell;
    vertical-align:middle;
}

.spinner {
    width: 120px;
    height: 120px;
    background: url(/img/bg_aim.png) no-repeat center center;
    background-size: cover;
    image-rendering: pixelated;
    margin: 100px auto;
    -webkit-animation: rotateplane 1.2s infinite ease-in-out;
    animation: rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes rotateplane {
    0% { -webkit-transform: perspective(120px) }
    50% { -webkit-transform: perspective(120px) rotateY(180deg) }
    100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes rotateplane {
    0% {
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
    } 50% {
          transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
          -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
      } 100% {
            transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
            -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
        }
}

/* CONTENT - TEMPLATE */
#contentpage { padding:0; }
#contentpage .page {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    display:table;
    width:100%;
}
#contentpage .page-inner {
    color:#ffffff;
    background:rgba(0,0,0, 0.45);
    display:table-cell;
    vertical-align:top;
    padding:90px 0;
}
#contentpage h1 { margin-top:45px; }
@media (min-width: 1024px) {
    #contentpage h1 { margin-top:90px; }
}

/* CUSTOM */
strong { color:#E83D3C; }

.fspacer, .spacer-45px, .spacer-90px { display:block; height:115px; clear:both; }
.spacer-45px { height:45px; }
.spacer-90px { height:90px; }

.top-image { width:100%; height:300px; background-size:cover; }

.hotel-logo { max-width:240px; }

table.registration { margin:2em 0; }
table.registration th { border-bottom:2px solid #333; padding:0 0 .8em 0; }
table.registration td { border-bottom:1px solid #333; padding:.4em 0;}
table.registration tr:hover td { background-color:#333; }

span.aim {
    display:inline-block; width:24px; height:24px;
    background:url(/img/bullet_aim.png) no-repeat center center;
}

a img { transition:all .2s; }
a:hover img { opacity:.66; }

.text-center { text-align: center; }
.text-white { color:#fff; }
.text-red { color:#E83D3C !important; }

/* MD+ */
@media (min-width: 992px) {
    .sticky-wrapper #nav-primary {
        padding-top: 0px;
    }

    .sticky-wrapper.is-sticky #nav-primary {
        padding-top: 0;
    }
}

/* Archives */
.row-archive h3,
.row-archive > div { margin-bottom:1em; }

a.archive { display:block; border:2px solid #111; background-size:cover; position:relative; transition:.5s all; }
a.archive:hover { 
    border-width: 2px;
    border-style: solid;
    /* border-image:linear-gradient(45deg, #BE1E2D, #820000) 1 100%; */
    border-image: linear-gradient(45deg, #BE1E2D, #820000, #BE1E2D) 60;
}
a.archive span { color:#fff; position:absolute; bottom:0; left:0; right:0; font-family:'montserratbold', sans-serif; font-size:2em; text-align:center; background-color:rgba(0,0,0,.8); padding:10px 0; transition:.25s all; }
a.archive:hover span { padding:30px 0; }
a.archive img { object-fit: cover; width:100%; height:100%; filter:grayscale(100%); }
a.archive:hover img { filter: grayscale(0%); }
a.archive.speakers { }
a.archive.agenda { }
a.archive.trainings { }
a.archive.sponsoring { }

@media (max-width: 1023px) {
    a.archive span { font-size:1.25em}
}

/* Videos */
.ratio {
    box-shadow:0 0 50px #000;
    background-color:#000;
}

.button-register-big {
    margin:2em 0;
    font-size:2em !important;
    padding:20px 40px !important;
    line-height:1.25em;
}

.d-inline-block { display:inline-block; }

/* MD+ */
@media (min-width: 1024px) {
    .pull-right-md { float:right; }
}
@media (max-width: 1023px) {
    .text-left-md { text-align: left; }
}

.vh100-teaser { position: relative; min-height: 100vh; height:700px; display: flex; align-items: center; }
.vh100-teaser .bg-image { width: 100%; height:100%; position: absolute; z-index:-1; }
.vh100-teaser .bg-image img { width: 100%; height:100%; object-fit: cover; object-position: center; }
.vh100-teaser .countdown-bottom { position: absolute; bottom:0; left:0; right:0; }
.vh100-teaser h2 { margin-top:3em; }

.vh100-teaser h2,
.vh100-teaser h3 { letter-spacing: .01em; }
.vh100-teaser h2 {
    font-size: 60px;
    line-height: 72px;
    font-family: montserratbold;
    color: #ffffff;
    text-decoration: none;
    background-color: transparent;
    /* text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.25); */
    border-width: 0px;
    border-color: rgb(0, 0, 0);
    border-style: none;
    margin:0;
}
.vh100-teaser h3 { font-size: 40px; line-height:1.25; font-family: 'montserratbold', sans-serif; margin:0; color:#fff;}

.vh100-teaser .date {
    font-size: 30px;
    font-weight: 300;
    font-family: 'montserrat', sans-serif;
    color: #ffffff;
    text-decoration: none;
    background-color: transparent;
    text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.25);
    border-width: 0px;
    border-color: rgb(0, 0, 0);
    border-style: none;
    margin:.5em 0 1em 0;
}
.vh100-teaser .date span.slash {
    transform: scale(1.25);
    display: inline-block;
    margin: 0 .25em;
    font-weight: bold;
    color:#E83D3C;
}

@media (max-width: 1023px) {
    .vh100-teaser h2 { font-size:55px !important; line-height: 1 !important; }
    .vh100-teaser .date { font-size:28px !important; line-height: 1.5 !important; }
}
@media (max-width: 560px) {
    .vh100-teaser { align-items: start; }
    .vh100-teaser h2 { font-size: 45px !important; padding-top:125px; }
    .vh100-teaser h3 { font-size: 30px; }
}

/* For console-text */
.fx-mark {
    color:#fff;
    background-image: linear-gradient(to bottom, #BE1E2D, #820000);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: 0 0.8em;
    padding: 0.1em 0.4em;
    margin-bottom:1em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    display: inline-block;
    text-shadow: 0 0 5px #000, 0 0 5px #000
}

/* Underline Gradient */
.underline-gradient {
    color: #fff;
    position: relative;
    display: inline-block;
    margin: 0 0 1rem 0;
}

.underline-gradient::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #BE1E2D, #820000);
    border-radius: 2px;
}

a:hover .underline-gradient {
    color: #ffb0b8;
}

.section-bg-fx { position: relative; overflow: hidden; }
.section-bg-fx:before {
    content:'';
    position:absolute;
    top:0;
    left:-33vw;
    height:50vh;
    width:100vw;
    background-color:#E82C2A;
    border-radius:100%;
    filter:blur(80px);
    z-index:-1;
    transform: rotate(-18deg);
    opacity:.2;
}
.section-bg-fx.var2:before {
    top: 17%;
    left: 2vw;
    transform: rotate(-2deg);
}
.section-bg-fx:after {
    content:'';
    position:absolute;
    bottom:0;
    right:0;
    height:80vh;
    width:50vw;
    background-color:#820000;
    border-radius:100%;
    filter:blur(162px);
    z-index:-1;
    opacity:.2;
}

.bg-black { position: relative; z-index: 2; }

.social-svg { width:2em; height:2em; }

.vw-50 { width: 50vw}

.f-kami { font-family: 'Kamikaze Italic', sans-serif; letter-spacing: 0.075em; }