html {
    box-sizing: border-box;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

html {
    height: 100%;
}

body {
    cursor: none;
    margin: 0;
    font-size: 44px;
    font-weight: 300;
    font-family: 'Roboto Condensed', sans-serif;
    color: #555;
    background-color: white;
    margin: 0;
    background-repeat: no-repeat;
    background-attachment: fixed;
    position: relative;
    
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;    
    background-image: url('../images/notman-logo-graphic.png');
}

body.landscape {
    width: 1920px;
    height: 1080px;
    overflow: hidden;
    background-size: cover;
}

body.campus-1 #timenow {
    background: transparent;
    color: white;
}

body.campus-1 {
    background: url(https://screens.notman.org/locations/campus-1/backgrounds/default.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

body.campus-2 {
    background: url(https://screens.notman.org/locations/campus-2/backgrounds/default.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

body.fronthouse {
    background: url(/images/backgrounds/1359714833HP9.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

body.campus-2 #timenow {
    background: transparent;
    color: white;
}

body.entrance {
    background-image: url(https://screens.notman.org/locations/cafe-entrance/backgrounds/default.jpg);
    background-size: cover;
}

body.entrance #timenow {
    background: transparent;
    color: black;
}

body.portrait {
    height: 1900px;
    width: 1080px;
    overflow: hidden;
}


/* CSS Transition group */

.Card {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 10px;
    box-shadow: 0 0 25px rgba(167, 164, 164, 0.51);
    padding: 20px 40px;
    margin: 20px 20px;
}

.Card.SponsorsPanel {
    background-color: white;
    opacity: 0.9;
}

.Panel {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 20px;
    margin-bottom: 20px;
}

.LogoHeader {
    margin: 20px 20px;
}

.LogoHeader img {
    max-height: 95px;
}


/* -- Sponsors card ------------------- */

.Card.SponsorsPanel {
    height: 260px;
    position: relative;
    overflow-y: hidden;
    overflow-x: hidden;
    vertical-align: middle;
}

.SponsorsPanel>span {
    position: relative;
    display: block;
    margin: 10px auto;
    height: 200px;
    padding: 0px;
}

.SponsorsPanel>span img:nth-child(1) {
    z-index: 4;
}

.SponsorsPanel>span>div {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
}

.sponsor-image {
    position: absolute;
    left: -50%;
    top: -50%;
    -x-webkit-image-rendering: crisp-edges;
}

.strong {
    font-weight: 700;
}

.transition-enter {
    opacity: 0;
    transition: opacity 800ms;
}

.transition-enter.transition-enter-active {
    opacity: 1;
    transition: opacity 800ms;
}

.transition-leave {
    opacity: 1;
    transition: opacity 1500ms;
}

.transition-leave.transition-leave-active {
    opacity: 0;
    transition: opacity 1500ms;
}


/* -- Events card --------------------- */

.EventsCard {
    font-size: 36px;
}

.EventsCard-day-name {
    font-weight: 700;
    margin-top: 30px;
    font-size: 40px;
    /*   text-shadow: 0 0 0.2em #F87, 0 0 0.2em #F87; */
}

.EventsCard-day:first-child .EventsCard-day-name {
    margin-top: 0;
}

h3 {
    margin: 0;
}

.EventsCard-day {
    margin-bottom: 7px;
}

.eventname {
    margin-right: 7px;
}

.event {
    margin: 10px 0;
}

.roomlabel {
    vertical-align: 3px;
    padding: 5px 0;
    font-size: 24px;
    font-weight: 400;
    border-radius: 10px;
    color: white;
    white-space: nowrap;
    display: inline-block;
    width: 190px;
    text-align: center;
    text-transform: uppercase;
    /* default color */
    background-color: #909090;
}

.roomlabel.cafe,
.roomlabel.café {
    background-color: brown;
}

.roomlabel.terrace {
    background-color: green;
}

.roomlabel.bigroom {
    background-color: purple;
}

.roomlabel.glassdoor {
    background-color: #009688;
}

.roomlabel.videotron {
    background-color: #feda52;
}

.roomlabel.cisco {
    background-color: #007fab;
}

.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

.Columns-column {
    float: right;
    width: 50%;
}

.eventtime {
    font-weight: bold;
    margin-left: 10px;
    margin-right: 10px;
}

.event {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden;
}

.event .roomlabel.clark {
    background: purple;
    color: white;
}

.event .roomlabel.st-urbain {
    background: #009688;
    color: white;
}

.event .roomlabel.osmocafe {
    background: #da7a21;
    color: white;
}

.event .roomlabel.cisco {
    background: #007fab;
    color: white;
}

.event .roomlabel.terrace {
    background: green;
    color: white;
}

.event .roomlabel.videotron {
    background: #feda52;
    color: white;
}


/* -- Misc ---------------------------- */

#timenow {
    position: absolute;
    top: 5px;
    right: 20px;
    padding: 0px 50px;
    font-size: 80px;
    color: black;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.9);
}

#date-panel {
    font-size: 120%;
    background-color: transparent;
}

#datenow {
    text-align: center;
    margin: 0 auto;
    display: block;
}

footer {
    position: fixed;
    bottom: 0px;
    padding: 5px 12px;
    font-size: 30px;
    color: #4e4e4e;
}


/* -- Video card ---------------------- */

.VideoPanel {
    text-align: center;
    background-color: rgba(255, 255, 255, 0.0);
    margin: 90px;
}

.VideoPanel iframe {
    border: none;
    background-color: transparent;
}


/* -- Annoucements Card --------------- */

.announcements {
    overflow: 'hidden'
}

.announcements img {
    height: 270px;
    float: left;
    margin-right: 30px;
}


/* -- Device card --------------------- */

.deviceVendor {
    float: right;
    width: 200px;
    /* font-size: small; */
    font-size: 20px;
    position: absolute;
    right: 10px;
    top: 15px;
    line-height: 28px;
}

.vendorLogo {
    height: 30px
}

.DeviceCard .lastUpdated {
    font-size: 12px;
}

.DeviceCard {
    position: relative;
}

.DeviceCard--icon {
    height: 80px;
    vertical-align: -22px;
    margin-right: 30px;
}


/* -- Weather card -------------------- */

.weatherImg {
    display: inline-block;
    vertical-align: middle;
    margin-right: 7px;
}

.WeatherCard {}

.WeatherCard-title {
    font-size: 80%;
    text-transform: uppercase;
    font-weight: bold;
}


/* -- STM card ------------------------ */

#stm-logo {
    position: absolute;
    left: 40px;
    width: 90px;
    height: 70px;
}

.stm-card {
    position: relative;
    height: auto;
}

.bus-card-title {
    position: relative;
    margin-left: 110px;
    font-weight: bold;
    font-size: 48px;
}

.buspanel-container {
    margin-top: 10px;
    width: auto;
    display: flex;
    justify-content: left;
}

.buspanel {
    width: 33%;
}

.busline {
    font-weight: bold;
    font-size: 40px;
    color: #513355;
}

.bustime {
    font-size: 35px;
}

.busMinutes {
    font-weight: bold;
    color: #513355;
}


/* -- Bixi card ------------------------ */

#bixi-card .logo {
    position: absolute;
    left: 80px;
    width: 160px;
}

#bixi-card .text {
    text-align: left;
    margin-left: 200px;
}


/* -- Directory card ------------------ */

.Card.directory span.room {
    margin-right: 20px;
    font-weight: bold;
}

.Card.directory span.room {
    margin-right: 20px;
    font-weight: bold;
}

.Card.directory span.organization {}

.Card.directory ul {
    padding-left: 0px
}

.Card.directory li {
    display: block;
}

.Card.directory h2 {
    margin-top: 0px;
    margin-bottom: 0px;
}

.Card.TwitterCard {
    height: 550px;
}


/** ReactCSSTransitionGroup: transition: slide */

.slide-container {
    position: relative;
    display: block;
    height: 50px;
    overflow: hidden;
    text-align: center;
}

.slide {
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    top: 0;
    position: absolute;
}

.slide-1 {
    background-color: #ffdb99;
}

.slide-2 {
    background-color: #99ffa8;
}

.slide-3 {
    background-color: #99bdff;
}

.slide-4 {
    background-color: #ff99f0;
}

.slide-5 {
    background-color: #ffdb99;
}

.slide-enter {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: 0.3s -webkit-transform ease-in-out;
    transition: 0.3s -webkit-transform ease-in-out;
    transition: 0.3s transform ease-in-out;
    transition: 0.3s transform ease-in-out, 0.3s -webkit-transform ease-in-out;
}

.slide-enter-active {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.slide-leave {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: 0.3s -webkit-transform ease-in-out;
    transition: 0.3s -webkit-transform ease-in-out;
    transition: 0.3s transform ease-in-out;
    transition: 0.3s transform ease-in-out, 0.3s -webkit-transform ease-in-out;
}

.slide-leave-active {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}


.weather > div {
    font-size: 200%;
    padding: 10px;
}

.weather .temperature {
    margin: 0 30px 0 30px;
    display: inline-block;
}

.weather .feelslike {
    font-size: 50%;
    display: inline-block;
    vertical-align: middle;
}

.weather .source {
    position: absolute;
    font-size: 18px;
    right: 5px;
    bottom: 5px;
}