html {
    box-sizing: border-box;
    height: 100%;
}

*, *:before, *:after {
    box-sizing: inherit;
}

body {
    padding: 0;
    margin: 0;
    background-color: #F4F4F4;
    color: #000;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 20px;
    height: 100%;
}

div {
    vertical-align: top;
}

#container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px 60px 20px;
    min-height: 100%;
    position: relative;
}

.content {
    margin: 30px 10px;
}
#header {
    border-bottom: 1px solid #666;
    padding: 20px 0 6px 0;
}
#header img {
    margin: 0 20px 6px 10px;
}
#header h1 {
    display: inline-block;
    margin: 0 10px 0 0;
    font-size: 32px;
    font-weight: 300;
    font-family: "Open Sans", Helvetica, sans-serif;
    float: right;
}
#footer {
    border-top: 1px solid #666;
    margin: 20px 0;
    position: absolute;
    bottom: 0;
    width: calc(100% - 40px);
    height: 40px;
}
#footer p {
    font-family: "Open Sans", Helvetica, sans-serif;
    margin: 1em 10px;
    font-size: 16px !important;
}
/*** WORKSHOPS ***/
#ws {
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 60px;
    min-height: 100%;
    position: relative;
}
#ws h2 {
    font-size: 28px;
    font-weight: normal;
    margin: 30px 0 0 12px;
}

#ws .row {
    background-color: #FFF;
    /*line-height: 30px;*/
    font-size: 14px;
    padding-left: 10px;
    border-bottom: 1px solid #999;
    cursor: pointer;
}
#ws .row-ws {
    display: inline-block;
}
#ws .current {
    background-color: #fffce5;
}
#ws .hovered {
    background-color: #DDD;
}
#ws .header {
    font-weight: bold;
    border-bottom: 2px solid #333;
    border-top: 2px solid #333;
}
#ws .cell {
    display: inline-block;
    padding: 5px;
    line-height: 1.4em;
}
#ws-toggle {
    font-weight: normal;
    font-size: 12px;
}
#ws-all, #ws-none {
    color: #009;
    cursor: pointer;
    font-size: 10px;
}
#ws .clone {
    padding: 6px 0 2px 10px;
}
#ws .ws-actions {
    font-size: 12px;
    width: auto;
}
#ws .selected {
    background-color: #FFFCE5;
}
#ws #add-new {
    font-weight: bold;
}
#ws #add-new .plus {
    font-size: 26px;
    font-weight: normal;
    position: relative;
    top: 2px;
    padding-right: 6px;
}

#ws #new-form {
    background-color: #FFF;
    padding-left: 10px;
    border-bottom: 1px solid #333;
}

#ws #list a {
    color: #006;
    font-size: 12px;
}
#ws #editor-area {
    width: 300px;
    height: 450px;
}
#w-current {
    font-size: 12px;
    font-weight: bold;
}
.ws-button {
    line-height: 24px;
    margin: 10px;
    padding: 0 10px;
    display: inline-block;
    background-color: #FFF;
    color: #333;
    border: 1px solid #666;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
}
#ws-form {
    width: 70%;
    margin: 120px 15%;
    padding: 15px;
    background-color: #FFF;
    border: 1px solid #666;
    box-shadow: 4px 4px 4px rgba(0,0,0,0.2)
}
#ws-form h2 {
    font-size: 26px;
    margin: 5px 0 20px 0;
    padding-bottom: 6px;
    border-bottom: 1px solid #333;
    font-weight: normal;
    position: relative;
}
#ws-form-close {
    position: absolute;
    top: -4px;
    right: 4px;
    font-size: 38px;
    cursor: pointer;
}
#ws-form label {
    display: inline-block;
    width: 12%;
    font-size: 14px;
    font-weight: bold;
}
.field-left {
    display: inline-block;
}
#country-groups {
    display: block;
    font-size: 14px;
    width: 80%;
    margin-bottom: 15px;
}
#ws-form input, #ws-form select, #ws-form textarea, .field-left {
    width: 42%;
}
#ws-form select {
    padding: 1px 2px;
}
#ws-form input#w-active {
    width: inherit;
    cursor: pointer;
}
#ws-form .field-left textarea {
    width: 100%;
}
#ws-form .form-item {
    padding: 5px 0;
    border-bottom: 1px solid #CCC;
    vertical-align: top;
}
.form-tips {
    display: inline-block;
    width: 42%;
    font-size: 13px;
    margin-left: 10px;
    line-height: 1.4em;
}
#access-msg {
    font-size: 16px;
    margin: 6px 0 6px 12%;
    font-weight: bold;
    color: #C00;
}

/*** WELCOME ***/
/* #welcome {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px 60px 20px;
  min-height: 100%;
  position: relative;
} */
#welcome .content {
    margin: 60px 0;
    line-height: 1.6em;
}
#welcome .content h1 {
    margin: 20px 0 40px 0;
    font-size: 30px;
    font-weight: 300;
    border-bottom: none;
}
#welcome p {
    font-size: 22px;
}
#welcome .button {
    margin: 30px 20px 0 0;
    display: inline-block;
    float: right;
    font-size: 24px;
    font-weight: 300;
    cursor: pointer;
    text-decoration: underline;
    color: #000;
}

/*** ENTER ***/
#residence, #enter {
    margin: 60px 0 30px 10px;
}
#residence select {
    width: 320px;
}
#enter h1 {
    font-size: 48px;
    font-weight: 300;
}
#enter h2 {
    margin-top: 30px;
    font-size: 22px;
    font-weight: normal;
}
#enter .explanation {
    font-size: 18px;
    color: #333;
}
#enter #bio {
    padding: 20px;
    margin: 60px 0;
    font-family: "Open Sans", Helvetica, sans-serif;
    font-size: 30px;
    line-height: 2.5em;
    border: 1px solid #999;
    background-color: #FFF;
    -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
    border-radius: 8px;
}
#enter input, #enter select {
  font-family: inherit;
  font-size: inherit;
  color: #333;
  border-width: 0 0 2px 0;
  border-color: #999;
  background-color: #FFF;
}
#enter select option, #residence select option {
    background-color: #FFF;
    font-size: 20px;
}
#enter select option.skip {
  color: #999;
}
#enter select option.other {
  border-top: 1px solid #999;
}
#enter .skip {
  color: #8fb7f7;
}
#enter .button {
    margin: 30px 20px 0 0;
    display: inline-block;
    float: right;
    font-size: 24px;
    font-weight: 300;
    cursor: pointer;
    text-decoration: underline;
}

/*** CARDS ***/

#left-col {
    display: inline-block;
    width: 180px;
}

#right-col {
    display: inline-block;
    width: 800px;
}

.explanation {
    margin-bottom: 20px;
    font-size: 16px;
    color: #333;
    line-height: 1.3em;
    width: 750px;
}


.button {
    margin: 30px 20px 0 0;
    display: inline-block;
    float: right;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: underline;
}

.thumb-wrap {
    position: relative;
    font-size: 13px;
    line-height: 1.3em;
    height: 120px;
}

.thumb {
    position: absolute;
    width: 140px;
    height: 94px;
    padding: 5px;
    border: 1px solid #666;
    /*box-shadow: -1px -1px 1px rgba(0,0,0,0.15);
  font-family: "Open Sans", Helvetica, sans-serif;*/
}

.thumb-title {
    font-weight: bold;
    border-bottom: 1px solid #666;
    margin-bottom: 8px;
}

.tipso_bubble {
  -moz-box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
  font-size: 12px;
  text-align: left;
}
.tipso_content{
    padding:8px;
}

.card-wrap {
    position: relative;
    font-size: 12px;
    height: 500px;
}

.card {
    position: absolute;
    width: 740px;
    height: 480px;
    padding: 10px;
    border: 1px solid #666;
    background-color: #FFF;
}

.card-title {
    font-size: 24px;
    border-bottom: 1px solid #666;
    margin-bottom: 20px;
}

.card-left {
    display: inline-block;
    width: 480px;
}

.card-right {
    display: inline-block;
    width: 200px;
    margin-left: 20px;
}
.card-controls {
    height: 350px;
    overflow-y: auto;
    overflow-x: hidden;
}
.card-list, .filter-list {
    margin-bottom: 12px;
}
.card-list select {
    width: 100%;
    color: #000;
    height: 26px;
}
.card-list-header, .filter-header {
    /*border-top: 2px solid #666;*/
    border-bottom: 1px solid #666;
    font-weight: bold;
    line-height: 28px;
    font-size: 13px;
    padding-left: 5px;
    cursor: pointer;
}
.card-list-items {

}
.card-list-item, .filter-item {
    font-size: 13px;
    line-height: 28px;
    background-color: #FFF;
    border-bottom: 1px solid #666;
    padding-left: 5px;
}
.card-list-item input, .filter-item input{
    position:relative;
    top: 2px;
    margin-right: 5px;
}
.card-list-tip {
    font-size: 13px;
    background-color: #FFF;
    padding: 4px;
    margin-top: 10px;
}
.add {
    float: right;
    font-size: 22px;
    margin-right: 5px;
    font-weight: normal;
}
.card-list-buts {
    position: absolute;
    bottom: 20px;
}

.card-area {
    width: 480px;
    height: 340px;
    font-size: 20px;
    border: none;
}
.history-text {
    font-size: 20px;
    height: 340px;
    overflow: auto;
}
.card-consent {
    position: absolute;
    bottom: 20px;
}

.card-consent label {
    font-size: 14px;
}


.card-but {
    width: 200px;
    line-height: 28px;
    border: 1px solid #666;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
    font-size: 14px;
}
.updated-msg {
    font-size: 14px;
    line-height: 28px;
    font-weight: bold;
    background-color: #BB0000;
    color: #FFF;
    margin: 0 0 8px 2px;
    padding-left: 5px;
}

.t1 {
    left: 0px;
    top: 0px;
    z-index: -2;
}

.t2 {
    left: 3px;
    top: 3px;
    z-index: -1;
}

.t3 {
    left: 6px;
    top: 6px;
}

.modal-back {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.6); /* Black w/ opacity */
}
.modal-content {
  /*margin: 15% auto;*/
  width: 200px;
  position: absolute;

}
.modal-but {
    margin-top: 10px;
}
.message-content {
    width: 40%;
    margin: 240px 30%;
    padding: 15px;
    background-color: #FFF;
    border: 1px solid #666;
    text-align: center;
    box-shadow: 4px 4px 4px rgba(0,0,0,0.2)
}
#validation-message {
    font-size: 20px;
}
#validation-done {
    margin-top: 1em;
    display: inline-block;
}

/**** DASHBOARD ****/
#dashboard {
    max-width: 100%;
    margin: 0 20px;
    padding-bottom: 60px;
    min-height: 100%;
    position: relative;
}
#access-input {
    margin-bottom: 30px;
    font-size: 20px;
}
#key-box {
    display: inline-block;
    width: 380px;
}
#access-input label{
    display: inline-block;
    margin: 0 15px 20px 0;
}
#access-input input{
    height: 30px;
    width: 200px;
    font-size: 18px;
}
#key-but {
    display: inline-block;
    margin-left: 20px;
    width: 140px;
    line-height: 28px;
    border: 1px solid #666;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
    font-size: 14px;
    vertical-align: baseline;
}
#go-but {
    margin: 30px 20px 0 0;
    display: inline-block;
    float: right;
    width: 140px;
    line-height: 28px;
    border: 1px solid #666;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
    font-size: 14px;
}
#access-message p{
    color: #CC0000;
    font-size: 18px;
}
#dashboard #ws { /*override #ws*/
    margin: 0;
}
#ws-list .row { /*override #ws .row*/
    cursor: auto;
}
#dashboard #ws .selected {
    background-color: #ffe5e5;
}
.dash-card {
    display: inline-block;
    width: 300px;
    height: 200px;
    background-color: #FFF;
    margin: 0 0 20px 20px;
    font-size: 14px;
    position: relative;
    border: 1px solid #888;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.2)
}
.dash-card-back {
    width: 298px;
    height: 198px;
    position: absolute;
    top: 0;
    left: 0;
}
.dash-card-bar {
    display: inline-block;
    height: 100%;
}
.dash-card-header {
    border-bottom: 3px double #888;
    margin-bottom: 10px;
    font-size: 13px;
    position: relative;
}
.dash-card-list {
    margin: 4px 12px 4px 6px;
}
.dash-card-list b {
    font-size: 11px;
}
.dash-card-close {
    position: absolute;
    top: -6px;
    right: 4px;
    font-size: 24px;
    color: #666;
    cursor: pointer;
}
.dash-card-text {
    position: relative;
    margin: 4px 6px;
    max-height: 120px;
    overflow: auto;
}
#large-card {
    width: 740px;
    height: 480px;
    background-color: #FFF;
    margin: 150px auto 0 auto;
    font-size: 20px;
    position: relative;
    border: 1px solid #888;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.2)
}
#large-card-back {
    width: 738px;
    height: 478px;
    position: absolute;
    top: 0;
    left: 0;
}
#large-card-header {
    border-bottom: 3px double #888;
    margin-bottom: 10px;
    font-size: 18px;
    position: relative;
}
.large-card-list {
    margin: 5px 10px;
}
.large-card-list b {
    font-size: 15px;
}
#large-card-text {
    position: relative;
    margin: 5px 10px;
    max-height: 360px;
    overflow: auto;
}
#ws-info {
    margin: 20px 10px;
    font-size: 16px;
    color: #333;
    position: relative;
}
#ws-info div {
    margin: 10px 0;
}
#ws-info div b {
    color: #000;
    font-weight: normal;
    font-size: 20px;
}
#info-count {
    cursor: pointer;
}
#info-list {
    position: absolute;
    z-index: 2;
    width: 360px;
    top: 24px;
    left: 0;
    padding: 6px;
    line-height: 1.8em;
    background-color: #FFF;
    border: 1px solid #888;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.2)
}
.filter-actions {
    float: right;
    font-size: 10px;
    font-weight: normal;
    padding-right: 5px;
}
.placeholder {
    border: 2px dotted #888;
}
#view-toggle {
    border: 1px solid #666;
    font-weight: bold;
    background-color: #FFF;
    line-height: 28px;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    margin-bottom: 30px;
}

table#overview-table {

}
tr#row-header {
    background-color: #FFF;
}

td {
    width: 140px;
    height: 40px;
    font-size: 18px;
    text-align: center;
    cursor: pointer;
}
td.head {
    font-weight: bold;
    font-size: 13px;
}
td:first-child {
    text-align: left;
    padding: 0 6px;
}

/*** REVIEW PAGE ***/
#review {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px 60px 20px;
    min-height: 100%;
    position: relative;
}
#review h2 {
    font-size: 28px;
    font-weight: normal;
    margin: 30px 0 0 12px;
}
#review #select-ws {
    height: 30px;
    font-size: 18px;
    margin-left: 10px;
}
.tabs {
  border-bottom: 1px solid #CCC;
}
.tab {
  display: inline-block;
  margin: 0 1px -1px 1px;
  padding: 6px 14px;
  font-size: 14px;
  font-weight: bold;
  background-color: #DDD;
  border-color: #666 #666 #CCC #666;
  border-style: solid;
  border-width: 1px;
  cursor: pointer;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.tab-selected {
  background-color: #F4F4F4;
  border-bottom-color: #F4F4F4;
}
#review #list {
    background-color: #BBB;
    margin: 10px;
    max-height: 640px;
    overflow: auto;
}
#review #controls{
    margin: 20px 10px 10px 10px;
    padding: 0;
    border: 1px solid #999;
    background-color: #E6E6E6;
    text-align: right;
    box-shadow: inset 1px 1px 2px rgba(0,0,0,0.2);
}
#review #controls span {
    font-size: 13px;
    float: left;
    margin: 8px 10px;
}
#review #controls .table-action {
    line-height: 22px;
    margin: 3px 5px;
    padding: 0 10px;
    display: inline-block;
    background-color: #FFF;
    color: #333;
    border: 1px solid #666;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.2)
}

#review .row {
    background-color: #EEE;
    color: #333;
    /*line-height: 30px;*/
    font-size: 12px;
    padding-left: 10px;
    border-bottom: 1px solid #999;
    cursor: pointer;
}
#review .tabulator-row {
    background-color: #EEE;
    color: #333;
    border-bottom: 1px solid #666;
}
#review .active {
    background-color: #fffce5;
    color: #000;
}
#review .tabulator-cell {
    max-height: 5em;
    white-space: normal;
    /*overflow: auto; */
}
#review .hovered {
    background-color: #DDD;
}
#review .header {
    font-weight: bold;
    border-bottom: 2px solid #333;
    border-top: 2px solid #333;
}
#review .cell {
    display: inline-block;
    padding: 5px;
    line-height: 1.4em;
}
#review .description {
    max-height: 4.5em;
    overflow: hidden;
}
#review .description:hover {
    overflow: visible;
}
.chart {
    background-color: #FFF;
    padding: 10px;
    margin: 0 10px 20px 10px;
    border: 1px solid #666;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.3)
}
/* .chart-title {
    font-size: 14px;
    font-weight: normal;
    padding: 3px 10px;
    margin: 10px;
    background-color: #FFF;
    border: 1px solid #666;
} */
.chart-tip {
    padding: 4px 8px;
}
#chart-nums {
    text-align: center;
}
#chart-nums h3{
    text-align: left;
    font-size: 16px;
    font-weight: bold;
    margin: 5px 0;
}
.chart-num {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    width: 260px;
    height: 120px;
    margin: 20px;
    padding: 10px;
    border: 1px solid #666;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.3)
}
.chart-num .num {
    display: inline-block;
    font-weight: bold;
    font-size: 60px;
    margin-top: 10px;
}




.access {
    background-color: #FFCCCC;
}
.skills {
    background-color: #FFEACC;
}
.learning {
    background-color: #F4FFCC;
}
.compensation {
    background-color: #D6FFCC;
}
.career {
    background-color: #CCFFFF;
}
.life {
    background-color: #CCE0FF;
}
.recognition {
    background-color: #D6CCFF;
}
.respect {
    background-color: #F4CCFF;
}
.interactions {
    background-color: #FFCCEB;
}
.other {
    background-color: #E4E4E4;
}
