html, body {
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

.fillScreen {
    min-height: 100%;
    height: 100%;
    margin: 0 auto;
    width: 100%;
    padding: 0px;
}

.fillHeight {
    min-height: 100%;
    height: 100%;
}

.clear{
    clear: both;
}

.swal2-popup {
    font-size: 1.6rem !important;
}

.ui-widget-overlay {
    background: #585858 !important;
    opacity: 0.6 !important;
}

.dialog {
    display: none;
}

.ui-dialog, .ui-dialog-content {
    box-sizing: content-box;
}

.ui-tabs-tab.ui-tab.ui-state-disabled {
    opacity: 0.80 !important;
}

.tippy-tooltip {
    font-size: 14px;
    padding: 0.3rem 0.6rem;
}

/**************************************
 Login view
 **************************************/

div#loginView {
    display: none;

    background-color: #19548a;
    background: linear-gradient(to bottom, #0d274b 0%,#19548a 50%,#164276 100%);
    color: white;

    min-height: 100%;
    height: 100%;
    margin: 0 0 0 0;

    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}
table#loginTable {
    width: 100%;
}

div#loginView .btn-primary {
    background-color: #d0dae4;
    border-color: #174165;
    color: #3c3c3c;
    transition: all 0.5s;
}

div#loginView .btn-primary.emphasis {
    background-color: #669a68;
    color: white;
}

div#loginView h2 {
    font-weight: 400;
    font-size: 40px;
    text-align: center;

    padding-top: 10px;
    margin: 0;

    -webkit-animation: zoomIn-animation 250ms linear both;
    animation: zoomIn-animation 250ms linear both;
    animation-delay: 0ms;
}

div#loginView img {
    width: 135px;

    -webkit-animation: zoomIn-animation 250ms linear both;
    animation: zoomIn-animation 250ms linear both;
    animation-delay: 100ms;
}

div#loginView div.loginViews {
    max-width: 7000px;
    padding: 15px;
    margin: 0 auto;

    text-align: center;

    -webkit-animation: fadeIn-animation 250ms linear both;
    animation: fadeIn-animation 250ms linear both;
    animation-delay: 100ms;
}
div#loginView .form-join {
    display:inline-block;

    max-width: 330px;
    width: 260px;

    margin-left: 20px;
    margin-right: 20px;
}
div#loginView .form-join h3 {
    font-size: 20px;
    padding-bottom: 10px;
}
div#loginView .form-join .form-join-heading,
div#loginView .form-join .checkbox {
    margin-bottom: 10px;
}
div#loginView .form-join .checkbox {
    font-weight: normal;
}
div#loginView .form-join .form-control {
    position: relative;
    height: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
    font-size: 16px;
    margin-bottom: 5px;
}
div#loginView .form-join .form-control:focus {
    z-index: 2;
}
div#loginView .form-join input[type="number"]:first-child {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
div#loginView .form-join input[type="number"]:last-child {
    margin-bottom: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
div#loginView .loginError {
    height: 20px;
    margin-top: 16px;
}
div#loginView .loginErrorDetails {
    display: none;
    color: #e6e6e6;
    font-weight: 400;
}


div#loginView div.account {
    width: 250px;
    margin-left: auto;
    margin-right: auto;

    clear: both;
}

div#loginView div.account a {
    font-size: 15px;
    font-weight: 300;
    text-decoration: none;
    color: white;
}
div#loginView div.account a:hover {
    text-decoration: underline;
}

div#loginView div.divide {
    background-image: url(../images/divider.png);
    background-size: contain;
    background-repeat: no-repeat;

    width: 400px;
    height: 2px;

    margin-left: auto;
    margin-right: auto;
    margin-top: 15px;
    margin-bottom: 15px;
}

div#loginView div.language {
    font-size: 30px;
    text-align: center;
    width: 250px;

    margin-left: auto;
    margin-right: auto;

    clear: both;
}
div#loginView div.language > span {
    color: white;
    font-size: 20px;

    opacity: 0.7;

    display:inline-block;
    vertical-align:middle;
    padding-bottom: 2px;
}
div#loginView div.language > select {
    font-size: 20px;
    background-color: white;
    color: #596a7e;
    text-align: center;
    padding-left: 4px;

    width: 200px;
    opacity: 0.6;

    display: inline-block;
    vertical-align: middle;

    /* remove dropdown arrow */
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
}

div#loginView div.copyright {
    color: rgba(255, 255, 255, 0.8);
    font-size: 13px;

    padding: 10px;
    text-align: right;
}

div#loginView .form-info {
    max-width: 330px;
    padding: 15px;
    margin: 0 auto;
}
div#loginView .form-info .form-join-heading,
div#loginView .form-info .checkbox {
    margin-bottom: 10px;
}
div#loginView .form-info .checkbox {
    font-weight: normal;
}
div#loginView .form-info .form-control {
    position: relative;
    height: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
    font-size: 16px;
}
div#loginView .form-info .form-control:focus {
    z-index: 2;
}
div#loginView .form-info input:first-child {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
div#loginView .form-info input:last-child {
    margin-bottom: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}


/**************************************
 Participant session info view
 **************************************/

div#participantInfoView {
    display: none;

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background-color: #19548a;
    background: linear-gradient(to bottom, #0d274b 0%,#19548a 50%,#164276 100%);
}

div#participantInfoView div#participantInfoContent {
    width: 70%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    color: #d4d4d4;
    text-align: center;
    padding: 25px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 3px;
}

div#participantInfoView div#participantInfoContent .form-control {
    position: relative;
    height: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
    font-size: 16px;
    margin-bottom: 5px;
}

div#participantInfoView div#participantInfoContent .btn-primary {
    background-color: #d0dae4;
    border-color: #174165;
    color: #3c3c3c;
}


/**************************************
 Session permission view
 **************************************/

div#permissionView {
    display: none;

    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#353535+0,000000+100 */
    background: rgb(53,53,53); /* Old browsers */
    background: radial-gradient(ellipse at center, rgba(53,53,53,1) 0%,rgba(0,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

div#permissionView div#permissionContent {
    width: 60%;
    background-color: #545454;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    color: #d4d4d4;
    text-align: center;
    padding: 25px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 3px;
}

div#permissionView.mobile div#permissionContent {
    top: 20px !important;
    transform: none !important;
}

div#permissionView div#permissionContent div.icons {
    font-size: 33px;
    margin-bottom: 20px;
}

div#permissionView div#permissionContent div.icons .left {
    padding-right: 12px;
}

div#permissionView div#permissionContent div.title {
    font-size: 17px;
    font-weight: 400;
}

div#permissionView div#permissionContent div.divider {
    border-top: 1px solid #d4d4d4;
    height: 1px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 20px;
}

div#permissionView div#permissionContent div.details {
    font-size: 14px;
    font-weight: 400;
}


/**************************************
 Session test settings/setup view
 **************************************/

div#testSettingsView {
    width: 100%;
    height: 100%;
    display: none;
}

div#testSettingsDialog div.pages select {
    margin-left: 5px;
}

div.testSettingsDialog .ui-dialog-buttonset {
    width: 100%;
    text-align: right;
}
div.testSettingsDialog .ui-dialog-buttonset button.leftButton {
    float: left;
}

div#testSettingsDialog {
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 17px;
}

div#testSettingsDialog div.pages {
    position: relative;
    width: 566px;
    height: 477px; /*100%;*/

    overflow-x: hidden;
}

div#testSettingsDialog div.pages div.pagesInner {
    position: absolute;
    top: 0;
    left: 0;
    width: 5000px;
    height: 100%;

    overflow-y: hidden;

    display: flex;
    flex-direction: row;
}

div#testSettingsDialog div.pages div.page {
    /*float: left;*/
    width: 566px;
    height: 480px !important;
    overflow-x: hidden;
    overflow-y: auto;
}

div#testSettingsDialog div.page .description {
    padding-top: 10px;
    padding-bottom: 10px;
}

div#testSettingsDialog div.page img.dialogIconFeature {
    width: 60px;
    margin-right: 14px;
}

div#testSettingsDialog div.page img.dialogIcon {
    width: 50px;
    margin-right: 18px;
}

div#testSettingsDialog div.page button.actionButton {
    margin-top: 8px;
    margin-bottom: 4px;
    background-color: #c3e4f8c4;
    color: #085d8e;
    border: 1px #0b94e3 solid;
    padding: 5px 30px 5px 30px;
}

div#testSettingsDialog div.page button.selectorButton {
    width: 420px;
    height: 35px;
    margin-top: 10px;
    margin-bottom: 10px;
    display: block;
    margin-left: 75px;
    background-color: #f6f6f6;
    border: 1px solid #afafaf;
    padding-left: 14px;
    text-align: left;
}
div#testSettingsDialog div.page button.selectorButton:hover {
    background-color: #e4e4e4;
}

div#testSettingsDialog div.page .section {
    padding-top: 15px;
    padding-bottom: 10px;
}

div#testSettingsDialog div.page .section-break {
    margin-top: 20px;
    padding-top: 20px;
    padding-bottom: 12px;
    border-top: #b1b1b1 1px solid;
}

div#testSettingsDialog div.page table td {
    vertical-align: middle;
}

div#testSettingsDialog div.page .padded {
    padding-top: 7px;
    padding-bottom: 7px;
}

div#testSettingsDialog div.page div.radioOption {
    padding-bottom: 4px;
}

div#testSettingsDialog div.page div.radioOption label {
    font-weight: normal;
    padding: 5px 10px 5px 5px;
}
div#testSettingsDialog div.page div.radioOption label:hover {
    border: #b8b8b8 1px solid;
    padding: 4px 9px 4px 4px;
    background-color: #e1e1e1;
}

div#testSettingsDialog div.page div.radioOption label.wideLabel {
    width: 75%;
}

div#testSettingsDialog div.page div.radioOption label input[type = radio] {
    float: left;

    margin-left: 10px;
    margin-right: 10px;
}

div#testSettingsDialog div.page div.multiPanel {
    position: relative;
    width: auto;

    overflow-x: hidden;
}
div#testSettingsDialog div.page div.multiPanelInner {
    position: absolute;
    top: 0;
    left: 0;
    width: 400%;
    height: 100%;
}
div#testSettingsDialog div.page div.multiPanelInner div.multiPanelPane {
    float: left;
    width: 500px;
}


div#testSettingsDialog div.page .fadeIn1 {
    animation: fadeIn-animation 1000ms ease-out both;
    animation-delay: 0ms;
}
div#testSettingsDialog div.page .fadeIn2 {
    animation: fadeIn-animation 1000ms ease-out both;
    animation-delay: 500ms;
}
div#testSettingsDialog div.page .fadeIn3 {
    animation: fadeIn-animation 1000ms ease-out both;
    animation-delay: 1000ms;
}
div#testSettingsDialog div.page .fadeIn4 {
    animation: fadeIn-animation 1000ms ease-out both;
    animation-delay: 2100ms;
}


div#testSettingsDialog #testSettingsMicrophoneVolume {
    width: 300px;
    height: 26px;

    border: 1px solid #c5c5c5;
    border-radius: 3px;

    margin-top: 10px;
    margin-left: 10px;
}

div#testSettingsDialog #testSettingsMicrophoneVolumeMonitor {
    width: 300px;
    height: 24px;

    border-radius: 3px;
    background-color: white;
    color: green;
}

div#testSettingsDialog #try-mobileSpeechPushButton {
    -webkit-touch-callout: none;

    display: none;

    margin-top: 30px;
    margin-bottom: 13px;
    background: #4c99da;
    border-radius: 6px;
    padding: 6px;
    color: white;
    text-transform: uppercase;
    min-width: 210px;
    min-height: 50px;
    max-width: 210px;
    margin-left: auto;
    margin-right: auto;

    cursor: pointer;

    transition: background-color 0.3s;
}
div#testSettingsDialog #try-mobileSpeechPushButton.waiting {
    background-color: #9a9a00;
}
div#testSettingsDialog #try-mobileSpeechPushButton.speaking {
    background-color: green;
}
div#testSettingsDialog #try-mobileSpeechPushButton > span {
    display: inline-block;
    text-transform: uppercase;
    padding-left: 4px;
    margin-top: 8px;
}
div#testSettingsDialog #try-mobileSpeechPushButton > img {
    width: 36px;
}

div#testSettingsDialog .try-keyboard {
    margin-left: 100px;
    margin-top: 20px;
}

div#testSettingsDialog .try-keyboard div.title {
    margin-bottom: 10px;
    font-size: 20px;
}

div#testSettingsDialog .try-keyboard img {
    width: 92%;
}



div#testSettingsDialog .circle-wrap {
    margin-right: 20px;
    width: 80px;
    height: 80px;
    background: #e6e2e7;
    border-radius: 50%;
}
div#testSettingsDialog .circle-wrap .circle .mask,
div#testSettingsDialog .circle-wrap .circle .fill {
    width: 80px;
    height: 80px;
    position: absolute;
    border-radius: 50%;
}
div#testSettingsDialog .circle-wrap .circle .mask {
    clip: rect(0px, 80px, 80px, 40px);
}
div#testSettingsDialog .circle-wrap .circle .mask .fill {
    clip: rect(0px, 40px, 80px, 0px);
    background-color: #259a23;
}
div#testSettingsDialog .circle-wrap .circle .mask.full,
div#testSettingsDialog .circle-wrap .circle .fill {
    animation: circle-fill ease-in 3s;
    transform: rotate(180deg);
}
@keyframes circle-fill {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(180deg);
    }
}
div#testSettingsDialog .circle-wrap .inside-circle {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #fff;
    line-height: 130px;
    text-align: center;
    margin-top: 6px;
    margin-left: 6px;
    position: absolute;
    z-index: 100;
    font-weight: 700;
    font-size: 2em;
}
div#testSettingsDialog .circle-wrap .inside-circle .icon {
    display: block;
    margin-left: -7px;
    margin-top: 10px;
    font-size: 44px;
    color: #5d5d5d;
}

div#testSettingsDialog .circle-wrap .circle .mask-pulse,
div#testSettingsDialog .circle-wrap .circle .pulse {
    width: 80px;
    height: 80px;
    position: absolute;
    border-radius: 50%;
}
div#testSettingsDialog .circle-wrap .circle .mask-pulse {
}
div#testSettingsDialog .circle-wrap .circle .mask-pulse .pulse {
    background-color: #18809e;
}
div#testSettingsDialog .circle-wrap .circle .mask-pulse.full,
div#testSettingsDialog .circle-wrap .circle .pulse {
    animation: pulse ease-out 1.3s;
    animation-iteration-count: infinite;
}
div#testSettingsDialog .circle-wrap .inside-circle .icon-speaking {
    display: block;
    margin-left: 1px;
    margin-top: 10px;
    font-size: 44px;
    color: #5d5d5d;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 #1ea0c6;
    }
    60% {
        box-shadow: 0 0 0 10px rgba(204,169,44, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(204,169,44, 0);
    }
}



/**************************************
 Session connecting view
 **************************************/

div#connectingView {
    display: none;

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 200; /* above any jQuery UI dialogs */

    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#353535+0,000000+100 */
    background: rgb(53,53,53); /* Old browsers */
    background: radial-gradient(ellipse at center, rgba(53,53,53,1) 0%,rgba(0,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

div#connectingView div#connectingContent {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

div#connectingView div.connectingMessage {
    font-size: 15px;
    font-weight: 300;
    color: #a6aaaa;

    text-transform: uppercase;
    text-align: center;

    /*width: 600px;*/
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);

    margin-top: -75px;
}

/* Connecting animation */

.spinner {
    width: 50px;
    height: 50px;
    margin: 100px auto;
    background-color: #19548a;

    border-radius: 100%;
    -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
    animation: sk-scaleout 1.0s infinite ease-in-out;
}

@-webkit-keyframes sk-scaleout {
    0% { -webkit-transform: scale(0) }
    100% {
        -webkit-transform: scale(1.0);
        opacity: 0;
    }
}

@keyframes sk-scaleout {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
    } 100% {
          -webkit-transform: scale(1.0);
          transform: scale(1.0);
          opacity: 0;
      }
}


/**************************************
 **************************************
 User-Calendar view
 **************************************
 **************************************/

div#calendarView {
    display: none;
    background-color: #e6e6e6;

    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}

table#calendarTable {
    width: 100%;
    /*max-width: 900px;*/
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;

    min-height: calc(100% - 34px);
    height: calc(100% - 34px);

    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .16), 0 6px 20px 0 rgba(0, 0, 0, 0.14);

}
table#calendarTable.transition {
    transition: width 0.3s, background-color 0.3s;
}

table#calendarTable.iDecide td.calendarHeader {
    height: 120px;
}
table#calendarTable.iDecide td.calendarHeader #calendarWelcomeName {
    display: none;
}
table#calendarTable.iDecide #calendarButtonCreateMeeting {
    display: none;
}
table#calendarTable.iDecide #calendarButtonIDecide {
    display: none;
}


table#calendarTable td.spacer {
    height: 30px;
}

table#calendarTable td.calendarHeader {
    height: 140px;
    padding-top: 30px;

    vertical-align: top;

    color: #424242;
    font-size: 18px;
    font-weight: 300;
    background-color: #e6e6e6;

    transition: height 1s;
}

table#calendarTable td.calendarWelcomeHeader {
    width: 260px;
}

table#calendarTable td.calendarHeader div.calendarWelcome {
    margin-left: 50px;
}

table#calendarTable td.calendarHeader div.calendarWelcome div.productName {
    height: 60px;
    font-size: 20px;
    color: white;
    background: linear-gradient(to bottom, #3e7ffc 0%,#3e7ffc 50%,#3e7ffc 100%);
    width: 240px;
    border-radius: 3px;
    padding-top: 16px;
    text-align: center;
}

table#calendarTable td.calendarHeader div.calendarWelcome div.calendarWelcomeGreeting
{
    font-size: 16px;
    font-weight: 400;
    margin-top: 10px;
}

table#calendarTable td.calendarHeader div.calendarWelcome div.calendarWelcomeGreeting > a
{
    float: right;
}

table#calendarTable td.calendarHeaderMiddle {
    min-width: 100px;
}
table#calendarTable td.calendarHeaderMiddle div {
    margin-left: auto;
    margin-right: auto;
    height: 89px;
    background-color: #d8d8d8;
    width: 1px;
}


table#calendarTable td.calendarOptions {
    color: #66666b;
    min-width: 120px;
}


table#calendarTable td.calendarOptions div.calendarButton {
    margin-left: 10px;
    font-size: 15px;
    clear: both;
    color: #424242;
    font-weight: 300;
}
table#calendarTable td.calendarOptions div.calendarButton > div.buttonRing {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    color: #b7b7b7;
    text-align: center;
    float: left;
    background-color: #b7b7b7;
    margin-top: 9px;
    margin-right: 10px;
}
table#calendarTable td.calendarOptions div.calendarButton > div .glyphicon {
    font-size: 31px;
    color: white;
    float: left;
    margin-left: 13px;
    margin-top: 10px;
}
table#calendarTable td.calendarOptions div.calendarButton > div.body {
    padding-left: 4px;
    float: left;
    width: 280px;
}
table#calendarTable td.calendarOptions div.calendarButton > div.body .title {
    font-size: 18px;
    font-weight: 400;
    padding-bottom: 3px;
}
table#calendarTable td.calendarOptions div.calendarButton > div.body input {
    background-color: #fa7423d1;
    color: white;
    padding: 5px 15px 5px 15px;
    font-size: 15px;
    margin-top: 6px;
    border: 0;
    border-radius: 3px;
    min-width: 170px;
}
table#calendarTable td.calendarOptions div.calendarButton > div.body input {
    outline:0;
}

table#calendarTable td.calendarOptions div.calendarButton > div.body input:hover {
    background-color: #fa7423;
}
table#calendarTable td.calendarOptions div.calendarButton > div.body input.red {
    background-color: #e23434cc;
}
table#calendarTable td.calendarOptions div.calendarButton > div.body input.red:hover {
    background-color: #e23434;
}

table#calendarTable td.calendarOptions div.calendarBackButton {
    font-size: 15px;
    clear: both;
    color: #424242;
    font-weight: 300;
    margin-top: 5px;

    cursor: pointer;
}
table#calendarTable td.calendarOptions div.calendarBackButton div.arrow {
    float: left;

    background-color:#44c767;
    border: 1px solid #189424;
    display: inline-block;
    cursor: pointer;
    color: #ffffff;
    font-size: 19px;
    padding: 8px 12px;
    text-decoration: none;
    text-shadow: 0px 1px 0px #2f6627;
    margin-right: 10px;
    width: 50px;
    height: 50px;
    border-radius: 25px;
}
table#calendarTable td.calendarOptions div.calendarBackButton:hover div.arrow {
    background-color:#37a053;
}
table#calendarTable td.calendarOptions div.calendarBackButton:active div.arrow {
    position:relative;
    top:1px;
}
table#calendarTable td.calendarOptions div.calendarBackButton div.arrow img {
    width: 24px;
    height: 24px;
}
table#calendarTable td.calendarOptions div.calendarBackButton div.body {
    float: left;
    line-height: 44px;
    font-size: 18px;
    color: #505050;
    font-weight: 700;
}

table#calendarTable td.calendarBody {
    vertical-align: top;
    padding: 30px 0 0 0;

    /*background-image: url('../images/calendar-bk.png');
    background-repeat: repeat-y;
    background-color: #f5f5f5;
    background-position: right;
    */
    background-color: #e6e6e6;
}

table#calendarTable td.calendarBody div.calendarScroller {
    overflow-y: auto;
    height: 100%;
    -webkit-overflow-scrolling: touch;

    /* Bug fix for iOS Safari - -webkit-overflow-scrolling: touch allows scrolling even when eclipsed by another element */
    -webkit-transform: translateZ(0px);
    -webkit-transform: translate3d(0,0,0);
    -webkit-perspective: none;
}

table#calendarTable td.calendarBody div.meetingList {
    margin-bottom: 30px;
}

table#calendarTable td.calendarBody div.meetingList .emptyList {
    margin: 10px;
    padding: 10px;
}

table#calendarTable td.calendarBody div.meetingList span.title {
    padding-bottom: 10px;
    padding-left: 50px;
    margin-bottom: 16px;

    font-size: 18px;
    font-weight: 600;
    color: #474545;
    display: block;

    text-transform: uppercase;
}

table.calendarListTable {
    width: 100%;

    /*
    border-left: 1px solid #cecece;
    border-right: 1px solid #cecece;
    */
}
table.calendarListTable tr {
    background-color: white;
    cursor: pointer;
    padding-left: 40px;
    border-bottom: 1px solid #e6e6e6;
}
table.calendarListTable tr:nth-child(odd) {
    background-color: #f7f7f7;
}
table.calendarListTable tr td.when {
    white-space: nowrap;
    width: 200px;
    height: 90px;
    padding-left: 50px;
}
table.calendarListTable tr td.when div.started {
    font-size: 16px;
}
table.calendarListTable tr td.when div.day {
    font-size: 12px;
    font-weight: bold;
    color: #616161;
    padding-left: 3px;
}
table.calendarListTable tr td.when div.time {
    font-size: 26px;
    color: #8a8a8a;
    line-height: 30px;
    height: 30px;
}
table.calendarListTable tr td.when div.time span.ampm {
    font-size: 12px;
}
table.calendarListTable tr td.when div.timezone {
    font-size: 12px;
    font-weight: normal;
    color: #616161;
    padding-left: 3px;
}
table.calendarListTable tr td.details {
}
table.calendarListTable tr td.details div.title {
    color: #474545;
    font-weight: bold;
    font-size: 17px;
}
table.calendarListTable tr td.details div.info {
    color: #474545;
    font-size: 14px;
}
table.calendarListTable tr td.actions {
    white-space: nowrap;


    width: 100px;
    padding: 20px;
}
table.calendarListTable tr td.actions div.action {
    display: inline-block;

    color: #4c8cf9 !important;
    background: white;

    margin-left: 10px;
    border-radius: 3px;
    padding: 4px;
    padding-left: 6px;
    padding-right: 6px;
    font-weight: bold;
    font-size: 14px;

    transition: opacity ease-in-out 0.2s;
}
.hvr-sweep-to-right:hover td.actions div.action.altAction {
    opacity: .3 !important;
}
table.calendarListTable tr td.actions div.action.altAction:hover {
    opacity: 1 !important;
}
table.calendarListTable tr td.actions div.action.altAction:hover + div.action {
    opacity: .3 !important;
}

.hvr-sweep-to-right:hover td.when,
.hvr-sweep-to-right:hover td.when div.day,
.hvr-sweep-to-right:hover td.when div.time,
.hvr-sweep-to-right:hover td.when div.time span.ampm,
.hvr-sweep-to-right:hover td.when div.timezone,
.hvr-sweep-to-right:hover td.details,
.hvr-sweep-to-right:hover td.details div.title,
.hvr-sweep-to-right:hover td.details div.info
{
    color: white !important;
}


table#calendarTable td.calendarIDecide {
    display: none;
    vertical-align: top;
    padding: 0px 0 0 0;
    background-color: #fff;

    transition: background-color 0.3s;
}

table#calendarTable td.calendarIDecide.dark {
    background-color: #1c1c1c;
}

table#calendarTable td.calendarIDecide > div {
    width: 100%;
    height: 100%;
}

table#calendarTable td.calendarIDecide iFrame#iDecideFrame {
    display: none;
    width: 100%;
    height: 100%;
    border: 0;
}


div.calendarFooter {
    height: 30px;
    padding-top: 11px;

    font-size: 13px;
    text-align: center;
    color: #6c6c6c;
}

div.calendarFooter > div {
    display: inline;
    padding-left: 20px;
    padding-right: 20px;
}


/**************************************
 **************************************
 User-Calendar Dialog Style
 **************************************
 **************************************/

div.calendarDialog {
    display: none;
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}

div.calendarDialog div.header {
    height: 50px;
}

div.calendarDialog div.header > div {
    float: left;
}

div.calendarDialog div.header .icon {
    font-size: 30px;
    color: #007cff;
    margin: 5px;
}

div.calendarDialog div.header .subtitle {
    margin-top: 9px;
    margin-left: 5px;
    font-size: 17px;
    color: #292929;
}

div.calendarDialog div.tabs {
    min-height: calc(100% - 50px);
    overflow: auto;
}

div.calendarDialog div.dialogContent {
    margin-top: 8px;
    padding-left: 16px;
}

div.calendarDialog div.section {
    clear: both;
    padding-top: 4px;
    padding-bottom: 4px;
    overflow: auto;
}

div.calendarDialog div.separator {
    border-top: 1px solid #d4d4d4;
    margin: 10px;
    margin-left: 0;
    clear: both;
}

div.calendarDialog div.section > div.input {
    float: left;
}

div.calendarDialog input.error {
    border-color: #8b000d !important;
}

div.calendarDialog div.section label {
    padding-top: 8px;
    padding-right: 10px;
    color: #4a4a4a;
    font-size: 16px;
    font-weight: 300;
    float: left;
}

div.calendarDialog div.section div.content {
    padding-left: 8px;
}

div.calendarDialog input[type="text"] {
    width: 260px;
    margin-top: 6px;
    border: 1px solid #ababab;
}

div.calendarDialog input[type="text"].datepicker {
    width: 100px;
}

div.calendarDialog input[type="text"].timepicker {
    width: 100px;
}


div.calendarDialog textarea {
    margin-top: 5px;
    border: 1px solid #ababab;
    height: 100px;
    width: 300px;
}

div.calendarDialog div.sectionFieldFull {
}

div.calendarDialog div.section div.left {
    float: left;
    width: 160px;
}

div.calendarDialog div.section div.right {
    float: right;
    width: calc(100% - 160px);
}

div.calendarDialog div.section div.right > div.section {
    padding-top: 0px;
    padding-bottom: 0px;
}

div.calendarDialog div.section input[type="radio"] {
    float: left;
    padding-top: 0px;
    margin-left: 4px;
    margin-right: 10px;
}

div.calendarDialog div.section label.radioLabel {
    padding-top: 0px;
}

div.calendarDialog table {
    border: 0;
}
div.calendarDialog table td {
    border: 0;
    padding-top: 7px;
    padding-bottom: 7px;
    padding-right: 2px;
    padding-left: 7px;
}

div.calendarDialog div.dialogContentStatus {
    text-align: center;
    font-weight: bold;
}

/* dialog custom design: full-width button bar */

div.calendarDialog.wideButtonset ~ div.ui-dialog-buttonpane div.ui-dialog-buttonset {
    border-top-width: 0px;
}
div.calendarDialog.wideButtonset ~ div.ui-dialog-buttonpane div.ui-dialog-buttonset {
    float: none;
}
div.calendarDialog.wideButtonset ~ div.ui-dialog-buttonpane div.ui-dialog-buttonset button:first-of-type {
    float: left;
}
div.calendarDialog.wideButtonset ~ div.ui-dialog-buttonpane div.ui-dialog-buttonset button:not(first-of-type) {
    float: right;
}


/**************************************
 **************************************
 Calendar-Specific Dialogs
 **************************************
 **************************************/

textarea#createMeetingDescription {
    height: 80px;
    width: 340px;
}

select#createMeetingTimeZone {
    margin-top: 8px;
}

table#createMeetingInvitations {
    width: 100%;
}

table#createMeetingInvitations thead tr {
    border-bottom: 2px solid #b5b5b5;
}

table#createMeetingInvitations thead th {
    padding-bottom: 0px;
}

table#createMeetingInvitations input {
    width: 100%;
}

.createMeetingInvitations-autocomplete-category {
    font-weight: bold;
    padding: .2em .4em;
    margin: .8em 0 .2em;
    line-height: 1.5;
}



#dialogCalendarViewMeeting button {
    outline:0;
}
#dialogCalendarViewMeeting div#viewMeetingTitle {
    font-size: 20px;
}
#dialogCalendarViewMeeting div#viewMeetingDescription {
    padding-top: 16px;
}

#dialogCalendarViewMeeting div.section {
    padding-bottom: 20px;
    clear: both;
}

#dialogCalendarViewMeeting #viewMeetingOriginalTimezoneSection {

}

#dialogCalendarViewMeeting div.when div.day {
    font-size: 12px;
    font-weight: bold;
    color: #525252;
    padding-left: 3px;
}
#dialogCalendarViewMeeting div.when div.time {
    font-size: 26px;
    color: #525252;
    line-height: 30px;
    height: 30px;
}
#dialogCalendarViewMeeting div.when div.time span.ampm {
    font-size: 12px;
}
#dialogCalendarViewMeeting div.when div.timezone {
    font-size: 12px;
    font-weight: normal;
    color: #616161;
    padding-left: 3px;
}

#dialogCalendarViewMeeting button.viewMeetingOptionButton {
    margin-bottom: 12px;
}

#dialogCalendarViewMeeting #viewMeetingAttendanceType {
    font-weight: bold;
}


#dialogCalendarViewMeeting table#viewMeetingInvitations {
    margin-top: 10px;
    width: 100%;
}

#dialogCalendarViewMeeting table#viewMeetingInvitations thead tr {
    border-bottom: 1px solid #b5b5b5;
}

#dialogCalendarViewMeeting table#viewMeetingInvitations thead td {
    padding-bottom: 4px;
}



#dialogCalendarAccount {
    padding: 25px !important;
}

#dialogCalendarAccount .sectionTitle {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 18px;
}

#dialogCalendarAccount .section {
    margin-bottom: 30px;
}

#dialogCalendarAccount .changeButton {
    color: #337ab7;
}

#dialogCalendarAccount .nameSection {
    float: left;
    height: 120px;
    margin-left: 30px;
    padding-top: 20px;

    font-size: 26px;
}

#dialogCalendarAccount .nameSection .email {
    font-size: 20px;
}

#dialogCalendarAccount .heading {
    font-size: 14px;
}

#dialogCalendarAccount .valueContainer {
    height: 30px;
}

#dialogCalendarAccount .value {
    font-size: 18px;
}

#dialogCalendarAccount .profileSection {
    width: 100px;
    float: left;
}

#dialogCalendarAccount .profileSection .imagePreview {
    float: left;
    display: inline-block;
    width: 100px;
    height: 100px;

    border-radius: 50%;
    border: 2px solid #4c4c4c;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-right: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

#dialogCalendarAccount #accountImageCrop {
}

#dialogCalendarAccount #accountImageCrop #accountImageCropper {
    width: 400px;
    height: 400px;

    margin-left: auto;
    margin-right: auto;
    margin-top: 6px;
}

#dialogCalendarAccount #accountImageCrop #accountImageCropDone {
    background-color: #4188c5;
    color: white;
    padding: 8px 22px 8px 22px;
    font-weight: normal;
    font-size: 15px;
    border: 0;
    border-radius: 5px;
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;

    margin-top: 50px;
}



/**************************************
 **************************************
 Reusable Components
 **************************************
 **************************************/

div#componentsView {
    display: none;
}

#presentationUploadingDialog {
    display: none;
}


/**************************************
 **************************************
 Meeting Session view
 **************************************
 **************************************/

div#sessionView {
    display: none;
}

table#sessionTable {
    width: 100%;
}

#sessionMedia {
    display: none;
}

/**************************************
 Session view Left
 **************************************/

table#sessionTable td.sessionLeft {
    width: 30%;
    min-width: 260px;
    max-width: 330px;

    border-right: #d4d4d4 solid 1px;

    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}

table#sessionLeftTable {
    width: 100%;
}

table#sessionLeftTable td.sessionLeader {
    color: #66666b;
    background-color: #e0dfdf;

    /*height: 260px;*/

    vertical-align: top;
}

div.sessionLeaderInfo {
    padding-top: 2px;
    padding-bottom: 24px;
    padding-left: 10px;
    padding-right: 4px;
    clear: both;
}

div.sessionLeaderInfo div.sessionLeaderProfile {
    float: left;
    padding-right: 14px;
}

div.sessionLeaderInfo div.sessionLeaderProfile #sessionLeaderProfileImage {
    display: none;

    float: left;
    width: 64px;
    height: 64px;

    border-radius: 50%;
    border: 1.5px solid #6a6969;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

    padding-top: 4px;
    margin-top: 6px;
    margin-left: 8px;
}

div.sessionLeaderInfo div.sessionLeaderProfile #sessionLeaderProfileNoImage {
    border-radius: 50px;
    border: white solid 1.5px; /*#9a9a9a solid 1.5px;*/
    overflow: hidden;
    background-color: rgb(96, 106, 121);

    width: 64px;
    height: 64px;

    text-align: center;
    padding-top: 4px;

    margin-top: 6px;
    margin-left: 8px;
}

div.sessionLeaderInfo div.sessionLeaderProfile #sessionLeaderProfileNoImage div.glyphicon-user {
    font-size: 52px;
    padding-top: 8px;
    color: white;
}

div.sessionLeaderInfo div#sessionLeaderName {
    font-size: 23px;
    padding-top: 4px;
    color: #454c56;
}

div.sessionLeaderInfo div#sessionLeaderDetails {
    font-size: 14px;
    color: #797c7f;
}

div#sessionLeaderWebcam {
    display: none;
    clear: both;
}
div.sessionLeaderWebcam video#leaderVideo {
    display: none;
    width: 100%;
}

td.sessionLeader div.sessionLeaderOptions {
    background-color: #cecece;

    padding-top: 10px;
    padding-left: 4px;
    margin-bottom: 5px;
    /*height: 100%;*/

    font-weight: 300;
    font-size: 15px;
}

td.sessionLeader div.sessionLeaderSection {
    clear: both;
    padding-bottom: 10px;
}

td.sessionLeader div.sessionLeaderSection label {
    display: block;
    clear: both;

    font-weight: 400;
    font-size: 14px;

    margin-bottom: 2px;
    margin-left: 6px;
}

td.sessionLeader div.sessionLeaderSection div .icon {
    float: left;
    color: #888888;
    margin-top: 6px;
    margin-right: 4px;
    margin-left: 6px;
    font-size: 16px;
}

td.sessionLeader div.sessionLeaderSection div .icon .waiting {
    color: #de7737;
}

td.sessionLeader div.sessionLeaderSection .ui-selectmenu-button.ui-button {
    border: 1px solid #9a9a9a;
    background-color: rgb(246, 246, 246);
    font-size: 14px;
    font-weight: 300;
    height: 28px;
}

td.sessionLeader div.sessionLeaderSection .ui-selectmenu-text {
    margin-top: -3px;
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 400;
}

td.sessionLeader div.sessionLeaderSection button {
    border: 1px solid #9a9a9a;
    height: 28px;
    background-color: #f6f6f6;
    color: #454545;
    font-size: 14px;
    font-weight: 400;
    border-radius: 3px;
    padding-left: 14px;
    padding-right: 14px;
}
td.sessionLeader div.sessionLeaderSection button.disabled {
    color: #797979;
}

td.sessionLeader #leaderOptionsMenu {
    display: none;
    width: 170px;
    position: absolute;
    z-index: 1000;
}



table#sessionLeftTable td.sessionParticipants {
    background-color: #f3f2f2;

    vertical-align: top;
    height: 100%;
}

table#sessionLeftTable td.sessionParticipants div.header {
    color: #565656;
    font-size: 16px;
    font-weight: bold;

    margin: 7px;
}

div#participantList {
    overflow: auto;
    height: calc(100% - 36px);
}

div#participantList div.participant {
    display: flex;
    clear: both;
}

div#participantList div.participant:hover {
    cursor: default;
}

div#participantList div.participant:hover div.iconBorder {
    border: #707070 solid 1.5px;
}

div#participantList div.participant:hover div.iconBorder div.icon {
    color: #707070;
}

div#participantList div.participant div.iconBorder {
    float: left;

    border-radius: 50px;
    border: #9a9a9a solid 1.5px;
    overflow: hidden;

    width: 32px;
    height: 32px;

    text-align: center;
    padding-top: 4px;

    margin-top: 6px;
    margin-left: 8px;
}

div#participantList div.participant div.iconBorder div.icon {
    font-size: 26px;
    color: #94a0ab;
    /*clip-path: circle(15px at center);*/
}

div#participantList div.participant div.iconBorder div.icon.glyphicon-volume-up {
    margin-top: -3px;
    margin-left: 1px;
}

div#participantList div.participant div.iconBorder div.icon.glyphicon-phone {
    margin-top: -2px;
    font-size: 23px;
}

div#participantList div.participant div.info {
    float: left;

    width: calc(100% - 50px - 10px);
    min-height: 46px;

    margin-left: 10px;
    padding-right: 10px;
    padding-top: 4px;

    border-bottom: #d4d4d4 solid 1px;
}
div#participantList div.participant div.info.hasActions {
    width: calc(100% - 50px - 10px - 103px);
}

div#participantList div.participant div.info div.name {
    font-size: 14px;
    color: #373b3f;
}

div#participantList div.participant div.info div.details {
    color: #676767;
    font-size: 12px;
}

div#participantList div.participant div.actions {
    float: right;

    /*width: calc(100% - 50px - 10px - 10px);*/
    height: 46px;
    width: 103px;

    padding-left: 4px;
    margin-right: 10px;
    padding-top: 8px;

    border-bottom: #d4d4d4 solid 1px;
}

div#participantList div.participant div.actions .action {
    float: left;
    width: 28px;
    height: 28px;
    cursor: pointer;
    margin-right: 5px;
}
div#participantList div.participant div.actions .action:focus {
    outline:0;
}
div#participantList div.participant div.actions .action:hover {
    opacity: 1 !important;
}

div#participantList div.participant div.actions .action.speech {
    background: url('../images/participant-list/actions/speaker.svg');
    opacity: 0.7;
}

div#participantList div.participant div.actions .action.speech.muted {
    background: url('../images/participant-list/actions/speaker-mute.svg');
}

div#participantList div.participant div.actions .action.video {
    background: url('../images/participant-list/actions/camera.svg');
    opacity: 0.7;
}
div#participantList div.participant div.actions .action.video.muted {
    background: url('../images/participant-list/actions/camera-mute.svg');
}

div#participantList div.participant div.actions .action.remove {
    background: url('../images/participant-list/actions/remove-gray.svg');
    opacity: 0.8;
}
div#participantList div.participant div.actions .action.remove:hover {
    background: url('../images/participant-list/actions/remove-red.svg');
}



table#sessionLeftTable td.sessionSpeechControls {
    /* border-top: #a8aaab 2px solid; */
    vertical-align: bottom;
    background-color: #d0cfcf;
}

div#speechControls {
    height: 170px;

    padding-left: 10px;
    padding-top: 10px;

    background-color: #d0cfcf;
    border-top: #b1b1b1 2px solid;

    color: #0a0a0a;
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}

div#speechControls.mobile {
    height: 184px;
}

div#speechControls .title {
    font-size: 18px;
    color: #4a4a4a;
    font-weight: 600;
}

div#speechControls a#speechSettings {
    float: right;
    font-size: 20px;
    color: #6b6a6a;
    text-decoration: underline;
    padding-right: 8px;
    font-weight: 400;
}

div#speechControls a#speechSettings:hover {
    color: #2b466b;
}

div#speechControls div.speechControlButtons {
    float: left;
    padding-top: 10px;
}

.mobileSpeechPushButton {
    -webkit-touch-callout: none;

    display: none;

    margin-bottom: 13px;
    margin-top: 4px;
    background: #4c99da;
    border-radius: 6px;
    padding: 6px;
    color: white;
    text-transform: uppercase;
    min-width: 210px;
    min-height: 50px;

    cursor: pointer;

    transition: background-color 0.3s;
}

.mobileSpeechPushButton.waiting {
    background-color: #9a9a00;
}

.mobileSpeechPushButton.speaking {
    background-color: green;
}

.mobileSpeechPushButton > span {
    text-transform: uppercase;
    padding-left: 4px;
}

.mobileSpeechPushButton > img {
    width: 36px;
}

div#speechControls #speechTip {
    color: #383838;
    padding-top: 8px;
    padding-bottom: 6px;
    font-size: 15px;
}

div#speechControls #speechIcon {
    display: none;
    float: right;

    text-align: center;
    margin-right: 1px;
    width: 50px;
    height: 50px;
    padding-top: 10px;
}
div#speechControls #speechIcon span {
    font-size: 42px;
    color: #376fa0;;

    animation: speechIconPulse 1s infinite;
}

@keyframes speechIconPulse {
    0% {
        transform: scale(1.0);
    }
    60% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1.0);
    }
}

div#speechControls #speechStatus {
    bottom: 10px;
    position: absolute;

    color: #383838;
    font-size: 15px;
    padding-top: 2px;

    clear: both;
}

@media screen and (max-height: 780px) {
    /* responsive mode for smaller screens (vertical) */

    /* reduce video size */
    div.sessionLeaderWebcam video#leaderVideo {
        max-height: 200px;
    }

    div.sessionLeaderWebcam {
        background-color: #8e8e8e;
        max-height: 200px;
    }

    /* compress leader info */
    div.sessionLeaderInfo {
        padding-bottom: 3px;
    }

    div.sessionLeaderProfile {
        float: left;
        padding-right: 10px;
    }

    div.sessionLeaderInfo div.sessionLeaderProfile #sessionLeaderProfileImage {
        width: 40px;
        height: 40px;
        margin-left: 2px;
        margin-top: 4px;
    }

    div.sessionLeaderInfo div.sessionLeaderProfile #sessionLeaderProfileNoImage {
        width: 40px;
        height: 40px;
        margin-left: 2px;
        margin-top: 4px;
    }

    div.sessionLeaderInfo div.sessionLeaderProfile #sessionLeaderProfileNoImage div.glyphicon-user {
        display: none;
    }

    /*
    div.sessionLeaderInfo div.sessionLeaderProfile div.iconBorder {
        background-color: rgb(119, 130, 148);

        width: 42px;
        height: 42px;

        text-align: center;
        padding-top: 4px;

        margin-top: 4px;
        margin-left: 8px;
    }

    div.sessionLeaderInfo div.sessionLeaderProfile div.iconBorder div.glyphicon-user {
        font-size: 23px;
        padding-top: 2px;
    }
    */

    div.sessionLeaderInfo div#sessionLeaderName {
        font-size: 18px;
        padding-top: 2px;
    }

    div.sessionLeaderInfo div#sessionLeaderDetails {
        margin-top: -2px;
        margin-bottom: 2px;
    }

    /* compress leader options (and remove extra labels) */
    div.sessionLeaderOptions .leaderOptionLabel {
        display: none !important;
    }

    td.sessionLeader div.sessionLeaderOptions {
        padding-top: 5px;
        margin-bottom: 0px;
    }

    td.sessionLeader div.sessionLeaderSection {
        padding-bottom: 5px;
    }

    /* compress participant list (participants become single-line entries) */
    table#sessionLeftTable td.sessionParticipants div.header {
        font-size: 15px;

        margin-top: 6px;
        margin-bottom: 3px;
    }

    div#participantList div.participant div.iconBorder {
        width: 29px;
        height: 29px;

        padding-top: 3px;

        margin-top: 1px;
        margin-left: 10px;
    }

    div#participantList div.participant div.iconBorder div.icon {
        font-size: 22px;
    }

    div#participantList div.participant div.iconBorder div.icon.glyphicon-volume-up {
        margin-top: -2px;
        margin-left: 1px;
    }

    div#participantList div.participant div.iconBorder div.icon.glyphicon-phone {
        margin-top: -2px;
        font-size: 23px;
    }

    div#participantList div.participant div.info {
        min-height: 36px;
    }
    div#participantList div.participant div.info.hasActions {
        width: calc(100% - 50px - 95px);
    }

    div#participantList div.participant div.info div.name {
        display: inline;
    }

    div#participantList div.participant div.info div.details {
        display: inline;
        padding-left: 8px;
        font-size: 14px;
    }

    div#participantList div.participant div.actions {
        height: 36px;
        width: 95px;

        padding-top: 2px;
        margin-right: 0px;
    }

    div#participantList div.participant div.actions .action {
        margin-right: 2px;
    }

    /* compress speech controls */
    div#speechControls {
        height: 134px;

        padding-left: 7px;
        padding-top: 3px;
    }

    div#speechControls .title {
        font-size: 14px;
    }

    div#speechControls a#speechSettings {
        font-size: 18px;
    }

    div#speechControls a#speechSettings:hover {
        color: #2b466b;
    }

    div#speechControls div.speechControlButtons {
        padding-top: 0px;
    }

    div#speechControls #speechTip {
        padding-top: 4px;
        padding-bottom: 4px;
        font-size: 14px;
    }

    div#speechControls #speechIcon {
        /*margin-right: -20px;*/
    }

    div#speechControls #speechStatus {
        bottom: 2px;
    }

    div#speechControls #speechStatus.broadcasting {
        display: none;
    }
}


/**************************************
 Settings Dialog
 **************************************/

div#sessionSettingsDialog {

}

div#sessionSettingsDialog table td {
    vertical-align: top;
    padding: 5px;
    padding-bottom: 10px;
}

div#sessionSettingsDialog #audioDialogWebcam {
    margin-top: 5px;
}


/**************************************
 Session view Right
 **************************************/

table#sessionRightTable {
    width: calc(100% - 30px);
    margin-left: 15px;
    margin-right: 0; /*15px;*/
}

/**************************************
 Session Shared View
 **************************************/

td.sessionSharedView {
    vertical-align: top;
}

div#sharedViewTabs {
    border: 0 !important;
    height: calc(100% - 10px);
    padding: 4px 0px 10px 0px;
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}

div#sharedViewTabs ul {
    white-space: nowrap;
    margin-top: 5px;
    border: 0 !important;
    background: none !important;

    /* center */
    text-align: center;
    height: 2.68em;
}

div#sharedViewTabs ul li {
    /* center */
    float: none !important;
    display: inline-block;
    min-width: 100px;

    margin: 0em;
    /*border: 1px solid #c5c5c5;*/
}

div#sharedViewTabs ul li > a {
    text-align: center;
    width: 100%;
    outline: 0;
    cursor: pointer;
}

div#sharedViewTabs ul li.ui-state-active {
    background-color: #4c99da;
    border: 1px solid #c5c5c5;
}

div#sharedViewTabs ul li.ui-state-hover {
    cursor: default;
}

div#sharedViewTabs div.sharedViewTab {
    height: calc(100% - 32px - 2px);
    overflow: auto;

    border: 1px solid #c5c5c5;
    border-radius: 3px;
}

div#sharedViewTabs ul li.state-sharing {
    background-color: #d65f5f;
    border: 1px solid #c5c5c5;
}

div#sharedViewTabs ul li.state-sharing > a {
    color: white;
}


/**************************************
 Shared view - Common elements
 **************************************/

div#sharedViewTabs .sharedViewTab .centeredContainer {
    width: 100%;
    height: calc(100% - 20px);
    text-align: center;
    margin-top: 20px;
}

div#sharedViewTabs .sharedViewTab img.noContentIcon {
    margin-top: 20px;

    opacity: 0.9;
    width: 200px;
}

div#sharedViewTabs .sharedViewTab .verticalOffset {
    margin-top: 40px;
}

div#sharedViewTabs .sharedViewTab .infoPane {
    display: inline-block;
    margin-bottom: 40px;

    font-size: 20px;
}*

div#sharedViewTabs .sharedViewTab .infoPane > img {
    float: left;
    width: 110px;
}

div#sharedViewTabs .sharedViewTab .infoPane .right {
    float: left;
    margin-left: 20px;
    text-align: left;
}

div#sharedViewTabs .sharedViewTab .infoPane .compressedTitle {
    max-width: 240px;
    margin-top: 15px;
    margin-bottom: 20px;

    line-height: 25px;
    font-size: 20px;
    text-align: left;
}

div#sharedViewTabs .sharedViewTab .infoPane .compressedTitleSmall {
    max-width: 240px;
    margin-top: 4px;
    margin-bottom: 20px;

    line-height: 25px;
    margin-top: 4px;
    font-size: 17px;
    text-align: left;
}

div#sharedViewTabs .sharedViewTab a.leaderButton {
    font-size: 18px;
    color: #ececec;
    text-decoration: none;
    background-color: gray;
    border-radius: 4px;
    padding: 5px 7px 5px 7px;
}
div#sharedViewTabs .sharedViewTab a.leaderButton:hover {
    background-color: #666666;
}

div#sharedViewTabs .sharedViewTab a.emphasisButton {
    height: 40px;
    color: #fff;
    font-size: 20px;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    background-color: #c02334;
    border-color: #dc3545;
    display: inline-block;
    vertical-align: middle;
    line-height: 39px;
    padding: 0px 30px 0 30px;
    border-radius: 4px;
}
div#sharedViewTabs .sharedViewTab a.emphasisButton:hover {
    background-color: #c82333;
    border-color: #bd2130;
    text-decoration: none;
}

/**************************************
 Shared view - Welcome tab
 **************************************/

div#sharedViewWelcome div#sharedWelcomeMeetingTitle {
    font-size: 30px;
}

div#sharedViewWelcome div#sharedWelcomeMeetingDescription {
    font-size: 14px;

    border-top: 1px solid #d4d4d4;
    padding-top: 10px;
    margin-top: 20px;
}

/**************************************
 Shared view - Conference
 **************************************/

div#sharedViewConference {

}

table.videoContainerMiddle {
    height: 100%;
    width: 100%;
}
table.videoContainerMiddle td {
    vertical-align: top;
}

div#sharedViewConference div.videoContainer {
    text-align: center;
    overflow: hidden;
    position: absolute;
    left: 5px;
    right: 5px;
    background-color: #3a3a3a;
}

div#sharedViewConference #conferenceLeaderOptions-button {
    z-index: 1000;
    position: absolute;
    right: 16px;
    margin-top: 12px;
    opacity: 0.4;
}
div#sharedViewConference #conferenceLeaderOptions-button:hover {
    opacity: 1;
}

div#sharedViewConference div.videoContainer video {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    /*border: 1px solid #d0d0d0;*/
    /*object-fit: cover;*/
    /*float: left;*/
    height: 100%;
}

div#sharedViewConference div.videoContainer div.placeholder {
    margin-left: auto;
    margin-right: auto;
    /*border: 1px solid #d0d0d0;*/
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;

    background-color: #858585;
    background: url('../images/webcam-placeholder.svg');
    background-size: 25%;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.5;
    filter: grayscale(100%);
}

@media screen and (max-height: 835px) {
    /* size down background images on small screens (iPad Landscape, etc) */
    div#sharedViewConference div.videoContainer div.placeholder {
        background-size: 10%;
    }
}

div#sharedViewConference div.videoContainer div.placeholder.noCamera {
    opacity: 100;
    filter: unset;
}

div#sharedViewConference div.videoContainer div.title {
    display: none;

    position: absolute;
    width: 200px;
    right: 30px;
    bottom: 30px;
    /*height: 80px;*/
    padding: 10px;

    text-align: left;
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 16px;
    float: right;
    color: white;
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.52);
}

div#sharedViewConference div.videoContainer div.title div.type {
    font-weight: normal;
}


/**************************************
 Shared view - Presentation
 **************************************/

div#sharedViewPresentations {

}

#sessionLoadPresentationDialog {
    background-color: #f8f9fa;
}

#sessionLoadPresentationDialog .noPresentations {
    display: none;
    margin-top: 40px;
}
#sessionLoadPresentationDialog .noPresentations img {
    float: left;
    width: 50px;
    margin-top: 6px;
    margin-right: 18px;
    margin-left: 10px;
}
#sessionLoadPresentationDialog .noPresentations div {
    font-size: 16px;
    margin-bottom: 10px;
}



div#loadPresentationList {
    width: calc(100%);
    height: calc(100%);
    overflow: scroll;
    padding-top: 10px;

    background-color: #f8f9fa;
}
div#loadPresentationList div.presentation {
    cursor: pointer;
    overflow: auto;

    border: 1px solid #e9ecef;
    border-bottom: 0;
    border-radius: 0;
    background-color: white;
    box-shadow: 0 0.125rem 0.25rem rgba(73,80,87,0.05) !important;

    margin-bottom: 12px;
    padding: 8px;
}
div#loadPresentationList div.presentation:hover {
    background-color: #d5d5db;
}

div#loadPresentationList div.presentation .title {
    font-weight: bold;
}

div#loadPresentationList div.presentation .presentationInfo {
}

div#loadPresentationList div.presentation img.thumbnail {
    float: left;
    margin-right: 8px;
    padding: 0;
    margin-bottom: 0;
    width: 64px;
}

#sharedViewPresentationViewer {
    height: 100%;
    width: 100%;
}

iframe#sharedViewPresentationCurrentSlide {
    width: calc(100% - 96px);
    height: 100%;

    border: 0px;
}
iframe#sharedViewPresentationCurrentSlide.resizeFix {
    width: 100px !important;
    height: 100px !important;;
}
iframe#sharedViewPresentationCurrentSlide.nonLeader {
    width: 100%;
}

div#sharedViewPresentationSlides {
    display: none;
    float: right;

    width: 90px;
    height: 100%;

    overflow: auto;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
}

div#sharedViewPresentationSlides div.slide {
    cursor: pointer;
    width: 90px;

    border-radius: 3px;
    margin-left: 3px;
    margin-top: 3px;
    margin-bottom: 6px;
}
div#sharedViewPresentationSlides div.slide:hover > img {
    filter: contrast(2.0);
}
div#sharedViewPresentationSlides div.slide.selected {
    border: 3px solid #4d97b7;
    margin-left: 4px;
    width: 86px;
    margin-top: 0;
    margin-bottom: 0;
}
div#sharedViewPresentationSlides div.slide.selected > img {
    border: 0;
    border-radius: 0;
    margin-left: 0;
}

div#sharedViewPresentationSlides div.slide > img {
    width: 80px;
    margin-left: 4px;
    border: 1px solid #e2e2e2;
    border-radius: 4px;

    /*transition: 0.2s;*/
}


/**************************************
 Shared view - Screen Sharing
 **************************************/

#sharedViewSharedScreen.sharedViewTab
{
    padding: 0px;
    margin-left: 0;
    /*background: red;*/
}

div#sharedViewSharedScreen #sharedViewSharedScreenViewer {
    position: relative;
    height: 100%;
    left: 0;
    right: 0;

    text-align: center;
    overflow: hidden;

    background-color: #3a3a3a;
    border-radius: 2px;
}

div#sharedViewSharedScreen #sharedViewSharedScreenViewer #sharedScreenVideo {
    width: 100%;
    height: 100%;
}

div#sharedViewSharedScreen #sharedScreenLeaderSharing {
    height: 70px;
    margin-top: 40px;

    font-size: 18px;
    font-weight: bold;
}


/**************************************
 Shared view - Video
 **************************************/

div#sharedViewVideos {

}

div#sharedViewVideos div#sharedViewVideoNone {
    width: 100%;
    text-align: center;
    margin-top: 20px;
}

div#sharedViewVideos div#sharedViewVideoNone div {
    margin-top: 40px;
}


div#sharedViewVideos div#sharedViewVideoNone div {
    margin-top: 40px;
}

div#sharedViewVideos div#sharedYouTubePlayerContainer {
    width: 100%;
    text-align: center;
    display: none;
}

div#sharedViewVideos div#sharedYouTubePlayerContainer a#sharedYouTubeBackToSearch {
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;

    color: white;
    background-color: #919191;
    border-radius: 4px;
    padding: 3px;
    padding-left: 7px;
    padding-right: 7px;
}
div#sharedViewVideos div#sharedYouTubePlayerContainer a#sharedYouTubeBackToSearch:hover {
    text-decoration: underline;
}

div#sharedViewVideos div#sharedYouTubePlayerContainer #sharedYouTubeTitle
{
    font-size: 18px;
    padding-bottom: 10px;
    padding-top: 10px;
}

div#sharedViewVideos div#sharedViewVideoSearch {
    width: 100%;
    text-align: center;
}

div#sharedViewVideos div#sharedViewVideoSearch input {
    width: 240px;
    padding: 5px;
    font-size: 16px;
}

div#sharedViewVideos div#sharedViewVideoSearch button {
    padding: 5px;
    font-size: 16px;
}

div#sharedViewVideos div#sharedVideoSearchResults {
    display: none;

    height: 350px;
    padding-top: 18px;
    overflow: scroll;

    clear: both;
}

div#sharedViewVideos div#sharedVideoSearchResults div.resultsTitle {
    font-size: 14px;
    font-weight: 500;
}

div#sharedViewVideos div#sharedVideoSearchResults div.videoLink {
    width: 290px;
    padding: 4px;
    margin: 4px;
    margin-bottom: 8px;
    display: inline-block;
    height: 130px;

    border: #e2e1e1 1px solid;

    overflow: hidden;
    clear: both;

    cursor: pointer;
}
div#sharedViewVideos div#sharedVideoSearchResults div.videoLink:hover {
    background-color: #d0dee8;
}
div#sharedViewVideos div#sharedVideoSearchResults div.videoLink img {
    float: left;
    width: 80px;
    margin-right: 10px;
}
div#sharedViewVideos div#sharedVideoSearchResults div.videoLink div.title {

}
div#sharedViewVideos div#sharedVideoSearchResults div.videoLink div.author {
    color: gray;
}
div#sharedViewVideos div#sharedVideoSearchResults div.videoLink div.stats {
    color: gray;
}

/**************************************
 Session Portrait Phone Floating Speech Controls
 **************************************/

#speechControlsPhonePortrait {
    display: none;

    z-index: 1;
    position: absolute;
    right: 14px;
    margin-top: -24px;
}

/**************************************
 Session Chat Messages
 **************************************/

td.sessionSharedChat {
    vertical-align: top;
    height: 216px;
}

td.sessionSharedChat div.title {
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 22px;
    font-weight: 300;
    height: 32px;

    background-color: #4c99da;
    color: white;
    opacity: 0.86;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;

    width: 100%;
    padding-left: 6px;
}

td.sessionSharedChat div#chatHistory {
    width: 100%;
    height: calc(220px - 32px - 39px - 12px);
    padding-bottom: 3px;

    border: 0;
    border-left: 1px solid #c5c5c5;
    border-right: 1px solid #c5c5c5;

    overflow: auto;
}

td.sessionSharedChat div#chatHistory div.message {
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 14px;
    font-weight: 300;

    margin-top: 3px;
}

td.sessionSharedChat div#chatHistory div.message div.from {
    margin-left: 14px;
    margin-bottom: 4px;
    margin-top: 10px;

    font-size: 12px;
    color: #8e8e93;
}

td.sessionSharedChat div#chatHistory div.message div.body {
    margin-left: 5px;
    display: inline-block;

    background-color: #e5e5ea;
    padding: 1px 10px 1px 10px;
    color: #000000;
    border-radius: 5px;
}

td.sessionSharedChat div.chatSend {
    width: 100%;
    border: 1px solid #c5c5c5;
    padding: 4px;
    border-top: none;
    overflow: hidden;
    height: 39px;
}

td.sessionSharedChat input#chatMessage {
    float: left;

    padding: 5px 10px;
    outline: none;
    border: 1px solid #939ba4;
    color: #80868e;

    width: calc(100% - 50px - 3px);
    height: 30px;

    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 16px;
    font-weight: 300;

    border-radius: 3px;
}

td.sessionSharedChat input#chatSend {
    float: left;

    width: 50px;
    height: 30px;

    outline: none;
    border: 0;
    margin-left: 3px;
    padding-left: 7px;

    background-color: #4c99da;
    color: white;

    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 16px;
    font-weight: 300;

    border-radius: 3px;
}



/**************************************
 Theater Mode - overwrites session
 styles
 **************************************/

#sessionView.theaterMode table#sessionTable td.sessionLeft {
    width: 100px;
    min-width: 100px;
}

#sessionView.theaterMode div.sessionLeaderInfo div.sessionLeaderProfile {
    display: none;
}

#sessionView.theaterMode div.sessionLeaderInfo div#sessionLeaderName {
    font-size: 20px;
}

#sessionView.theaterMode div#participantList div.participant div.iconBorder {
    display: none;
}

#sessionView.theaterMode div#participantList div.participant div.info {
    margin-left: 7px;
    width: calc(100% - 7px - 2px);
    padding-right: 2px;
}

#sessionView.theaterMode div#participantList div.participant div.info div.name {
    font-size: 13px;
}

#sessionView.theaterMode div#speechControls #speechStatus {
    font-size: 13px;
}

#sessionView.theaterMode table#sessionRightTable {
    margin-left: 4px;
    padding-bottom: 4px;
    width: calc(100% - 6px);
}

#sessionView.theaterMode div#sharedViewTabs ul {
    display: none;
}

#sessionView.theaterMode div#sharedViewTabs ul {
    display: none;
}

#sessionView.theaterMode div#sharedViewTabs div.sharedViewTab {
    height: calc(100% - 2px);
    padding-right: 0px !important;
}

#sessionView.theaterMode td.sessionSharedChat {
    display: none;
}



/**************************************
 Animations
 **************************************/

@-webkit-keyframes swoosh-animation {
    0% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -300, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -300, 0, 0, 1); }
    1.3% { -webkit-transform: matrix3d(3.905, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -237.02, 0, 0, 1); transform: matrix3d(3.905, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -237.02, 0, 0, 1); }
    2.55% { -webkit-transform: matrix3d(4.554, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -182.798, 0, 0, 1); transform: matrix3d(4.554, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -182.798, 0, 0, 1); }
    4.1% { -webkit-transform: matrix3d(4.025, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -125.912, 0, 0, 1); transform: matrix3d(4.025, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -125.912, 0, 0, 1); }
    5.71% { -webkit-transform: matrix3d(3.039, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -79.596, 0, 0, 1); transform: matrix3d(3.039, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -79.596, 0, 0, 1); }
    8.11% { -webkit-transform: matrix3d(1.82, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -31.647, 0, 0, 1); transform: matrix3d(1.82, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -31.647, 0, 0, 1); }
    8.81% { -webkit-transform: matrix3d(1.581, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -21.84, 0, 0, 1); transform: matrix3d(1.581, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -21.84, 0, 0, 1); }
    11.96% { -webkit-transform: matrix3d(1.034, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.825, 0, 0, 1); transform: matrix3d(1.034, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.825, 0, 0, 1); }
    12.11% { -webkit-transform: matrix3d(1.023, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.53, 0, 0, 1); transform: matrix3d(1.023, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.53, 0, 0, 1); }
    15.07% { -webkit-transform: matrix3d(0.947, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 12.662, 0, 0, 1); transform: matrix3d(0.947, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 12.662, 0, 0, 1); }
    16.12% { -webkit-transform: matrix3d(0.951, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 13.007, 0, 0, 1); transform: matrix3d(0.951, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 13.007, 0, 0, 1); }
    27.23% { -webkit-transform: matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.352, 0, 0, 1); transform: matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.352, 0, 0, 1); }
    27.58% { -webkit-transform: matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.121, 0, 0, 1); transform: matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.121, 0, 0, 1); }
    38.34% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.311, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.311, 0, 0, 1); }
    40.09% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.291, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.291, 0, 0, 1); }
    50% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.048, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.048, 0, 0, 1); }
    60.56% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.007, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.007, 0, 0, 1); }
    82.78% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
    100% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
}

@keyframes swoosh-animation {
    0% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -300, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -300, 0, 0, 1); }
    1.3% { -webkit-transform: matrix3d(3.905, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -237.02, 0, 0, 1); transform: matrix3d(3.905, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -237.02, 0, 0, 1); }
    2.55% { -webkit-transform: matrix3d(4.554, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -182.798, 0, 0, 1); transform: matrix3d(4.554, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -182.798, 0, 0, 1); }
    4.1% { -webkit-transform: matrix3d(4.025, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -125.912, 0, 0, 1); transform: matrix3d(4.025, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -125.912, 0, 0, 1); }
    5.71% { -webkit-transform: matrix3d(3.039, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -79.596, 0, 0, 1); transform: matrix3d(3.039, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -79.596, 0, 0, 1); }
    8.11% { -webkit-transform: matrix3d(1.82, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -31.647, 0, 0, 1); transform: matrix3d(1.82, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -31.647, 0, 0, 1); }
    8.81% { -webkit-transform: matrix3d(1.581, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -21.84, 0, 0, 1); transform: matrix3d(1.581, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -21.84, 0, 0, 1); }
    11.96% { -webkit-transform: matrix3d(1.034, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.825, 0, 0, 1); transform: matrix3d(1.034, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.825, 0, 0, 1); }
    12.11% { -webkit-transform: matrix3d(1.023, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.53, 0, 0, 1); transform: matrix3d(1.023, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.53, 0, 0, 1); }
    15.07% { -webkit-transform: matrix3d(0.947, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 12.662, 0, 0, 1); transform: matrix3d(0.947, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 12.662, 0, 0, 1); }
    16.12% { -webkit-transform: matrix3d(0.951, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 13.007, 0, 0, 1); transform: matrix3d(0.951, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 13.007, 0, 0, 1); }
    27.23% { -webkit-transform: matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.352, 0, 0, 1); transform: matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.352, 0, 0, 1); }
    27.58% { -webkit-transform: matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.121, 0, 0, 1); transform: matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.121, 0, 0, 1); }
    38.34% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.311, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.311, 0, 0, 1); }
    40.09% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.291, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.291, 0, 0, 1); }
    50% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.048, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.048, 0, 0, 1); }
    60.56% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.007, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.007, 0, 0, 1); }
    82.78% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
    100% { -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
}

@-webkit-keyframes zoomIn-animation {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    50% {
        opacity: 1;
    }
}

@keyframes zoomIn-animation {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    50% {
        opacity: 1;
    }
}

.zoomIn-animation {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn;
}


@-webkit-keyframes fadeIn-animation {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn-animation {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeIn-animation {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}

.magictime {
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.spaceInLeft-animation {
    -webkit-animation-name: spaceInLeft-animation;
    animation-name: spaceInLeft-animation;
}

@keyframes spaceInLeft-animation {
    0% {
        opacity: 0;
        -webkit-transform-origin: 0% 50%;
        transform-origin: 0% 50%;
        -webkit-transform: scale(.2) translate(-200%, 0%);
        transform: scale(.2) translate(-200%, 0%);
    }

    100% {
        opacity: 1;
        -webkit-transform-origin: 0% 50%;
        transform-origin: 0% 50%;
        -webkit-transform: scale(1) translate(0%, 0%);
        transform: scale(1) translate(0%, 0%);
    }
}

@keyframes spaceOutRight-animation {
    0% {
        opacity: 1;
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%;
        -webkit-transform: scale(1) translate(0%, 0%);
        transform: scale(1) translate(0%, 0%);
    }

    60% {
        opacity: 0;
    }

    100% {
        opacity: 0;
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%;
        -webkit-transform: scale(.2) translate(200%, 0%);
        transform: scale(.2) translate(200%, 0%);
    }
}
.spaceOutRight-animation {
    -webkit-animation-name: spaceOutRight-animation;
    animation-name: spaceOutRight-animation;
}

.puffIn-animation {
    animation-name: puffIn-animation;
}
@keyframes puffIn-animation {
    0% {
        opacity: 0;
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-transform: scale(2,2);
        transform: scale(2,2);
        -webkit-filter: blur(2px);
        filter: blur(2px);
    }

    100% {
        opacity: 1;
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-transform: scale(1,1);
        transform: scale(1,1);
        -webkit-filter: blur(0px);
        filter: blur(0px);
    }
}

/* Sweep To Right */
.hvr-sweep-to-right {
    /*display: inline-block;*/
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
}
.hvr-sweep-to-right:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098D1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.hvr-sweep-to-right:hover, .hvr-sweep-to-right:focus, .hvr-sweep-to-right:active {
}
.hvr-sweep-to-right:hover:before, .hvr-sweep-to-right:focus:before, .hvr-sweep-to-right:active:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}


/* Success checkbox/animation */

.check_mark {
    width: 80px;
    height: 130px;
    margin: 0 auto;
}

.sa-icon {
    width: 80px;
    height: 80px;
    border: 4px solid gray;
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border-radius: 50%;
    margin: 20px auto;
    padding: 0;
    position: relative;
    box-sizing: content-box;
}

.sa-icon.sa-success {
    border-color: #4CAF50;
}

.sa-icon.sa-success::before, .sa-icon.sa-success::after {
    content: '';
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border-radius: 50%;
    position: absolute;
    width: 60px;
    height: 120px;
    background: white;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sa-icon.sa-success::before {
    -webkit-border-radius: 120px 0 0 120px;
    border-radius: 120px 0 0 120px;
    top: -7px;
    left: -33px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: 60px 60px;
    transform-origin: 60px 60px;
}

.sa-icon.sa-success::after {
    -webkit-border-radius: 0 120px 120px 0;
    border-radius: 0 120px 120px 0;
    top: -11px;
    left: 30px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: 0px 60px;
    transform-origin: 0px 60px;
}

.sa-icon.sa-success .sa-placeholder {
    width: 80px;
    height: 80px;
    border: 4px solid rgba(76, 175, 80, .5);
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border-radius: 50%;
    box-sizing: content-box;
    position: absolute;
    left: -4px;
    top: -4px;
    z-index: 2;
}

.sa-icon.sa-success .sa-fix {
    width: 5px;
    height: 90px;
    background-color: white;
    position: absolute;
    left: 28px;
    top: 8px;
    z-index: 1;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.sa-icon.sa-success.animate::after {
    -webkit-animation: rotatePlaceholder 4.25s ease-in;
    animation: rotatePlaceholder 4.25s ease-in;
}

.sa-icon.sa-success {
    border-color: transparent\9;
}
.sa-icon.sa-success .sa-line.sa-tip {
    -ms-transform: rotate(45deg) \9;
}
.sa-icon.sa-success .sa-line.sa-long {
    -ms-transform: rotate(-45deg) \9;
}

.animateSuccessTip {
    -webkit-animation: animateSuccessTip 0.75s;
    animation: animateSuccessTip 0.75s;
}

.animateSuccessLong {
    -webkit-animation: animateSuccessLong 0.75s;
    animation: animateSuccessLong 0.75s;
}

@-webkit-keyframes animateSuccessLong {
    0% {
        width: 0;
        right: 46px;
        top: 54px;
    }
    65% {
        width: 0;
        right: 46px;
        top: 54px;
    }
    84% {
        width: 55px;
        right: 0px;
        top: 35px;
    }
    100% {
        width: 47px;
        right: 8px;
        top: 38px;
    }
}
@-webkit-keyframes animateSuccessTip {
    0% {
        width: 0;
        left: 1px;
        top: 19px;
    }
    54% {
        width: 0;
        left: 1px;
        top: 19px;
    }
    70% {
        width: 50px;
        left: -8px;
        top: 37px;
    }
    84% {
        width: 17px;
        left: 21px;
        top: 48px;
    }
    100% {
        width: 25px;
        left: 14px;
        top: 45px;
    }
}
@keyframes animateSuccessTip {
    0% {
        width: 0;
        left: 1px;
        top: 19px;
    }
    54% {
        width: 0;
        left: 1px;
        top: 19px;
    }
    70% {
        width: 50px;
        left: -8px;
        top: 37px;
    }
    84% {
        width: 17px;
        left: 21px;
        top: 48px;
    }
    100% {
        width: 25px;
        left: 14px;
        top: 45px;
    }
}

@keyframes animateSuccessLong {
    0% {
        width: 0;
        right: 46px;
        top: 54px;
    }
    65% {
        width: 0;
        right: 46px;
        top: 54px;
    }
    84% {
        width: 55px;
        right: 0px;
        top: 35px;
    }
    100% {
        width: 47px;
        right: 8px;
        top: 38px;
    }
}

.sa-icon.sa-success .sa-line {
    height: 5px;
    background-color: #4CAF50;
    display: block;
    border-radius: 2px;
    position: absolute;
    z-index: 2;
}

.sa-icon.sa-success .sa-line.sa-tip {
    width: 25px;
    left: 14px;
    top: 46px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sa-icon.sa-success .sa-line.sa-long {
    width: 47px;
    right: 8px;
    top: 38px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

@-webkit-keyframes rotatePlaceholder {
    0% {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }
    5% {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }
    12% {
        transform: rotate(-405deg);
        -webkit-transform: rotate(-405deg);
    }
    100% {
        transform: rotate(-405deg);
        -webkit-transform: rotate(-405deg);
    }
}
@keyframes rotatePlaceholder {
    0% {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }
    5% {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }
    12% {
        transform: rotate(-405deg);
        -webkit-transform: rotate(-405deg);
    }
    100% {
        transform: rotate(-405deg);
        -webkit-transform: rotate(-405deg);
    }
}
