.flexcontainer {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    flex-direction: row;
    align-content: flex-start;
    flex-grow: 1;
    flex-shrink: 1;
    overflow-y: auto;
}
iframe {
    border: none;
    flex-grow: 1;
}
div.no-content {
    display: flex;
    justify-content: center;
    align-items: center;
}
div.no-content div {
    color: rgb(197, 159, 255);
}
body {
    font-family: 'Helvetica', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: medium;
    background-color: rgb(245, 245, 245);
    margin: 0;
}
a:link {
    text-decoration: none;
    color: blue;
}
a:visited {
    color: blue;
}
a:hover {
    color: green;
}
.source-title a {
    color: white;
    font-style: italic;
}
#data-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin: 1ex;
    overflow-y: auto;
}
div.layout-stack {
    display: flex;
    flex-direction: column;
    height: 100vh;
}
div.layout-stack > div:last-child {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}
.small-normal-font {
    font-family: 'Helvetica', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: small;
    font-weight: normal;
    letter-spacing: normal;
}
/*HEADER STYLING*/
header {
    background: rgb(123, 73, 173);
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: x-large;
    font-weight: bold;
    color: white;
    letter-spacing: 0.1ex;
    display: flex;
    flex-direction: column;
    /* justify-content: space-between; */
}
a.title-link:hover, a.title-link:active, a.title-link:visited {
    color: white;
}
div.title-div {
    padding: 1ex;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
div.header-links {
    display: flex;
    flex-direction: row;
    font-family: 'Helvetica', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: large;
    font-weight: normal;
}
span.header-link {
    background: rgb(197, 159, 255); 
    padding: 0.5ex;
    color: rgb(123, 73, 173);
    margin-left: 0.5ex;
    cursor: pointer;
}
span.header-link:hover {
    background: rgb(245, 245, 245);
}
/*INPUT TYPE STYLES*/
button {
    background: rgb(123, 73, 173);
    border: rgb(123, 73, 173) thin solid;
    font-weight: bold;
    color: white;
}
button:hover {
    background: rgb(179, 121, 238);
}
button:disabled {
    background: lightgray;
    border: lightgray thin solid;
}
/*RADIO GROUPS TO LOOK LIKE TOGGLE BUTTONS*/
.radio-toggle {
    overflow: hidden;
}
.radio-toggle input {
    /*Hides the standard radio circle*/
    /*visibility: hidden;*/
    position: absolute !important;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    width: 1px;
    border: 0;
    overflow: hidden;
    margin: 0;
}
.radio-toggle label {
    display: inline-block;
    padding-left: 1ex;
    padding-right: 1ex;
    vertical-align: top;
    text-align: left;
    background: white;
    color: rgb(123, 73, 173);
    border-top: rgb(123, 73, 173) thin solid;
    border-bottom: rgb(123, 73, 173) thin solid;
    border-left: rgb(123, 73, 173) thin solid;
}
.radio-toggle label:last-child {
    border-right: rgb(123, 73, 173) thin solid;    
}
.radio-toggle input:checked + label {
    background: rgb(123, 73, 173);
    color: white;
}
.radio-toggle input:checked + label:hover {
    background: rgb(179, 121, 238);
}
.radio-toggle input + label:hover {
    background: rgb(179, 121, 238);
}
.radio-toggle label span:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}
.radio-toggle label span:before {
    vertical-align: middle;
    display: inline-block;
}
select {
    background: white;
    border: thin solid rgb(123, 73, 173);
    color: rgb(123, 73, 173);
    height: 2em;
}
select:hover {
    background: rgb(197, 159, 255);
}
/*TEXT STYLES*/
input[type='text'] {
    border: thin solid rgb(123, 73, 173);
    font-size: large;
    color: rgb(123, 73, 173);
    margin: 1ex;
    padding: 0.5ex;
}
/* input[type='text']:hover {
   background: rgb(179, 121, 238); 
   color: white;
}
input[type='text']:focus {
    background: rgb(179, 121, 238);
    color: white; 
}*/

/*LOADING SPINNER*/
div.loader {
    display: flex;
    align-items: center;
    justify-content: center;
}
div.loader > div {
    border: 16px solid lightgray;
    border-radius: 50%;
    border-top: 16px solid rgb(123, 73, 173);
    width: 40px;
    height: 40px;
    -webkit-animation: spin 2s linear infinite; /* Safari */
    animation: spin 2s linear infinite;
    margin: 1em;
  }
  
  /* Safari */
  @-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
  }
  
  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }

/*PIN STYLES*/
div.explore-vert-layout {
    display: flex;
    flex-direction: row;
    overflow-y: auto;
}
div.explore-pin-bar {
    background: rgb(197, 159, 255);
}
div.small-card .title div.pin {
    font-size: small;
    float: right;
    margin: 0.2ex;
}

/*EXPLORER STYLES*/
span.explore-dialog-link {
    color: blue;
    cursor: pointer;
    margin-bottom: 0.5ex;
}
div.small-card {
    width: 22vw;
    max-width: 400px;
    margin: 1ex;
    background: white;
}
div.card {
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}
div.interactable-card:hover {
    box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}
.interactable:hover {
    cursor: pointer;
}
div.even-histogram .highcharts-point {
    cursor: pointer;
}
div.small-card .title {
    background: rgb(123, 73, 173);
    color: white;
    height: 5ex;
    font-size: medium;
    font-family: Georgia, 'Times New Roman', Times, serif;
    overflow-y: scroll;
    padding: 0.5em; 
    cursor: pointer;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}
div.small-card .title::-webkit-scrollbar {
    display: none;
}
div.section-title {
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: x-large; 
    letter-spacing: 0.2ex;
    margin-bottom: 0.2ex;
}
div.subsection-title {
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: large; 
    letter-spacing: 0.1ex;
    margin-bottom: 0.1ex;
}
.button-height {
    height: 32px;
}
.explorer-padding {
    padding: 0.5ex;
}
.explorer-left-space {
    margin-left: 2em;
}

/*COMPANY LIST STYLES*/
tr#template-colist {
    display: none;
}
div.quartile-block-bg {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background: rgb(197, 159, 255);
}
div.quartile-block {
    background: #6600FF;
    font-size: x-small;
    font-weight: bold;
    color: white;
    padding: 0.3ex;
    margin-top: 1px;
    margin-bottom: 1px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
table.co-list th {
    padding: 0.3ex;
    font-size: medium;
    font-weight: bold;
    color: white;
    background: rgb(123, 73, 173);
}
table.co-list th.sort:hover {
    cursor: pointer;
    background: rgb(179, 121, 238);
}
th.even-width {
    width: 14vw;
}
th.width-25 {
    width: 20vw;
}
th.width-5 {
    width: 5vw;
}
tr.co-item {
    font-size: small;
    border: thin;
}
tr.co-item:hover {
    border: thin rgb(197, 159, 255) solid;
}
tr.co-item td {
    padding: 0.3ex;
}
tr.co-item td:first-child {
    text-align: right;
}
tr.co-item div.icon {
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
}
div.icon img {
    padding: 0.5ex;
}
table.co-list {
    border-collapse: collapse;
}
.pagination li {
    display:inline-block;
    padding:5px;
}

/*COMPANY PROFILE STYLES*/
.profile-container {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}
.profile-two-panel {
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    flex-shrink: 1;
    overflow-y:auto;
    /* height: 100%; */
}
.profile-bar-container {
    flex-shrink: 0;
    max-width: 75%;
    transition: max-width 0.5s;
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    padding: 1ex;
    margin-right: 1ex;
    /* rtl scrolls to right be default
    direction: rtl;
    */
}
.profile-detail-container {
    padding-top: 1ex;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
}
.profile-vert-bar div.graph:last-child {
    flex: 1 1 0;
}
.profile-vert-bar {
    min-width: 100px;
    max-width: 100px;
    display: flex;
    flex-direction: column;
    margin-right: 2ex;
}
.profile-bar-container > div:last-child {
    margin-right: 0;
}
.profile-bar-container > div:first-child {
    margin-left: 0;
}
.profile-bar-header {
    background: rgb(123, 73, 173);
    color:white;
    padding: 1ex;
    text-align: center;
    display: flex;
    flex-direction: column;
}
.profile-bar-header div:nth-last-child(2) {
    margin-bottom: 0.5em;
}
.profile-bar-header div:last-child {
    font-weight: bold;
    font-size: x-large;
    margin-top: auto;
    align-self: flex-end;
    width: 100%;
}
.profile-detail-title {
    background: rgb(123, 73, 173);
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: large;
    font-weight: bold;
    color: white;
    padding: 1ex;
    letter-spacing: 0.1ex;
}
.profile-title-bar {
    display: flex;
    flex-direction: row;
    flex-shrink: 0;
}
.profile-title-left {
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
}
.profile-title-right {
    width: 14vw;
    min-width: 14vw;
    padding: 0.5ex;
    margin-left: 1ex;
}
.profile-detail-graphs {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.profile-detail-scroller {
    overflow-y: auto;
    flex-grow: 1;
    flex-shrink: 1;
}
.profile-detail-graph {
    min-width: 250px;
    flex: 0 0 23%;
    margin: 1ex;
}
.profile-detail-graph .title {
    background: rgb(123, 73, 173);
    color:white;
    padding: 1ex;
    height: 3em;
    overflow-y: auto;
}
/*SEARCH STYLES*/
 input#co-search, input.autofill {
    width: 20vw;
    min-width: 600px;
    font-size: large;
    margin: 0;
    background: white;
}
.margin-bottom {
    margin-bottom: 1ex;
}
.search-position {
    display: -webkit-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    /* -webkit-flex-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center; */
    /* align-items: center; */
    justify-content: center;
    flex-shrink: 0;
    /* flex-grow: 1; */
}
.search-bars {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-direction: row;
    justify-content: center;
    max-height: 60vh;
}
div.tt-dataset-company-names p.tt-suggestion {
    background: white;
    border-top: thin solid rgb(123, 73, 173);
    border-left: thin solid rgb(123, 73, 173);
    border-right: thin solid rgb(123, 73, 173);
    margin: 0;
    padding: 0.5ex;
    width: 20vw;
    min-width: 600px;
}
div.tt-dataset-company-names p.tt-suggestion:last-child {
    border-bottom: thin solid rgb(123, 73, 173);
}
div.tt-dataset-company-names p.tt-suggestion:hover {
    background: rgb(197, 159, 255);
    color: rgb(123, 73, 173);
    font-weight: bold;
}
/* COMPARE STYLES */
path.compare-hover-hand {
    cursor: pointer;
}
div.compare-graph {
    flex-grow: 1;
    display: flex;
    overflow: auto;
}
.compare {
    margin-right: 0.5ex;
}
button.compare, button.compare-large-margin {
    padding: 1ex;
}
.compare-large-margin {
    margin-right: 1.5ex;
}
div.compare-controls {
    padding-bottom: 0.5em;
}
/*HISTORY STYLES*/
div.max-width {
    max-width: 1600px;
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2em;
}
/*MODAL DISPLAY STYLES TAKEN FROM W3.CSS*/
.w3-modal{z-index:3;display:flex;flex-direction:row;justify-content:center;align-content:center;position:fixed;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}
.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:95vw;height:95vh;overflow:hidden;display:flex;flex-direction:column;align-content:stretch;}
.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}}
.scroll-content {
    padding: 0.5ex;
    flex: 1;
    position: relative;
    overflow-y: scroll;
}
/*SOURCES STYLES*/
div.small-card .source-title {
    background: rgb(123, 73, 173);
    color: white;
    height: 6.5ex;
    font-size: medium;
    font-family: Georgia, 'Times New Roman', Times, serif;
    padding: 0.5em; 
    -ms-overflow-style: -ms-autohiding-scrollbar;
}
ul {
    padding-left: 2ex;
    font-size: small;
    list-style-type: none;
}
div.compare-tree-panel {
    flex-shrink: 0;
    min-width: 20vh;
    max-width: 30vh;
    flex-grow: 0;
    overflow: auto;
    white-space: nowrap;
}
div.compare-bubble-graph {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
}
div.notice {
    margin-top: 2ex;
    background: white;
    padding: 1ex;
    width: 100%;
    font-size: normal;
    width: 20vw;
    min-width: 600px;
}
div.notice ul {
    list-style-type: disc;
}