@CHARSET "UTF-8";

/*

Theme Name: K.I.T. WAVE
Standard WAVE styles
Author: Joscha Schmidt

!!!!!!!!!!!!!!!!!!!!!!
!                    !
! PLEASE DON'T TOUCH !
!                    !
!!!!!!!!!!!!!!!!!!!!!!


> Create a child theme with style.css to change appeareance











^^^^^^^^^^^^^^^^^^^^^^^^^^^
READ ABOVE BEFORE CONTINUE!

*/




/* Default Styles */
html {
    font-size:100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    text-rendering: optimizeLegibility;
}

.aligncenter {
    text-align: center;
}

.full-width {
    width: 100%;
}

.size-full {
    height: auto !important;
    width: 100% !important;
}


/* Header */

header .site-logo img {
    max-width: 200px;
    margin: 2em 2em 2em 0;
}

/* Buttons */

    /* Homepage */

    .homepage .button {
        font-size: 1.3em;
        text-align: center;
    }

    .button span {
        font-size: .7em !important;
    }

.button {
    background-color: #fff;
    background: rgba(255, 255, 255, .9);
    border-radius: 2px;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .3);
    color: #db0031;
    display: inline-block;
    font-size: 20px;
    line-height: 1em;
    padding: 15px 40px 16px;
}

.button:hover {
/*
    -webkit-transition: background-color 150ms ease-out 100ms, color 150ms ease-out 100ms;
    -moz-transition: background-color 150ms ease-out 100ms, color 150ms ease-out 100ms;
    -o-transition: background-color 150ms ease-out 100ms, color 150ms ease-out 100ms;
    transition: background-color 150ms ease-out 100ms, color 150ms ease-out 100ms;
*/

    background-color: #db0031;
    color: #fff;
    text-decoration: none;
}

.button:active {
    background-color: #db0031;
    box-shadow: 0 0 0;
    color: #fff;
}

/* Breadcrumbs */
    .breadcrumbs {
        font-size: .9em;
        line-height: 3em;
    }

/* People */
    .person .image {
        margin: 20px 0 0;
    }

    .person img {
        border-radius: 90px;
    }

    .person img.silhouette.thumbnail {
        display: inline-block;
        height: 150px;
        margin: 0;
        width: 150px;
    }

/* Speakers */
    .speakers .person {
        border-bottom: 1px solid #70b8d1;
        padding: 3em 0;
    }

    .speakers .person .image {
        margin: 0;
    }

    .speakers .person .image img,
    .speakers .person .image img.silhouette.thumbnail {
        height: 90px;
        width: 90px;
    }

/* Responsive Tools */
    .responsiveBox {
        position: relative;
        padding-bottom: 56%;
        height: 0;
        overflow: hidden;
    }

    .responsiveBox iframe,
    .responsiveBox object,
    .responsiveBox embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

/* Maps */
.map-box {
    border: #ccc solid 1px;
    height: 400px;
    margin: 20px 0;
    width: 100%;
}

* .....................................
/  Menu
*/

    /* Mobile header bar */
    .page-header .mobile-bar {
        float: left;
        z-index: 11;
    }

    .page-header .mobile-bar a,
    .page-header .menu-wrapper header a {
        color: #97a41a;
        display: inline-block;
        height: 46px;
        padding-top: 9px;
    }

    .page-header .mobile-bar a i,
    .page-header .menu-wrapper a i {
        font-size: 1.9em;
        line-height: .9em;
        padding: 0 7px 0 10px;
    }

    .page-header #main-menu.menu-wrapper a i {
        padding: 0 15px 0 18px;
    }

    .page-header .mobile-bar.more,
    .page-header #more-menu.menu-wrapper header a {
position: fixed;
top: 0;
right: 0;
z-index: 10;
display: inline-block;
left: auto
    }

    .page-header .mobile-bar.more a {
        color: #fff;
        display: inline-block;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, .75);
    }

    .page-header .mobile-bar a:active,
    .page-header .menu-wrapper header a:active {
        color: #a3aaae !important;
    }

    .page-header .mobile-bar a,
    .page-header .menu-wrapper header a {
        cursor: pointer;
    }


    .page-header .logo-menu {
        float: left;
    }

    @media (min-width: 992px) {
        .page-header .logo-menu {
            float: none;
        }

        .mobile-bar.main-menu {
            display: none;
            float: none;
        }
    }

    /* Toogle */
    .menu-toggle img {
        height: 36px;
        width: 36px;
    }

    /* <-- Toggle */

    .nav ul,
    ul.nav {
        margin: 0;
        padding: 0;
    }

    .menu-wrapper {
        background-color: #fafafa;
        box-shadow: 3px 3px 8px rgba(0, 0, 0, .38);
        bottom: 0;
        display: none;
        left: 0;
        overflow: auto;
        padding: 0;
        position: fixed;
        top: 40px;
        z-index: 11;
    }

    #more-menu.menu-wrapper {
        box-shadow: -3px 3px 8px rgba(0, 0, 0, .38);
        left: auto;
        right: 0;
        z-index: 11;
    }

    .menu-wrapper header {
        background-color: #b9b4b1;
        height: 44px;
    }

    .page-header .menu-wrapper header a {
        color: #000;
    }

    .menu-wrapper li {
        list-style: none;
        border-top: 1px dotted #d1d0d0;
    }

    .menu-wrapper li:first-child {
        border-top: 0;
    }

    .menu-wrapper li a {
        padding: .65em 3em .65em 22px;
        position: relative;
        font-size: 20px;
        font-weight: 500;
    }

    .main-menu-wrapper a::after {
        background: none repeat scroll 0 0 #00ffaa;
        clear: both;
        content: ".";
        display: block;
        height: 0;
        visibility: hidden;
    }


    .main-menu-wrapper .nav > li > a,
    .main-menu-wrapper .nav > li a {
        display: block;
        white-space: nowrap;
    }


    @media (min-width: 992px) {
        /* All menu wrappers */
        .menu-wrapper {
            background: transparent;
            overflow: hidden;
            position: static;
            bottom: auto;
        }

        .menu-wrapper li {
        }

        .menu-wrapper li a {
            display: block;
            padding: .35em 1em;
        }


        /* Next menu -> Desktop */
        .page-header .mobile-bar.more,
        .page-header #more-menu.menu-wrapper header a {
            position: static;
            float: right;
        }

        .menu-box {
            background: rgba(255, 255, 255, .85);
            border-top: 1px solid #dedddc;
        }

        .menu-box > .container {
            position: relative;
        }

        header .menu-wrapper {
            box-shadow: 0 0;
            display: block;
            overflow: visible;
            position: static;
        }

        #main-menu.menu-wrapper header {
            display: none;
        }

        .main-menu-wrapper {
        }

        #menu-more-menu.nav {
            -webkit-column-count: 2; /* Chrome, Safari, Opera */
            -moz-column-count: 2; /* Firefox */
            column-count: 2;

            -webkit-column-gap: 1em; /* Chrome, Safari, Opera */
            -moz-column-gap: 40px; /* Firefox */
            column-gap: 40px;
        }


        #main-menu.menu-wrapper li {
            border: 0;
            display: block;
            float: left;
            margin: 0;
            position: relative;
        }

        #main-menu.menu-wrapper li li {
            display: block;
            float: none;
        }

        .menu-wrapper li a {
            font-size: 1em;
        }

        .main-menu-wrapper .nav > li > a,
        .main-menu-wrapper .nav > li a {
            display: table-cell;
            padding: .8em 1em;
            vertical-align: middle
        }
    }

    .mobile-bar {
        background-color: rgba(255, 255, 255, .8);
        height: 40px;
        left: 0;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 10;
    }
    @media (min-width: 992px) {
        .mobile-bar {
            display: none !important;
        }
    }

    .main-menu-wrapper ul.sub-menu {
        background-color: #e2e2e2;
        display: none;
    }

    .current-menu-item ul.sub-menu,
    .current-menu-parent ul.sub-menu {
        display: block;
    }

    @media (max-width: 991px) {
        .menu-wrapper li.current-menu-item > a,
        .menu-wrapper li.current-menu-parent > a {
            font-weight: bold;
        }
    }

    @media (min-width: 992px) {
        .main-menu-wrapper .menu-main-menu-container > ul > li:not(.menu-item-has-children):hover > a,
        .main-menu-wrapper ul > li:hover > a,
        .main-menu-wrapper ul > li.menu-item-has-children:hover > a,
        .main-menu-wrapper .current-menu-item > a,
        .main-menu-wrapper .current-page-parent > a,
        .main-menu-wrapper .current_page_item > a,
        .main-menu-wrapper .current-menu-ancestor > a {
            text-decoration: none;
        }

        /* Submenus */
        .main-menu-wrapper ul.sub-menu {
            background-color: #db0031;
            border: 0;
            box-shadow: 0 9px 8px rgba(0, 0, 0, .3);
            display: none;
            padding: 1em 0;
            position: absolute;
            z-index: 6;
        }
    }

    /* extra small screens menu styles */
    @media (max-width: 767px) {
        .main-menu-wrapper a {
/*            border-bottom: 1px solid #5c6f79;*/
/*            border-bottom-color: rgba(92, 111, 121, .25);*/
        }


/*
        .main-menu-wrapper .current-menu-ancestor > a,
        .main-menu-wrapper .current-menu-item > a,
        .main-menu-wrapper .current-page-parent > a,
        .main-menu-wrapper .current_page_item > a {
            border-left: 4px solid #000;
        }
*/

/*      Background of the current active menu item
        .main-menu-wrapper .current-menu-ancestor,
        .main-menu-wrapper .current-menu-item,
        .main-menu-wrapper .current-page-parent,
        .main-menu-wrapper .current_page_item {
            background-color: #;
        }
*/

        /* Submenu layer 1 */
        /* transparent border for all submenu items to visually endent */
        .main-menu-wrapper .current-menu-item ul.sub-menu a,
        .main-menu-wrapper .current-menu-item ul.sub-menu a,
        .main-menu-wrapper .current-menu-item ul.sub-menu a,
        .main-menu-wrapper .current-menu-ancestor ul.sub-menu a,
        .main-menu-wrapper .current-menu-ancestor ul.sub-menu a,
        .main-menu-wrapper .current-menu-ancestor ul.sub-menu a {
            border-left: 4px solid;
            border-left-color: transparent
        }

        .main-menu-wrapper li.current-menu-ancestor .current-menu-item > a,
        .main-menu-wrapper li.current-menu-ancestor .current-page-parent > a,
        .main-menu-wrapper li.current-menu-ancestor .current_page_item > a {
            border-left-color: #bbbcbc;
            border-left-color: rgba(92, 111, 121, .55);
        }

        .main-menu-wrapper .current-menu-ancestor > ul.sub-menu,
        .main-menu-wrapper .current-menu-item.menu-item-has-children > ul.sub-menu {
            background-color: #ccc;
            background-color: rgba(92, 111, 121, .2);
            box-shadow: 0 0 0;
            display: block;
            padding: 0;
            position: static;
        }
        /* <-- Submenu layer 1 */

        /* Submenu layer 2 */
        .main-menu-wrapper .current-menu-ancestor .current-menu-ancestor .current-menu-item > a,
        .main-menu-wrapper .current-menu-ancestor .current-menu-ancestor .current-page-parent > a,
        .main-menu-wrapper .current-menu-ancestor .current-menu-ancestor .current_page_item > a {
            border-left-color: #a7a8aa;
        }

        .main-menu-wrapper .current-menu-ancestor.menu-item-has-children .current-menu-item.menu-item-has-children > ul.sub-menu,
        .main-menu-wrapper .current-menu-ancestor.menu-item-has-children .current-menu-ancestor.menu-item-has-children > ul.sub-menu {
            background-color: #eee;
            background-color: rgba(255, 255, 255, .35);
        }
        /* <-- Submenu layer 2 */
    }

    @media (min-width: 992px) { /* Display drop down menus not on extra small screens */
        .main-menu-wrapper ul > li:hover > ul.sub-menu {
            display: block;
        }

        .main-menu-wrapper .nav > li ul.sub-menu li {
            border: 0;
            float: none;
        }

        .main-menu-wrapper .nav > li ul.sub-menu li a {
            border: 0;
            display: block;
            font-size: 18px;
            padding: .4em 3em .4em 1em;
            white-space: nowrap;
        }

        .main-menu-wrapper ul ul > li.menu-item-has-children:hover > a {
            background-color: #63666a;
        }

        .main-menu-wrapper ul ul > li.menu-item-has-children:hover > a {
            background-color: #db0031;
        }

        .main-menu-wrapper .nav > li ul li a:hover {
            background-color: #db0031;
            text-decoration: none;
        }

        .main-menu-wrapper .nav > li ul li ul.sub-menu {
            position: absolute;
            left: 100%;
            top: -10%;
        }

        .main-menu-wrapper .nav > li > ul.sub-menu {
            min-width: 100%;
        }
    }

    /* Program Days Menu */
        .menu-program-days-menu-container {
            margin: 0 auto -10px;
            position: relative;
            text-align: center;
            z-index: 3;
        }

        .menu-program-days-menu-container ul {
            display: inline-block;
        }

        .menu-program-days-menu-container li {
            float: left;
            margin: 0;

        }

        .menu-program-days-menu-container li.current-menu-item a {
            background-color: #00aeef;
        }

        .menu-program-days-menu-container li a {
            background-color: #bec0c2;
            color: #fff;
            display: inline-block;
            font-size: 30px;
            font-weight: 600;
            line-height: .85em;
            padding: 8px 25px 8px;
            text-align: center;
        }

        @media (min-width: 767px) {
            .menu-program-days-menu-container li a {
                padding: 8px 28px 8px;
            }
        }

        .menu-program-days-menu-container li:first-child a {
            border-bottom-left-radius: 3px;
            border-top-left-radius: 3px;
        }

        .menu-program-days-menu-container li:last-child a {
            border-bottom-right-radius: 3px;
            border-top-right-radius: 3px;
        }

        .menu-program-days-menu-container li a:hover {
            -webkit-transition: background-color 500ms ease-out;
            -moz-transition: background-color 500ms ease-out;
            -o-transition: background-color 500ms ease-out;
            transition: background-color 500ms ease-out;
            background-color: #d1d2d3;
        }

        .menu-program-days-menu-container li a.active {
            -webkit-transition: background-color 700ms ease-out;
            -moz-transition: background-color 700ms ease-out;
            -o-transition: background-color 700ms ease-out;
            transition: background-color 700ms ease-out;
            background-color: #70b8d1;
            outline: 0;
        }

        .menu-program-days-menu-container li a span {
            display: block;
            font-size: 24px;
            font-weight: 300;
        }


/* Homepage */
    .homepage .background-image {
        position: relative;
    }

    .homepage .background-image img {
        height: auto;
        width: 100%;
    }

    .homepage .background-image .text {
        background: #fff;
        background: rgba(255, 255, 255, .8);
        bottom: 0;
        color: #000;
        font-size: 18px;
        line-height: 1.5em;
        padding: 1em 1em 1em;
    }

    @media (min-width: 767px) {
        .homepage .background-image .text {
            position: absolute;
        }

        .homepage .background-image .text .button {
            position: absolute;
            top: -165px;
        }
    }

    @media (min-width: 992px) {
        .homepage .background-image .text {
            font-size: 20px;
        }

        .homepage .background-image .text .button {
            top: -300px;
        }
    }

    @media (min-width: 1200px) {
        .homepage .background-image .text {
            padding: 1em 1em 1em;
        }

        .homepage .background-image .text .button {
            top: -425px;
        }
    }


/* Sidebar */
aside img {
    height: auto;
    max-width: 100%;
}

/* Initiate menu icon */
.cmn-toggle-switch {
  display: block;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  font-size: 0;
  text-indent: -9999px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-shadow: none;
  border-radius: none;
  border: none;
  cursor: pointer;
  -webkit-transition: background 0.3s;
          transition: background 0.3s;
}

.cmn-toggle-switch:focus {
  outline: none;
}

.cmn-toggle-switch span {
  display: block;
  position: absolute;
  top: 19px;
  left: 7px;
  right: 7px;
  height: 2px;
  background: white;
}

.cmn-toggle-switch span::before,
.cmn-toggle-switch span::after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  content: "";
}

.cmn-toggle-switch span::before {
  top: -7px;
}

.cmn-toggle-switch span::after {
  bottom: -7px;
}


/* Animate menu icon */
.cmn-toggle-switch__htx {
  background-color: #000;
}

.cmn-toggle-switch span {
  -webkit-transition: background 0 0.3s;
          transition: background 0 0.3s;
}

.cmn-toggle-switch__htx span::before,
.cmn-toggle-switch__htx span::after {
  -webkit-transition-duration: 0.3s, 0.3s;
          transition-duration: 0.3s, 0.3s;
  -webkit-transition-delay: 0.3s, 0;
          transition-delay: 0.3s, 0;
}

.cmn-toggle-switch__htx span::before {
  -webkit-transition-property: top, -webkit-transform;
          transition-property: top, transform;
}

.cmn-toggle-switch__htx span::after {
  -webkit-transition-property: bottom, -webkit-transform;
          transition-property: bottom, transform;
}

/* active state, i.e. menu open */
.cmn-toggle-switch__htx.active {
  background-color: #333;
}

.cmn-toggle-switch__htx.active span {
  background: none;
}

.cmn-toggle-switch__htx.active span::before {
  top: 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.cmn-toggle-switch__htx.active span::after {
  bottom: 0;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.cmn-toggle-switch__htx.active span::before,
.cmn-toggle-switch__htx.active span::after {
  -webkit-transition-delay: 0, 0.3s;
          transition-delay: 0, 0.3s;
}


/* MORE menu */
.cmn-toggle-switch:not(.cmn-toggle-switch__htx) {
  background-color: #000;
}

.cmn-toggle-switch.more span {
    border-radius: 2px;
    left: 18px;
    right: 18px;
    height: 4px;
}

.cmn-toggle-switch.more span::before,
.cmn-toggle-switch.more span::after {
    border-radius: 2px;
    height: 4px;
}

.cmn-toggle-switch.more span::before {
    top: -7px;
}

.cmn-toggle-switch.more span::after {
    bottom: -7px;
}

/* Hotels */

.hotel {
    border-bottom: 1px solid rgba(177, 178, 179, .9);
    padding: 15px;
}

.hotel:not(.header):hover {
    background-color: rgba(177, 178, 179, .1);
}

.hotel .distance-wrapper {
    border: 1px solid rgba(177, 178, 179, .9);
    border-top: 0;
    border-bottom: 0;
}

.hotel .hotel-name {
    background: transparent;
    color: #006442;
    margin: 0;
    padding: 0 0 5px;
    text-transform: none;
}

.hotel a.hotel-name-link {
    text-decoration: none;
}

.hotel .prices-wrapper {
    text-align: right;
}

.hotel a .prices-wrapper,
.hotel a .distance-wrapper {
    color: #000;
}

.hotel .room-type {
    font-size: .9em;
}

.hotel .room-price {
    font-weight: bold;
}

.hotel-stars {
    display: block;
    height: 35px;
    background: transparent url(../images/hotel-stars.png);
    width: 98px;
}

.hotel-stars.star-1 {
    background-position: 0 0;
}

.hotel-stars.star-2 {
    background-position: 0 -35px;
}

.hotel-stars.star-3 {
    background-position: 0 -70px;
}

.hotel-stars.star-4 {
    background-position: 0 -105px;
}

.hotel-stars.star-5 {
    background-position: 0 -140px;
}

.hotel .distance-icon {
    background: transparent url(../images/hotel-distance-to-icons.png);
    display: inline-block;
    height: 20px;
    position: relative;
    top: 4px;
    width: 20px;
}

.hotel .distance-icon.distance-other {
    background-position: 0 0;
}

.hotel .distance-icon.distance-venue {
    background-position: 0 -20px;
}

.hotel .distance-icon.distance-airport {
    background-position: 0 -40px;
}

.hotel .distance-icon.distance-train-station {
    background-position: 0 -60px;
}

.hotel .distance {
    font-size: .9em;
    margin-left: 10px;
}
