.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

body {
    padding: 0;
    user-select: none; /* supported by Chrome and Opera */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
}

/* width */
::-webkit-scrollbar {
    width: 5px;
    height: 10px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #b0b0b0;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.user-avatar {
    border-radius: 99%;
}

.loginBox {
    max-width: 100%;
    width: 500px
}

.stretch input {
    width: 100%
}

md-dialog-content {
    padding: 0;
}

.button-menu {
    padding-left: 16px;
}

@media only screen
and (max-width: 800px) {
    .mobileTablet {
        display: block;
    }

    .desktopTablet {
        display: none;
    }

    .mobile {
        display: block;
    }

    .desktop {
        display: none;
    }

    .tablet {
        display: none;
    }

    md-sidenav.md-sidenav-left.menuBar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed !important;
    }

    md-sidenav.md-sidenav-left.menuBarSmall {
        width: 40% !important;
        max-width: 40% !important;
        min-width: 40% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed !important;
    }

    md-sidenav.md-sidenav-right.CalendarBar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed;
    }

    md-sidenav.md-sidenav-right.NotificheBar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed;
    }

    md-sidenav.md-sidenav-right.FilterBar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed;
    }

    md-sidenav.md-sidenav-right.ChatBar {
        width: auto !important;
        max-width: 100% !important;
        min-width: 100% !important;
        position: fixed;
    }

    md-sidenav.md-sidenav-right.ChatPartecipantiBar {
        width: auto !important;
        min-width: 300px !important;
        position: fixed;
    }

    md-dialog.mediumscreen-dialog {
        min-width: 100%;
        min-height: 100%;
        border-radius: 20px;
    }

    md-dialog.mediumscreen-dialog2 {
        min-width: 100%;
        min-height: 100%;
        border-radius: 20px;
    }
}

@media only screen
and (min-width: 800px)
and (max-width: 1200px) {
    .mobileTablet {
        display: block;
    }

    .tablet {
        display: block;
    }

    .desktop {
        display: none;
    }

    .desktopTablet {
        display: none;
    }

    .mobile {
        display: none;
    }

    md-sidenav.md-sidenav-left.menuBar {
        width: 350px !important;
        min-width: 350px !important;
        position: fixed !important;
        height: 100%;
    }

    md-sidenav.md-sidenav-left.menuBarSmall {
        width: 40px !important;
        min-width: 40px !important;
        position: fixed !important;
        height: 100%;
    }

    md-sidenav.md-sidenav-right.CalendarBar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed;
    }

    md-sidenav.md-sidenav-right.NotificheBar {
        width: 50% !important;
        max-width: 50% !important;
        min-width: 50% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed;
    }

    md-sidenav.md-sidenav-right.FilterBar {
        width: 70% !important;
        max-width: 70% !important;
        min-width: 70% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed;
    }

    md-sidenav.md-sidenav-right.ChatBar {
        width: auto !important;
        max-width: 100% !important;
        min-width: 45% !important; /**/
        position: fixed;
    }

    md-sidenav.md-sidenav-right.ChatPartecipantiBar {
        width: auto !important;
        min-width: 300px !important;
        position: fixed;
    }

    md-dialog.mediumscreen-dialog {
        min-width: 80%;
        min-height: 80%;
        border-radius: 20px;
    }

    md-dialog.mediumscreen-dialog2 {
        min-width: 70%;
        min-height: 70%;
        border-radius: 20px;
    }
}

@media only screen
and (min-width: 1200px) {
    .mobileTablet {
        display: none;
    }

    .desktopTablet {
        display: block;
    }

    .desktop {
        display: block;
    }

    .tablet {
        display: none;
    }

    .mobile {
        display: none;
    }

    md-sidenav.md-sidenav-left.menuBar {
        width: 350px !important;
        min-width: 350px !important;
        position: fixed !important;
    }

    md-sidenav.md-sidenav-left.menuBarSmall {
        width: 40px !important;
        min-width: 40px !important;
        position: fixed !important;
    }

    md-sidenav.md-sidenav-right.CalendarBar {
        width: 55% !important;
        max-width: 55% !important;
        min-width: 55% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed !important;
    }

    md-sidenav.md-sidenav-right.NotificheBar {
        width: 30% !important;
        max-width: 30% !important;
        min-width: 30% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed;
    }

    md-sidenav.md-sidenav-right.FilterBar {
        width: 50% !important;
        max-width: 50% !important;
        min-width: 50% !important;
        height: 100%;
        min-height: 100% !important;
        max-height: 100% !important;
        position: fixed;
    }

    md-sidenav.md-sidenav-right.ChatBar {
        width: auto !important;
        max-width: 100% !important;
        min-width: 45% !important;
        position: fixed;
    }

    md-sidenav.md-sidenav-right.ChatPartecipantiBar {
        width: auto !important;
        min-width: 300px !important;
        position: fixed;
    }

    md-dialog.mediumscreen-dialog {
        min-width: 80%;
        min-height: 80%;
        border-radius: 20px;
    }

    md-dialog.mediumscreen-dialog2 {
        min-width: 70%;
        min-height: 70%;
        border-radius: 20px;
    }
}

/*TABLE MD*/
table.md-table td.md-cell {
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 60px;
    max-width: 100px;
}

table.md-table td.md-cell {
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 60px;
    max-width: 100px;
}

table.md-table td.md-cell.md-lists {
    text-align: left;
}

table.md-table td.md-cell.startCell {
    width: 0px;
    min-width: 0px;
    max-width: 0px;
}

md-content {
    height: 100%;
    width: 100%;
}

.transparent {
    background-color: transparent !important;
}

/*CHAT*/
.md-user-chat {
    font-weight: bold;
}

.md-avatar-user {
    /*background-color: rgba(67, 199, 102, 0.15);*/
    color: #000000;
    padding: 2px;
    padding-left: 10px;
    border-radius: 10px;
    text-align: left;
    width: 100%;
    margin-top: 5px;
    margin-bottom: 5px;
}

.md-avatar-other {
    /*background-color: rgba(67, 199, 102, 0.15);*/
    color: #000000;
    padding: 2px;
    padding-left: 10px;
    border-radius: 10px;
    text-align: left;
    width: 100%;
    margin-top: 5px;
    margin-bottom: 5px;
}

.md-message-user {
    /* background-color: rgba(67, 199, 102, 0.15);*/
    /*border-left: 3px solid #4fc3f7;
    border-right: 3px solid #4fc3f7;*/
    color: #000000;
    /*padding: 10px;*/
    /*border-radius: 10px;*/
    /*padding-left: 20px;
    padding-right: 20px;*/
    /*margin-right: 10px;*/
    font-size: small;
    text-align: left;
    width: 100%;
    margin-top: 5px;
    margin-bottom: 5px;
}

.md-message-2 {
    /*background-color: rgba(67, 199, 102, 0.15);*/
    /*border-left: 3px solid #2a6496;
    border-top: 3px solid #2a6496;*/
    color: #000000;
    /*padding: 10px;*/
    /*border-radius: 10px;*/
    /*padding-left: 20px;
    padding-right: 20px;*/
    /* margin-right: 10px;*/
    font-size: small;
    text-align: left;
    width: 100%;
    margin-top: 5px;
    margin-bottom: 5px;
}

.md-message-chat {
    /*background-color: rgba(67, 199, 102, 0.28);*/
    color: #000000;
    /*padding: 10px;*/
    /*border-radius: 10px;*/
    /*padding-left: 20px;
    padding-right: 20px;*/
    /*margin-right: 10px;*/
    font-size: small;
    text-align: left;
    width: 100%;
    margin-top: 5px;
    margin-bottom: 0px;
}

.md-chat-sender {
    height: 80px;
    width: 100%;
    position: absolute;
    bottom: 0px;
    padding-top: 20px;
    padding-left: 20px;
    background-color: rgb(229, 231, 234)
}

.md-chat-sender-secondary {
    height: 80px;
    width: 100%;
    position: absolute;
    bottom: 0px;
    padding-top: 20px;
    padding-left: 20px;
    background-color: rgb(229, 231, 234)
}

.actionMediaButtons {
    position: absolute;
    left: 7px;
    top: 10px;
    z-index: 2;
}

.login {

}

/*LOGIN*/
.login hgroup {
    text-align: center;
    margin-top: 4em;
    color: white;
}

.login h1 {
    color: #0277BD;
    font-weight: bold
}

.login h3 {
    color: #0277BD;
}

.transparent {
    background-color: transparent;
}

#resizable {
    width: 150px;
    height: 150px;
    padding: 0.5em;
}

#resizable h3 {
    text-align: center;
    margin: 0;
}

/*CHAT*/
#ChatFloat {
    z-index: 3;
    position: fixed !important;
    right: 30px !important;
    bottom: 0px !important;
    width: 400px;
    height: 500px;
}

/*VIDEOCHAT*/
.video-local {
    border-radius: 20px;
    width: auto;
    height: 100px;
    max-height: 100%;
    cursor: zoom-in;
}

#toolbarVideo {
    margin-left: 10px;
    z-index: 99;
    position: fixed !important;
    bottom: 0px !important;
    /*width: 100%;*/
    /*background-color: #880000;*/
    padding: 0;
}



.toolbarVideoExternal {
    position: absolute;
    margin: 0px;
    z-index: 3;
    right: 25px;
    bottom: 25px;
    opacity: 0.8;
    overflow: hidden;
    padding: 3px;
    border-radius: 20px;
    width: 35%;
    height: 35%;
}




.toolbarVideoExternalFullScreen {
    position: absolute;
    margin: 0px;
    z-index: 9999;
    left: 0px !important;
    top: 0px !important;
    opacity: 1;
    overflow: hidden;
    min-width: 100%;
    min-height: 100%;
    border-radius: 0px;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
}



@-webkit-keyframes animateThis {
    0% {
        width: 20%;
        height: 20%;
    }
    100% {
        width: 25%;
        height: 25%;
    }
}

#toolbarVideoSimply {
    margin-left: 10px;
    z-index: 99;
    position: fixed !important;
    bottom: 0px !important;
    /*width: 100%;*/
    /*background-color: #880000;*/
    padding: 0;
}

#local-container {
    z-index: 9999;
}

#audio-container {
    z-index: 9999;
}

#screen-container {
    z-index: 9999;
}

#video-buttons {
    z-index: 99;
    border-radius: 30px;
    background-color: white;
}

.iconSizeVideo {
    position: absolute;
    top: 10px;
    right: 10px;

}

/*NOTE*/
#note {
    z-index: 4;
    position: fixed !important;
    right: 0px;
    top: 20%;
    width: 400px;
    height: 500px;
}

#files {
    z-index: 4;
    position: fixed !important;
    right: 0px;
    top: 20%;
    width: 400px;
    height: 500px;
}

#paintPalette {
    z-index: 4;
    position: fixed !important;
    right: 0px;
    top: 20%;
    width: 400px;
    height: 160px;
}

/*CHROME*/
@supports (-webkit-appearance:none) {
    /*CONTENT BAR*/
    .contentBar {
        height: 90px;
    }

    .contentBarToolBarBig {
        height: 120px;
    }

    .toolbarMenu {
        /*top: 120px;*/
        position: fixed;
    }
}

/*FIREFOX*/
_:-moz-tree-row(hover), .contentBar {
    height: auto;
}

_:-moz-tree-row(hover), .contentBarToolBarBig {
    height: auto;
}

/*IE*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .contentBar {
        height: auto;
        width: auto;
    }

    .contentBarToolBarBig {
        height: auto;
        width: auto;
    }
}

md-dialog.generic-dialog {
    border-radius: 20px;
}

md-dialog.medium-dialog {
    min-width: 50%;
    border-radius: 0;
    border-radius: 20px;
}

md-dialog.fullscreen-dialog {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
}

md-dialog.partialfullscreen-dialog {
    max-width: 90%;
    max-height: 90%;
    width: 90%;
    height: 90%;
    border-radius: 20px;
}

md-dialog.small-dialog {
    max-width: 500px;
    border-radius: 20px;
}

md-dialog.imageEditDialog {
    max-width: 100%;
    max-height: 100%;
    min-width: 50%;
    min-height: 50%;
    border-radius: 20px;
}

md-step-content > div {
	height: 100%;
}

.md-tab-body-content {
    height: 100%;
}

.custom-style .angular-notification-icons-icon {
    left: -10px;
    background: yellow;
    color: black;
    width: 30px;
    height: 30px;
    font-weight: bolder;
    font-size: 1.2em;
}

.angular-notification-icons-icon.my-custom-animation {
    transition: 0.5s linear all;
}

.angular-notification-icons-icon.my-custom-animation-add {
    background: black;
    color: white;
}

.angular-notification-icons-icon.my-custom-animation-add-active {
    background: yellow;
    color: black;
}

/*files*/
.md-files-footer {
    height: 100px;
    width: 100%;
    position: absolute;
    bottom: 0px;
}

.patientAvatar {
    border-radius: 35px;
    width: 70px;
    height: 70px;
    padding: 5px;
}

.captionInfo {
    text-align: center;
    position: absolute;
    z-index: 100;
    width: 100%;
    text-align: center;
    bottom: 3px;
    opacity: 0.7;
}

.card-media {
    background-color: #999999;
}

.md-input-invalid md-radio-group {
    color: rgb(221, 44, 0);
}

.divBtnSalva {
    z-index: 99999;
    position: fixed;
    right: 5px;
    bottom: 5px
}

.divBtnDraft {
    z-index: 99999;
    position: fixed;
    right: 75px;
    bottom: 5px
}

.documentCardAdd {
    max-width: 350px;
    min-height: 500px;
    border: 3px solid white;
}

.ui-effects-transfer {
    border: 6px solid gray;
}

.nofocus:focus {
    outline: none;
}

.angular-with-newlines {
    white-space: pre-wrap;
}

.card {
    max-width: 600px;
}

/*MATERIAL ICONS*/
@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url(../styles/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2');
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

/*CANVAS EDIT*/
.pwCanvasPaint {
    box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 20px 31px 3px rgba(0, 0, 0, .14), 0 8px 38px 7px rgba(0, 0, 0, .12);
    background-color: #eeeeee;
    margin: 20px;
}

.pwCanvasPaint canvas:first-child {

}

.pwColorSelector {
    list-style: none;
    margin-left: 200px;
    height: 50px;
    padding-top: 5px
}

.pwColor {
    vertical-align: top;
    display: inline-block;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    margin-right: 5px;
    margin-top: 5px;
    border: 2px solid transparent;
}

.pwColorDimostrate {
    min-height: 100px;
    max-width: 100px;
    border-radius: 50%;
    margin-right: 5px;
    margin-top: 5px;
    border: 2px solid transparent;
    background-color: black;
}

.pwColor.active {
    transform: scale(1.1);
    -webkit-transform: scale(1.6);
    box-shadow: 2px 3px 2px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 2px 3px 2px rgba(0, 0, 0, 0.2);
    border: 4px solid white;
}

.lineWidthSelector {
    width: 300px;
}

/*CANVAS VIEWER*/
.command, .title {
    position: absolute
}

.viewer-container {
    background-color: #eeeeee;
    border-color: #000;
    border-width: 0px;
    z-index: 5;
    margin: 20px;
    width: 900px;
    height: 500px;
}

canvas.viewer {
    z-index: 1;
    /*  width: 100%;
      height: 100%;*/
    width: 900px;
    height: 500px;
}

.command {
    z-index: 10;
    bottom: 10px;
    right: 25px
}

.command > .btn > i, .title {
    z-index: 100
}

.command > .btn {
    z-index: 100;
    opacity: .8
}

.title {
    display: none;
    visibility: hidden;
    top: 0;
    padding: 5px;
    background-color: #ffffff;
    border-radius: 3px 0 0;
    margin-top: 2px;
    opacity: .8;
    color: #000000
}

.valueData {
    padding-left: 10px;
}

.fixed-calendar {
    display: block;
}

.fixed-calendar .md-calendar-scroll-mask {
    width: 340px !important;
}

.fixed-calendar .md-virtual-repeat-scroller {
    width: 340px !important;
    height: 308px;
}

/*Orizontal timeline*/
.flag-icon {
    background-size: contain;
    background-position: 100%;
    background-repeat: no-repeat;
    position: relative;
    display: inline-block;
    width: 200px;
    line-height: 1em;
}

.chart-legend {
    list-style-type: none;
    margin-top: 5px;
    text-align: center;
    /* NOTE: Browsers automatically add 40px of padding-left to all lists, so we should offset that, otherwise the legend is off-center */
    -webkit-padding-start: 0;
    /* Webkit */
    -moz-padding-start: 0;
    /* Mozilla */
    padding-left: 0;
    /* IE (handles all cases, really, but we should also include the vendor-specific properties just to be safe) */
}

.chart-legend li {
    display: inline-block;
    white-space: nowrap;
    position: relative;
    margin-bottom: 4px;
    border-radius: 5px;
    padding: 2px 8px 2px 28px;
    font-size: smaller;
    cursor: default;
}

.chart-legend li span {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border-radius: 5px;
}

.radioButtondemoBasicUsage body {
    padding: 20px;
}

.radioButtondemoBasicUsage hr {
    margin-left: -20px;
    opacity: 0.3;
}

.radioButtondemoBasicUsage md-radio-group {
    width: 150px;
}

.radioButtondemoBasicUsage p:last-child {
    padding-bottom: 50px;
}

.radioButtondemoBasicUsage [ng-controller] {
    padding: 0 20px;
}

.radioButtondemoBasicUsage .radioValue {
    margin-left: 5px;
    color: #0f9d58;
    font-weight: bold;
    padding: 5px;
}

.radioButtondemoBasicUsage md-icon {
    margin: 0 20px 20px;
    width: 128px;
    height: 128px;
}

.radioButtondemoBasicUsage .ipsum {
    color: saddlebrown;
    font-size: 0.9em;
}

@keyframes warn {
    0% {
        transform: rotate(0deg);
        transform: scale(1);
    }
    50% {
        transform: rotate(0deg);
        transform: scale(1.1);
    }
    100% {
        transform: rotate(360deg);
        transform: scale(1);
    }
}

@keyframes buttonAnimation {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.09);
    }
    100% {
        transform: scale(1);
    }
}

.warnAnimation {
    animation-name: warn;
    animation-duration: 0.5s;
}

/**/
@keyframes done {
    0% {
        transform: scale(1.3);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes Undone {
    0% {
        transform: rotate(30deg);
    }
    20% {
        transform: rotate(0deg);
    }
    40% {
        transform: rotate(-30deg);
    }
    60% {
        transform: rotate(0deg);
    }
    80% {
        transform: rotate(30deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

.doneAnimation {
    animation-name: done;
    animation-duration: 2s;
}

.doneAnimation2 {
    animation-name: done;
    animation-duration: 0.6s;
}

.unDoneAnimation {
    animation-name: Undone;
    animation-duration: 2s;
}

.selectedBounce:hover {
    animation-name: buttonAnimation;
    animation-duration: 2s;
}

@keyframes allcolorDone {
    0% {
        background: white;
    }
    100% {
        background: rgba(15, 157, 88, 0.28);
    }
}

.doneColorAnimation {
    animation-name: allcolorDone;
    animation-duration: 2s;
}

.dayPlanning {
    width: 200px;
    height: 60px;
    border-radius: 100px;
    border: 3px solid black;
    margin: 5px;
}

@keyframes select {
    0% {

        background-color: white;
    }
    100% {

        background-color: rgba(15, 157, 88, 0.28);
        z-index: 9999;
    }
}

@keyframes selectLists {
    0% {
        transform: translateX(0px);
        background-color: white;
    }
    100% {
        transform: translateX(13px);
    }
}

@keyframes unselect {
    0% {
        background-color: rgba(15, 157, 88, 0.28);
    }
    100% {

        background-color: white;
    }
}

.gridAgendaDone {
    background-color: rgba(15, 157, 88, 0.28);
    outline: none;

}

.gridAgendaBuisy {
    background-color: rgba(255, 47, 0, 0.28);
    outline: none;

}

.gridAgenda {
    border: 2px solid rgba(15, 157, 88, 0.28);
    outline: none;
    z-index: 999;

}

.gridAgenda:hover {
    animation-name: select;
    animation-duration: 1s;
    background-color: rgba(15, 157, 88, 0.28);
}

. {
    outline: none;
}

.setDocumentiListSelect {
    outline: none;
    transform: translateX(13px);
}

.setDocumentiList:hover {
    animation-name: selectLists;
    animation-duration: 1s;
    transform: translateX(13px);
}

#contentMenuBar {
    overflow-x: hidden;
}

@keyframes selectVoceMenu {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.1);
    }
}

.voceMenu {
    outline: none;
    cursor: pointer;
}

.debugArea {
    background-color: rgba(255, 226, 158, 0.6);
    margin: 30px;
    padding: 10px;
}

.myWrap {
    white-space: normal;
}

.drugTargetRemove {
    margin: 20px;
    border: 3px solid red;
    background-color: white;
    text-align: center;
    vertical-align: middle;
    padding-top: 20px;
    height: 50px;
    width: 200px;
    box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 20px 31px 3px rgba(0, 0, 0, .14), 0 8px 38px 7px rgba(0, 0, 0, .12);
    list-style-type: none;
}

.backgroudLogin {
    background-image: url(../images/team-medici.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

@keyframes flip {
    0% {
        transform: rotateX(0deg);
    }
    100% {
        transform: rotateX(900deg);
    }
}

@keyframes flip360 {
    0% {
        transform: rotateX(0deg);
    }
    100% {
        transform: rotateX(360deg);
    }
}

.flipAnimation {
    animation-name: flip;
    animation-duration: 2s;
}


.flipAnimation360 {
    animation-name: flip360;
    animation-duration: 1s;
}

@keyframes crazyZoom {
    0% {
        transform: scale(1);
    }
    20% {
        transform: scale(1.1);
    }
    40% {
        transform: scale(1);
    }
    60% {
        transform: scale(1.1);
    }
    70% {
        transform: scale(1);
    }
    90% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

.loginLogoAnimation {
    animation-name: crazyZoom;
    animation-duration: 5s;
}

.selectHover {
    opacity: 0.9; /* Firefox, Chrome, Opera, Safari */
    filter: alpha(opacity=90); /* IE8 - */
    -ms-filter: "alpha(opacity=90)"; /* IE8 */
}

.dashboardCard {
    flex: 1 1 100%;
    -ms-flex: 1 1 100%;

    min-height: 340px;
    height: 48%;
    /*margin: 1vh 1vw;*/
    /*overflow-y: overlay;*/

    padding: 0px;
    opacity: 0.9; /* Firefox, Chrome, Opera, Safari */
    filter: alpha(opacity=90); /* IE8 - */
    -ms-filter: "alpha(opacity=90)"; /* IE8 */
}

.genericCard {
    flex: 1 1 100%;
    -ms-flex: 1 1 100%;

    min-height: 200px;
    /*margin: 1vh 1vw;*/
    /*overflow-y: overlay;*/

    padding: 0px;
    opacity: 0.9; /* Firefox, Chrome, Opera, Safari */
    filter: alpha(opacity=90); /* IE8 - */
    -ms-filter: "alpha(opacity=90)"; /* IE8 */
}

/*
.genericCard:hover {
    animation-name: cardAnimation;
    animation-duration: 0.2s;
    opacity: 1; !* Firefox, Chrome, Opera, Safari *!
    filter: alpha(opacity=100); !* IE8 - *!
    -ms-filter: "alpha(opacity=100)"; !* IE8 *!
}*/

@media (min-width: 850px) {
    .dashboardCard {
        flex: 1 1 40%;
        -ms-flex: 1 1 40%;

        min-width: 15rem;
        min-height: 340px;
        height: 48%;
        /*margin: 1vh 1vw;*/
        /*overflow-y: overlay;*/

        padding: 0px;
        opacity: 0.9; /* Firefox, Chrome, Opera, Safari */
        filter: alpha(opacity=90); /* IE8 - */
        -ms-filter: "alpha(opacity=90)"; /* IE8 */
    }

    .genericCard {
        flex: 1 1 40%;
        -ms-flex: 1 1 40%;

        min-width: 15rem;
        min-height: 200px;
        /*margin: 1vh 1vw;*/
        /*overflow-y: overlay;*/

        padding: 0px;
        opacity: 0.9; /* Firefox, Chrome, Opera, Safari */
        filter: alpha(opacity=90); /* IE8 - */
        -ms-filter: "alpha(opacity=90)"; /* IE8 */
    }
}

@media (min-width: 1400px) {
    .dashboardCard {
        flex: 0 0 32%;
        -ms-flex: 0 0 32%;

        min-width: 25rem;
        min-height: 340px;
        height: 48%;
        /*margin: 1vh 1vw;*/
        /*overflow-y: overlay;*/

        padding: 0px;
        opacity: 0.9; /* Firefox, Chrome, Opera, Safari */
        filter: alpha(opacity=90); /* IE8 - */
        -ms-filter: "alpha(opacity=90)"; /* IE8 */
    }

    .genericCard {
        flex: 0 0 32%;
        -ms-flex: 0 0 32%;

        min-width: 25rem;
        min-height: 200px;
        /*margin: 1vh 1vw;*/
        /*overflow-y: overlay;*/

        padding: 0px;
        opacity: 0.9; /* Firefox, Chrome, Opera, Safari */
        filter: alpha(opacity=90); /* IE8 - */
        -ms-filter: "alpha(opacity=90)"; /* IE8 */
    }
}

@keyframes cardAnimation {
    0% {
        transform: scale(1);
    }
    50% {
        opacity: 0.95; /* Firefox, Chrome, Opera, Safari */
        filter: alpha(opacity=95); /* IE8 - */
        -ms-filter: "alpha(opacity=95)"; /* IE8 */
        transform: scale(0.98);
    }
    100% {
        opacity: 1; /* Firefox, Chrome, Opera, Safari */
        filter: alpha(opacity=100); /* IE8 - */
        -ms-filter: "alpha(opacity=100)"; /* IE8 */
        transform: scale(1);
    }
}

.dashboardCard:hover {
    animation-name: cardAnimation;
    animation-duration: 0.2s;
    opacity: 1; /* Firefox, Chrome, Opera, Safari */
    filter: alpha(opacity=100); /* IE8 - */
    -ms-filter: "alpha(opacity=100)"; /* IE8 */
}

.selectHover:hover {
    animation-name: cardAnimation;
    animation-duration: 0.2s;
    opacity: 1; /* Firefox, Chrome, Opera, Safari */
    filter: alpha(opacity=100); /* IE8 - */
    -ms-filter: "alpha(opacity=100)"; /* IE8 */
}

@keyframes opacityOff {
    0% {
        opacity: 0.6;
    }
    100% {
        opacity: 1;
    }
}

.dashboardCard1:hover {
    animation-name: opacityOff;
    animation-duration: 0.5s;
    opacity: 1;
}

make-scrollable {
    overflow-y: scroll;
}

.make-scrollable {
    overflow-y: scroll;
}

.no-scrollable {
    overflow-y: hidden;
}

.s24 {
    width: 24px;
    height: 24px;
    color: #f00;
    margin-right: 10px;
}

.s36 {
    width: 36px;
    height: 36px;
    color: #0f0;
    margin-right: 10px;
}

.s48 {
    width: 48px;
    height: 48px;
    color: #00f;
    margin-right: 10px;
}

.s96 {
    width: 96px;
    height: 96px;
    color: #00f;
    /*margin-right: 10px;*/
}

.virtualRepeatdemoVerticalUsage #vertical-container {
    height: 292px;
    width: 100%;
    max-width: 400px;
}

.virtualRepeatdemoVerticalUsage .repeated-item {
    border-bottom: 1px solid #ddd;
    box-sizing: border-box;
    height: 40px;
    padding-top: 10px;
}

.virtualRepeatdemoVerticalUsage md-content {
    margin: 16px;
}

.virtualRepeatdemoVerticalUsage md-virtual-repeat-container {
    border: solid 1px grey;
}

.virtualRepeatdemoVerticalUsage .md-virtual-repeat-container .md-virtual-repeat-offsetter div {
    padding-left: 16px;
}


/*REDEFINE MATERIAL ANGULAR RULES*/
/*
.layout-padding-sm > *,
.layout-padding > .flex-sm {
    padding: 4px;
}

.layout-padding,
.layout-padding-gt-sm,
.layout-padding-md,
.layout-padding > *,
.layout-padding-gt-sm > *,
.layout-padding-md > *,
.layout-padding > .flex,
.layout-padding > .flex-gt-sm,
.layout-padding > .flex-md {
    padding: 4px;
}

.layout-padding-gt-md > *,
.layout-padding-lg > *,
.layout-padding-gt-lg > *,
.layout-padding > .flex-gt-md,
.layout-padding > .flex-lg,
.layout-padding > .flex-lg,
.layout-padding > .flex-gt-lg {
    padding: 4px;
}

.layout-margin-sm > *,
.layout-margin > .flex-sm {
    margin: 4px;
}

.layout-margin,
.layout-margin-gt-sm,
.layout-margin-md,
.layout-margin > *,
.layout-margin-gt-sm > *,
.layout-margin-md > *,
.layout-margin > .flex,
.layout-margin > .flex-gt-sm,
.layout-margin > .flex-md {
    margin: 4px;
}

.layout-margin-gt-md > *,
.layout-margin-lg > *,
.layout-margin-gt-lg > *,
.layout-margin > .flex-gt-md,
.layout-margin > .flex-lg,
.layout-margin > .flex-gt-lg {
    margin: 4px;
}
*/

md-list.make-scrollable {
    max-height: 100px;
}

.centered_x {
    position: fixed; /* or absolute */
    left: 50%;
    z-index: 9999999;
}

.centered_y {
    position: fixed; /* or absolute */
    top: 50%;
    z-index: 9999999;
}

md-sidenav.md-sidenav-right {
    min-width: 200px !important;
    height: 100%;
    z-index: 99999;
}

md-sidenav.md-sidenav-right.barTerminology {
    min-width: 400px !important;
    height: 100%;
    z-index: 99999;
}

.barDictionary {
    max-width: 100px !important;
    width: 100px !important;
    height: 100%;
    z-index: 99999;
}

.circleSmall {
    z-index: 1;
    background-color: white;
    display: inline-block;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: 2px solid white;
    text-align: center;
    line-height: 37px;
    overflow: hidden;
    padding: 3px;
    position: relative;
    box-sizing: border-box;
    box-shadow: 0 0 0 7px gray;
    margin: 0px;
    background-color: rgb(255, 255, 255);
}

.circleSmall .fill {
    z-index: -1;
    background-color: rgba(140, 218, 255, 0.42);
    height: 10%;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}

.circleSmall .text {
    z-index: 2;
    text-align: center;
    font-size: 16px;
    color: black;
    font-family: Arial;
}

.circleBig {
    z-index: 1;
    background-color: white;
    display: inline-block;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 2px solid white;
    text-align: center;
    line-height: 25px;
    overflow: hidden;
    padding: 10px;
    position: relative;
    box-sizing: border-box;
    box-shadow: 0 0 0 10px gray;
    margin: 0px;
    background-color: rgb(255, 255, 255);
    z-index: 9999;
    cursor: pointer;
}

.circleBig .fill {
    z-index: -1;
    background-color: rgba(140, 218, 255, 0.42);
    height: 10%;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}

.circleBig .text {
    z-index: 2;
    text-align: center;
    font-size: 16px;
    color: black;
    font-family: Arial;
}

.circleBig:hover {
    animation-name: flip360;
    animation-duration: 2s;
}

.circleXBig {
    z-index: 1;
    background-color: white;
    display: inline-block;
    height: 200px;
    width: 200px;
    border-radius: 50%;
    border: 2px solid white;
    text-align: center;
    line-height: 37px;
    overflow: hidden;
    padding: 10px;
    position: relative;
    box-sizing: border-box;
    box-shadow: 0 0 0 20px gray;
    margin: 0px;
    background-color: rgb(255, 255, 255);
    z-index: 9999;
}

.circleXBig .fill {
    z-index: -1;
    background-color: rgba(140, 218, 255, 0.42);
    height: 100%;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}

.circleXBig .text {
    z-index: 2;
    text-align: center;
    font-size: 16px;
    color: black;
    font-family: Arial;
}

.circle .done {
    z-index: -1;
    height: 100%;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(57, 226, 38, 0.27);
}

.circleBig .done {
    z-index: -1;
    height: 100%;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(57, 226, 38, 0.27);
}

.circleXBig .done {
    z-index: -1;
    height: 100%;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(57, 226, 38, 0.27);
}

.circleSmall .done {
    z-index: -1;
    height: 100%;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(57, 226, 38, 0.27);
}


/* The flip card container - set the width and height to whatever you want. We have added the border property to demonstrate that the flip itself goes out of the box on hover (remove perspective if you don't want the 3D effect */
.flip-card {
    perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

/* This container is needed to position the front and back side */
.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}

/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover .flip-card-inner {
    transform: rotateX(180deg);
}

/* Position the front and back side */
.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
}

/* Style the front side (fallback if image is missing) */
.flip-card-front {
}

/* Style the back side */
.flip-card-back {
    transform: rotateY(180deg);
}

.voteInfoBar {
    height: 40px;
    z-index: 2;
    perspective: 1000px;
    cursor: pointer;
}

.voteInfoBar .voteInfoBarInner {
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    background: white;
    height: 37px;
    transition: transform 0.8s;
    transform-style: preserve-3d;
    box-shadow: 0 0 0 3px gray;
}

.voteInfoBar:hover .voteInfoBarInner {
    transform: rotateX(180deg);
}

/* Position the front and back side */
.voteInfoBarInner-front, .voteInfoBarInner-back {
    min-width: 440px;
    padding-right: 40px;
    padding-left: 10px;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* Position the front and back side */
.voteInfoBarInner-front {
}

/* Position the front and back side */
.voteInfoBarInner-back {
    transform: rotateX(180deg);
}

.messageInfoBar {
    height: 40px;
    z-index: 2;
    perspective: 1000px;
    cursor: pointer;
}

.messageInfoBar .messageInfoBarInner {
    border-radius: 30px;
    border-radius: 30px;
    background: white;
    height: 37px;
    transition: transform 0.8s;
    transform-style: preserve-3d;
    box-shadow: 0 0 0 3px gray;
}

.messageInfoBar:hover .messageInfoBarInner {
    transform: rotateX(180deg);
}

/* Position the front and back side */
.messageInfoBarInner-front, .messageInfoBarInner-back {
    width: 60px;
    padding-right: 5px;
    padding-left: 5px;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* Position the front and back side */
.messageInfoBarInner-front {
}

/* Position the front and back side */
.messageInfoBarInner-back {
    transform: rotateX(180deg);
}

.top-right {
    position: absolute;
    right: 30px;
    top: 30px;
}

@keyframes flip {
    0% {
        transform: rotateX(0deg);
    }
    100% {
        transform: rotateX(900deg);
    }
}

@keyframes flip360 {
    0% {
        transform: rotateX(0deg);
    }
    100% {
        transform: rotateX(360deg);
    }
}

.flipAnimation {
    animation-name: flip;
    animation-duration: 2s;
}

.flipAnimation360 {
    animation-name: flip360;
    animation-duration: 2s;
}

.languageBarFixed {
    position: absolute;
    bottom: 0px;
    width: 100%;
    z-index: 99999;
}

table.md-table tr.md-row:hover {
    background-color: #eeeeee !important;
}

.md-button {
    border-radius: 20px;
}

md-menu-bar.md-button {
    border-radius: 20px;
}

.media-controls {
    width: 100vw !important;
    height: 100vw !important;
}

.frame {
    width: 100% !important;
    height: 100% !important;
}

.md-open-menu-container {
    z-index: 99999;
    background-color: rgba(255, 255, 255, 0.84);
    border-radius: 30px;
    border: 0;
}

md-card.md-default-theme {
    border-radius: 20px;
}

md-card md-card-header {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.md-subheader {
    background-color: transparent;
}

.pagination {
    position: fixed;
    bottom: 0px;
    z-index: 5;
    padding: 0px;
    width: 100%;
    text-align: center;
    border-radius: 30px;
    background-color: rgba(255, 255, 255, 0.8);
    padding-right: 80px;
}

.subpagination {
}

.toolbar-radius {
    border-radius: 30px;
}

.toolbar-top-radius {
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
}

.close-button {
    position: absolute;
    top: 7px;
    right: 15px;
    z-index: 99999;
}

md-list-item {
    padding: 0px !important;
}

md-expansion-panel  {
    border-radius: 30px;
}

md-expansion-panel  md-expansion-panel-expanded {
    border-radius: 30px;
}

md-expansion-panel  md-expansion-panel-collapsed {
    border-radius: 30px;
}

md-expansion-panel  .md-expansion-panel-footer-container,
md-expansion-panel .md-expansion-panel-header-container {
    border-radius: 30px;
}

.tooltip-info {
    margin-top: 0px !important;
    height: 150px !important;
    /*background-color: rgba(255, 255, 255, 0.91) !important;*/
    background-color: rgb(255, 255, 255) !important;
    color: black !important;
    border-radius: 30px;	
    /*border: 1px solid black;*/
	box-shadow: 0 2px 4px -1px rgba(0,0,0,.2), 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12);
}

.rating {
    color: #a9a9a9;
    margin: 0;
    padding: 0;
	margin-bottom: 20px;
}
ul.rating {
    display: inline-block;
}
.rating li {
    list-style-type: none;
    display: inline-block;
    padding: 1px;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
    font-size:20px;
}
.rating .filled {
    color: orangered;
}

.hide-tab-if-disabled .md-disabled {
  display: none;
}

.pulse {
  overflow: visible !important;
  position: relative !important;
}
.pulse:before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: inherit;
  border-radius: inherit;
  transition: opacity .3s, transform .3s;
  animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
	z-index: -1;
}
@keyframes pulse-animation {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(1.5);
  }
  100% {
    opacity: 0;
    transform: scale(1.5);
  }
}

.medium-tooltip {
  padding: 8px !important;
  font-size: 14px !important;
}

.big-tooltip {
  padding: 10px !important;
  font-size: 18px !important;
}

/* slightly transparent fallback */
.blurred {
	position: absolute;
	height:100%;
	width: 100%;
	background-color: rgba(255, 255, 255, .9);
	z-index: 999;
}

/* if backdrop support: very transparent and blurred */
@supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
  .blurred {
    background-color: rgba(255, 255, 255, .5);
    -webkit-backdrop-filter: blur(2em);
    backdrop-filter: blur(2em);
  }
}

.dnd-scroll-area {
    width: 100%;
    background-color:#eee;
}