﻿body {
    font-family:'Roboto', sans-serif;
}

a.singup-link,
a.login-link {
    color: #95c11e;
}

.fixed-top {
    position:fixed;
    top:70px;
}

.programme-blocking-layer {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index:100000;
    background-color:rgba(255,255,255,0.4);
}

.pbl-loading {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.programme-blocking-layer.showing {
    display:table;
}

.table-programme-simple {
    width:100%;
}

#content .table-programme-simple  td {
    border:none;

}

#content table td.ps-day,
.ps-day {
    color: #262626;
    padding:0;
}

.ps-day span{
    display:block;
    border:1px solid #4a4e54;
    color:#4a4e54;
    padding:8px;
    -moz-border-radius:4px;
    -webkit-border-radius:4px;
    border-radius:4px;
}

.ps-time,
#content .table-programme-simple td.ps-time {
    width: 70px;
    position: relative;
    vertical-align: top;
    text-align: center;
    padding-top:25px;
}

.ps-node {
    border: 1px solid #4a4e54;
    color: #4a4e54;
    padding: 2px 4px;
    background-color: #FFF;
    border-radius: 3px;
    z-index: 1;
    display: block;
    transition: all 0.3s;
}

.ps-node.opened{
    background-color:#4a4e54;
    color:#FFFFFF;
    -moz-box-shadow:0 4px 10px rgba(0,0,0,0.3);
    -webkit-box-shadow:0 4px 10px rgba(0,0,0,0.3);
    box-shadow:0 4px 10px rgba(0,0,0,0.3);
}

.ps-vertical-branch {
    border-left: 1px solid #4a4e54;
    position: absolute;
    left: 50%;
    top: -1px;
    bottom: -1px;
    z-index: -1;
    display: block;
}

.horizontal-border-half-white {
    display: block;
    width: 1px;
    position: absolute;
    top: -23px;
    left: 50%;
    height: 38px;
    background: #FFF;
}

tr.last > td {
    position:relative;
}

.ps-session-header {
    margin:15px 0 0 0;
    position:relative;
}

.session-selector input[type=checkbox] {
    visibility: hidden;
}

.session-selector {
    width: 18px;
    height: 18px;
    position: absolute;
    box-shadow: 0px 1px 3px rgba(0,0,0,0.5);
    display: block;
    z-index: 10;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    border-radius: 100%;
    top: 10px;
    left: 6px;
}

.session-selector + .ps-header-link {
     padding: 10px 10px 10px 30px;
}

.session-selector label{
    cursor: pointer;
    position: absolute;
    width: 18px;
    height: 18px;
    top: 0;
    left: 0;
    background: #eee;
    margin: 0;
    padding: 0;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    border-radius: 100%;
}

.session-selector label:after {
    opacity: 0;
    content: '';
    position: absolute;
    width: 20px;
    height: 10px;
    background: transparent;
    top: -2px;
    left: 2px;
    border: 4px solid #4a4e54;
    border-top: none;
    border-right: none;
    transform: rotate(-30deg) skewY(-0.04turn) scale(0);
    transition: all 0.15s;
}

.session-selector label:hover::after,
.session-selector input[type=checkbox]:checked + label:hover::after{
    opacity: 0.5;
    /*transform-origin:7px 0px;*/
    transform:rotate(-30deg) skewY(-0.05turn) scale(1);
}

.session-selector input[type=checkbox]:checked + label:after {
    opacity: 1;
    transform: rotate(-30deg) skewY(-0.05turn) scale(1);
}

.session-selector input[disabled=disabled]:checked:disabled + label,
.session-selector input[type=checkbox]:disabled + label {
    background-color: #DDDDDD;
}

.session-selector input[disabled=disabled]:checked:disabled + label:after,
.session-selector input[type=checkbox]:disabled + label:after{
    border-color:#AAA;
}

a.ps-header-link {
    color: #262626;
    font-weight: normal;
    text-decoration: none;
    transition: all 0.25s;
    display: block;
    padding: 10px 10px 10px 15px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    border-top-left-radius: 0;
    position: relative;
}

a.ps-header-link:hover,
a.ps-header-link[data-opened="1"] {
    box-shadow: 0 4px 10px 0 rgba(0,0,0,0.2);
}


/*This type "generic" will always be present in Umbraco. It will be white background so we add the border here*/
.ps-header-link.generic,
.session-type.generic:before {
    border: 1px solid #EEE;
}

/**Programme by venue*/
#content .programme-by-venue .table-programme-simple td.ps-time {
    font-size: 13px;
    width: 200px;
}

#content .programme-by-venue .table-programme-simple .pbv-session-td {
    padding-top: 25px;
}

.programme-by-venue .ps-session-header {
    margin-bottom:5px;
    margin-top:25px;
}

.programme-by-venue .ps-session-body {
    padding-bottom: 25px;
}

.pbv-time,
.ps-hidden-time {
    position: absolute;
    font-size: 13px;
    top: -20px;
    border: 2px solid;
    padding: 2px 5px;
    border-radius: 4px;
    background: #FFFFFF;
    color: #333333;
    left: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.ps-hidden-time{
    display:none;
}

.pbv-time.generic {
    left: -1px;
    border: 1px solid;
    border-color: #EEE !important;
    border-bottom-color: #FFF !important;
}

/*******Expand all programme style*******/

#ProgramPageContainer.expanded .ps-session-body {
    display:block;
}
/*******************************************/
.ps-session-body {
    display: none;
    padding: 0px 10px 10px 10px;
}

/*.ps-session-header:hover + .ps-session-body,
.ps-session-body:hover {
    display: block;
}*/

.ps-session-name {
    display: block;
    margin-bottom: 5px;
}

.stripe-speaker,
.stripe-exhibitor {
    font-size: 13px;
    display: inline-flex;
    line-height: 20px;
    padding: 0 10px 0 0;
    align-items:center;
    /*border-right: 1px solid #444;*/
}

.stripe-speaker:before,
.stripe-exhibitor:before{
    font-family:'FontAwesome';
    display: inline-flex;
    line-height: 21px;
    display: table-cell;
    width: 21px;
    text-align: center;
    vertical-align: middle;
    color: #262626;
    border-radius: 50%;
}

.stripe-speaker:before{
    content:"\f007";
}

.stripe-exhibitor:before{
    content:"\f25d";
}

.ps-session-location {
    font-style: italic;
}

.ps-session-description {
    padding: 10px 0px;
    display:block;
}

/******Speaker List*/
ul.p-speaker-list {
    list-style-type:none;
    margin:10px 0;
    padding:0;
}

/**Link style: normal text*/
li.text img{
    display:none;
}
.col-event-page li.text a.p-speaker-link {
    color: #666666;
    display: inline-block;
    text-decoration: none;
    transition: all 0.2s;
    margin-top: 5px;
}

li.text a.p-speaker-link:hover {
    color:#333333;
    margin-left:10px;
}

li.text .p-speaker-name {
    margin-left:10px;
}
li.text a.p-speaker-link .p-speaker-name::before {
    font-family: 'FontAwesome';
    content: "\f2bd";
    font-size: 18px;
    margin-right: 5px;
}

.p-speaker-title {
    font-weight:normal;
    font-style:italic;
}

.p-speaker-company {
    font-style:italic;
}


/**Schedule Styles*********************************/

/*Exhibitors Panel*/
.pse-simple-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.pse-simple-item {
    display: inline-flex;
}

.pse-simple-link {
    display: flex;
    align-items:center;
}

.pse-simple-logo {
    width: 88px;
    height: 88px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    margin: 5px;
}

.pse-simple-info {
}

.pse-simple-info span{
    display:block;
}

.pse-simple-stand-number {
    font-weight:300;
    font-style:italic;
}

/*************************************************/

/**Link style: Thumbail Square*/
li.thumbnail-square a.p-speaker-link,
li.thumbnail-circle a.p-speaker-link,
li.thumbnail-square .pse-simple-link,
li.thumbnail-circle .pse-simple-link {
    position: relative;
    border: 1px solid #eeeeee;
    color: #262626;
    width: 100%;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    text-decoration: none;
    display:table;
}

li.thumbnail-square a.p-speaker-link:hover,
li.thumbnail-circle a.p-speaker-link:hover,
li.thumbnail-square .pse-simple-link:hover,
li.thumbnail-circle .pse-simple-link:hover
{
    text-decoration: none;
    border-color:#c4e765;
    /*-moz-box-shadow: 0px 2px 6px 0 rgba(0,0,0,0.2);
    -webkit-box-shadow: 0px 2px 6px 0 rgba(0,0,0,0.2);
    box-shadow: 0px 2px 6px 0 rgba(0,0,0,0.2);*/
}

li.thumbnail-square a.p-speaker-link img {
    max-height: 100px;
    max-width: 100px;
    display: inline-block;
    vertical-align: top;
}

li.thumbnail-square,
li.thumbnail-circle {
    width: 45%;
    max-width:500px;
    min-width:320px;
    display: inline-flex;
    margin-right: 5px;
    margin-bottom: 10px;
}

li.thumbnail-square .p-speaker-info-wrapper,
li.thumbnail-circle .p-speaker-info-wrapper,
.pse-simple-info{
    width:100%;
    display: table-cell;
    padding-left: 10px;
    vertical-align:middle;
}

li.thumbnail-square .p-speaker-info-wrapper span,
li.thumbnail-circle .p-speaker-info-wrapper span {
    display:block;
    margin-left:0;
    font-size:14px;
}

.p-speaker-info-wrapper.too-long {
    font-size:12px;
}

/*List Style: Thumbnail Circle*/

li.thumbnail-circle a.p-speaker-link img {
    max-height: 88px;
    max-width: 88px;
    display: inline-block;
    vertical-align: top;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    margin: 5px 5px 5px 10px;
}


/*programme slot**/

.col-event-page h1.session-header {
    font-size:30px;
    padding: 10px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    font-family: 'oswaldregular', arial, sans-serif;
}

.session-content-wrapper {
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
    padding: 15px 0px;
}

.session-description {
    margin:0 0 10px 0;
}

.session-time,
.session-venue,
.session-type {
    font-size: 16px;
    height: 26px;
    font-weight: normal;
    font-family: 'oswaldregular', arial, sans-serif;
    display: table;
    margin: 10px 0;
}

.session-time > span,
.session-venue > span,
.session-type > span {
    padding-left:6px;
    display:table-cell;
    vertical-align:bottom;
}

.session-time {
}

.session-venue {
}

.session-time:before,
.session-venue:before,
.session-type:before{
    font-family:'FontAwesome';
    -moz-border-radius:50%;
    -webkit-border-radius:50%;
    border-radius:50%;
    color:#FFF;
    background-color:#333;
    display:table-cell;
    text-align:center;
    vertical-align:middle;
    width:26px;
    font-size:14px;
}

.session-time:before {
    content: "\f073";
}

.session-venue:before {
    content: "\f0f7";
}

.session-type:before {
    content: " ";
}

.session-type > span {
    color:#262626;
}

/*Side menu for schedule*****************************/
/*#ScheduleMenuPanelTab id is used to style the mobile version*/
#ScheduleMenuPanel {
    position: relative;
    top:0;
    right:0;
    /*transition: top 0.1s;*/
}

@media screen and (max-width:991px) {
    #ScheduleMenuPanel {
        display:none;
    }
}

h4.sfp-header {
    font-family:'oswaldmedium', sans-serif;
    font-size:20px;
    margin-top: 0;
    margin-bottom:5px;
    padding-top:15px;
}

#ScheduleMenuPanelTab h4.sfp-header {
    background: #FFF;
    padding-bottom: 5px;
    padding-top: 5px;
    color: #4a4e54;
    text-align: right;
    padding-right: 12px;
    margin-top: 15px;
    border-top-left-radius: 90px;
    border-bottom-left-radius: 20px;
}

.layout-list,
.my-schedule-list {
    list-style-type: none;
    padding: 0;
}

#ScheduleMenuPanelTab .layout-list,
#ScheduleMenuPanelTab .my-schedule-list {
    text-align: center;
    margin-top: 15px;
}

.layout-list li,
.my-schedule-list li{
    display: inline-table;
    margin-bottom:5px;
}

.layout-list a,
.my-schedule-list a,
.my-schedule-list button{
    display: table;
    width: 40px;
    font-size: 20px;
    height: 40px;
    text-decoration: none;
    border: none;
    border-radius: 2px;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.16), 0 0 0 1px rgba(0,0,0,0.08);
    transition: all 200ms cubic-bezier(0.4,0.0,0.2,1);
    background-color:#FFFFFF;
    padding:0;
}

.my-schedule-list button {
    padding-left: 12px;
}

#ScheduleMenuPanelTab .layout-list a,
#ScheduleMenuPanelTab .my-schedule-list a{
    color: #F5F5F5;
    border: 2px solid #F5F5F5;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
}

.layout-list a:hover,
.my-schedule-list a:hover,
.my-schedule-list button:hover {
    box-shadow: 0 3px 8px 0 rgba(0,0,0,0.2), 0 0 0 1px rgba(0,0,0,0.08);
}

.layout-list a[data-layouttype="expanded"].action-expanded {
    color: #FFFFFF;
    background-color: #4e5156;
    box-shadow: 0 3px 8px 0 rgba(0,0,0,0.2), 0 0 0 1px rgba(0,0,0,0.08);
}

.layout-list a[data-layouttype="expanded"].action-expanded > i:before {
    content: "\f066";
}

.layout-list i,
.my-schedule-list i{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.layout-list a.active i,
.my-schedule-list a.active i {
    background-color: #b3d950;
    color: #FFF;
}

#ScheduleMenuPanelTab .layout-list i,
#ScheduleMenuPanelTab .my-schedule-list i{
    color: #F5F5F5;
}

#ScheduleMenuPanelTab .layout-list a.active i,
#ScheduleMenuPanelTab .my-schedule-list a.active i {
    background-color: #b3d950;
    color: #FFF;
}

.sfp-options {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

#ScheduleMenuPanelTab .sfp-options {
    padding-left: 10px;
    padding-top: 10px;
}

.sfp-option > a {
    display: inline-table;
    line-height: 15px;
    font-size: 13px;
    font-weight: normal;
    text-decoration: none;
    padding: 5px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    transition: all 0.25s;
}

#ScheduleMenuPanelTab .sfp-option > a {
    color:#F5F5F5;
}

.sfp-option > a:hover {
    color: #000000;
}

.sfp-option > a.programme-venue-list-link:hover,
.sfp-option > a.programme-venue-list-link.active {
    background-color: #333;
    color: #FFFFFF;
}

.programme-session-types-link:before {
    font-family: 'FontAwesome';
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    color: #FFF;
    background-color: #333;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    font-size: 14px;
    content: " ";
    max-height: 15px;
    transition: all 0.25s;
}

.programme-session-types-link:hover:before,
.programme-session-types-link.active:before {
    background-color: #FFFFFF !important;
}

.programme-session-types-link span {
    display: table-cell;
    padding-left: 5px;
    vertical-align: middle;
}

/*Modals*/
.modal-content,
.modal-content {
    border: 1px solid #9FCE20;
    border-radius: 3px;
}

#LoginModal .modal-dialog,
#SignUpModal .modal-dialog,
#SendProgrammeModalPopUp .modal-dialog{
    max-width: 380px;
}

.modal-header,
.modal-header {
    padding: 12px;
    border: none;
}

.modal-body {
    padding: 10px 10px 15px 10px;
}

.modal-body textarea{
    resize:none;
}

#SendProgrammeModalPopUp form{
    width:90%;
    margin:auto;
}

h3.modal-title.login-modal-title {
    font-family: 'oswaldregular', sans-serif;
    font-size: 16px;
    text-align: center;
    text-transform: uppercase;
    background: #9FCE20;
    color: #FFF;
    display: block;
    padding: 8px 15px 4px 15px;
    margin: 0;
    line-height: 18px;
    position: absolute;
    top: -2px;
    left: 7%;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

/*Print programme modal*/
.programme-print-actions {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
    width:100%;
}

.programme-print-actions a{
    text-transform: uppercase;
    padding: 10px 10px 8px 10px;
    font-size: 14px;
    min-width: 49%;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 2px;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.16), 0 0 0 1px rgba(0,0,0,0.08);
    transition: all 200ms cubic-bezier(0.4,0.0,0.2,1);
    border-radius: 2px;
    font-family: 'oswaldregular', sans-serif;
    line-height: 16px;
    background: #FFFFFF;
    color:#4a4e54;
    font-weight:normal;
}

.programme-print-actions a:hover{
    box-shadow: 0 3px 8px 0 rgba(0,0,0,0.2), 0 0 0 1px rgba(0,0,0,0.08);
}

.programme-print-actions a:focus,
.programme-print-actions a:active {
    outline:0;
}
.programme-print-actions a.active,
.programme-print-actions a.active{
    color: #FFFFFF;
    background: #9FCE20;
}


/*Media queries*/
/*Mobile*/
@media screen and (max-width:768px) {
    .ps-time {
        display:none;
    }

    #content .col-event-page section table.table-programme-simple {
        width: initial;
        margin: 0 -15px;
    }

    .ps-session-header {
        margin-bottom: 25px;
    }

    .ps-hidden-time {
        display: block;
    }

    #ProgrammeSimpleContent td.ps-day span {
        margin-bottom:20px;
    }
}

@media screen and (max-width:843px) {
    li.thumbnail-square,
    li.thumbnail-circle {
        width: 100%;
        display:block;
        margin-left:auto;
        margin-right:auto;
    }
}

/*Login*/
@media (min-width: 768px) {
    #LoginModal .modal-dialog {
        width: 400px;
    }

    #LoginModal .modal-dialog .modal-body{
        text-align:center;
    }
}

/*My Schedule*/
#myModalLabel {

}

.loading-wrap {
    text-align:center;
}

#MyScheduleContainer .ps-session-header {
    margin-top:25px;
}

#content #MyScheduleContainer .table-programme-simple td {
    padding:0 8px;
}

#content #MyScheduleContainer .table-programme-simple td.ps-time {
    display:none;
}

#MyScheduleContainer .ps-hidden-time {
    display:block;
}

#MyScheduleContainer .ps-header-link {
    cursor:auto;
}

#MyScheduleContainer .ps-day span {
    background-color:#4a4e54;
    color:#FFFFFF;
    margin-top: 10px;
}

/*Programme printing*/
/*Iframes styling*/
.printing-frame {
    width:100%;
    border:none;
    overflow:hidden;
}

.container.printing-container {
    width:100%;
    padding: 0 30px;
}

.printing-programme-modal-body.pre-print,
.printing-schedule-modal-body.pre-print {
    width: 650px;
}

#content table.programme-simple-print,
table.programme-simple-print {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    font-family: Arial;
    font-size: 13px;
}

table.header-table{
    width:100%;
}

table.header-table p.header-text{
    font-size:20px;
    margin-bottom:10px;
}

#content table.programme-simple-print td,
table.programme-simple-print td{
    vertical-align: middle;
    border-bottom: 1px solid #ccc;
    padding: 10px 5px;
    color: #000;
}

#content table.programme-simple-print td.day,
table.programme-simple-print td.day{
    padding:10px;
    border-top:3px solid #4a4e54;
    border-bottom:3px solid #4a4e54;
    font-weight:bold;
    text-transform:uppercase;
}

#content table.programme-simple-print td.printing-time,
table.programme-simple-print td.printing-time {
    width:100px;
    text-align:center;
}

#content table.programme-simple-print p,
table.programme-simple-print p {
    margin: 0;
}

table.programme-simple-print p.session-header {
    font-weight: bold;
    text-transform:uppercase;
}

table.programme-simple-print p.ssubheading {
    margin-top:5px;
}

table.programme-simple-print span.ssubheading.description-sub {
    padding-top:10px;
    margin-top:10px;
    border-top:1px solid #DDDDDD;
    display:none;
    transition:all 0.2s;
}

.programme-simple-print-wrapper.detailed table.programme-simple-print span.ssubheading.description-sub {
    display: block;
}

ul.session-types-key {
    list-style-type:none;
    font-family: Arial, sans-serif;
    font-size:13px;
    padding:0;
}

ul.session-types-key li{
    display:inline-table;
    height:30px;
    margin:5px 10px;
}

ul.session-types-key li p{
    display: table-cell;
}

ul.session-types-key li span.type-key{
    padding:3px 6px;
    border:1px solid ;
    border-radius:3px;
}