/* define commonly reused variables */
:root{
    --boss-color-transparent: transparent;
    --boss-color-blue-dark: rgb(25,103,210);
    --boss-color-blue-light: rgb(0, 179, 255);
    --boss-hover-bg-color: rgb(232,234,237);
    --boss-selected-bg-color: rgb(232,240,254);
    --boss-highlight-bg-color: rgb(242, 242, 183);
    --size-0-3: 0.3rem;
}

body{
    background-color: #EFEFEF;
    font-family: Roboto,HelveticaNeue,Arial,sans-serif;
}

#app-header{
    color:#777;
    padding: 0px 0px 0px 0px;
    font-size: 0.7em;
}
#app-header .appname{
    color: #000;
    font-weight: bold;
    font-size: 1.4em;
}

#allProfiles{
    padding: 0px 10px;
    /* background-color: #DDD; */
    color: #111;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    margin-top: 10px;
}

#allProfiles .profile{
    background-color: white;
    color: #555;
    border: 1px solid #EEE;
    border-bottom-width: 0px;
    padding: 5px 10px;
    margin: 0px;
    font-size: 1em;
    font-weight: normal;
    cursor: pointer;
}

#allProfiles .profile:first-child{
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

#allProfiles .profile:last-child{
    border-bottom-width: 1px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

#allProfiles .profile:hover{
    background-color: var(--boss-hover-bg-color);
    color: var(--boss-color-blue-dark);
}
#allProfiles .profile.selected{
    background-color: var(--boss-selected-bg-color);
    color: var(--boss-color-blue-dark);
    font-weight: bold;
}

#profiles_button{
    background-color: white;
    display: inline-block;
}

#signout_button{
    text-decoration: underline;
    color: #333;
    padding: 10px 0px;
    display: inline-block;
}
#cleardata_button{
    background-color: white;
    color: red;
}

@keyframes animation-rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.animated-spinner{
    /* show or hide spinner by default ?*/
    display: inline-block;
    border-top: 2px solid currentcolor;
    border-right: 2px solid currentcolor;
    border-bottom-style: solid;
    border-left-style: solid;
    border-radius: 99999px;
    border-bottom-width: 2px;
    border-left-width: 2px;
    border-bottom-color: var(--boss-color-transparent);
    border-left-color: var(--boss-color-transparent);
    width: var(--spinner-size);
    height: var(--spinner-size);
    --spinner-size: var(--size-0-3);
    color: var(--boss-color-blue-dark);
    /* Add rotation */
    animation: animation-rotation 0.5s linear infinite;
    /* Optional: Add these if the spinner is not already centered */
    transform-origin: center center;
}

#content{
    white-space: pre-wrap;
    margin: 10px 0px 0px 0px;
    padding: 2px 2px;
    /* background-color: #DDD; */
    border-color: #CCC;
    border-width: 1px;
    border-style: solid;
    border-radius: 5px;
    display: flex;
    justify-content: space-between;
    
}

#search-box, #status-msg{
    width: 90%;
    padding: 5px 10px;
    background-color: white;
    border-radius: 5px;
    border: 1px #DDD solid;
    margin: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1em;
    line-height: 1em;
    font-size: 1em;
    overflow-x: auto;
}

#status-msg{
    width: 100%;
    background-color: var(--boss-highlight-bg-color);
    /* background-color: transparent; */
    font-style: italic;
}

#search-box:hover{
    border-color: #444;
}
.icon-search{
    margin: 0px 5px 0px 0px;
}
.icon-options{
    margin: 0px 5px 0px 0px;
}
.icon-gears{
    margin: 0px 5px 0px 0px;
}

#settings-button{
    /* width: 10%; */
    padding: 5px 10px;
    background-color: white;
    border-radius: 5px;
    border: 1px #DDD solid;
    margin: 2px;
    font-size: 0.8em;
    overflow: hidden;
    cursor: pointer;
}
#settings-button:hover{
    /* border-color: #444; */
    background-color: var(--boss-hover-bg-color);
}
#settings-button.selected{
    background-color: var(--boss-selected-bg-color);
}

#content2{
    padding: 5px 0px;
    /* border-top: 1px solid #DDD; */
}
#content2 p{
    margin: 10px;
}
#navmenu{
    background-color: white;
    padding: 2px;
    border-radius: 5px;
}

.blue{
    color: var(--boss-color-blue-dark);
}

.time{
    color: #777;
    /* margin: 0px 10px; */
}

#results-stats{
    font-size: 0.8em;
    color: #777;
    padding: 10px 10px;
    border-top: 1px solid #CCC;
    background-color: transparent;
    font-style: italic;
    border-bottom: 2px solid var(--boss-color-blue-light);
}


#applied-filters{
    font-size: 0.7em;
    color: #777;
    margin: 0px 10px;
}

#available-labels{
    padding: 5px;
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
    /* overflow-x: auto; */
}

hr{
    margin: 0px;
}

.flex-container{
    display: flex;
    flex-flow: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    /* justify-content: center; */
    align-items: center;
}

.label{
    width: 28%;
    /* min-width: 100px; */
    /* max-width: 200px; */
    display: inline-block;
    padding: 10px;
    border: 1px #ddd solid;
    margin: 5px;
    font-size: 0.7em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #555;
}
.label b{
    font-weight: bold;
}

/* button{
    background-color: var(--boss-color-blue-dark);
    color: white;
    border-radius: 10px;
} */

.button, .filters{
    display: inline-block;
    padding: 5px 10px;
    background-color: transparent;
    margin: 2px;
    text-align: center;
    font-size: 0.8em;
    align-items: center;
    backdrop-filter: blur(4px);
    border-radius: 20px;
    border: 1px solid rgb(218,220,224);
    box-sizing: border-box;
    color: rgb(32,33,36);
    cursor: pointer;
}

.button{
    /* background-color: var(--boss-color-blue-dark); */
    /* color: white; */
    border-radius: 20px;
}

.filters{
    min-width: 10px;
    padding: 4px;
    border: 1px #DDD solid;
    /* background-color: white; */
    margin: 2px;
    text-align: center;
    font-size: 0.8em;
    border-radius: 8px;
}

.label:hover{
    cursor: pointer;
    border-color: #444;
}
.actionButtons{
    background-color: transparent;
    padding: 5px 5px;
    font-size: 0.8em;
} 


.actionButtons .button{
    background-color: #EEE;
    border-radius: 4px;
}

.button:hover{
    background-color: var(--boss-hover-bg-color);
}
.button.selected{
    border-color: var(--boss-selected-bg-color);
    background-color: var(--boss-selected-bg-color);
    color: var(--boss-color-blue-dark);
}
.filters.selected{
    border-color: var(--boss-selected-bg-color);
    background-color: var(--boss-selected-bg-color);
    color: var(--boss-color-blue-dark);
}

.button.delete{
    background-color: red;
    color: white;
    font-weight: bold;
}
.button.red{
    background-color: white;
    color: red;
}

.actionButtons .button:hover{
    background-color: var(--boss-color-blue-light);
    color: white;
}

.prevent-select{
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

.Include .filters.available{
    background-color: rgb(200 255 240);
}

.Exclude .filters.available{
    background-color: rgb(255 220 220);
}

.filters.applied{
    font-weight: bold;
    font-size: 1em;
}
.filters.applied.Include{
    background-color: rgb(152, 255, 226);
}
.filters.applied.Exclude{
    background-color: rgb(255, 200, 200);
}
.filters.available.Include{
    font-weight: normal;
    background-color: rgb(200 255 240);
}
.filters.available.Exclude{
    font-weight: normal;
    background-color: rgb(255 220 220);
}

.count{
    font-size: 0.8em;
    height: 0.8em;
    line-height: 0.8em;
    border-radius: 40%;
    cursor: pointer;
    display: inline-block;
    padding: 4px 6px;
    /* background-color: yellow; */
    background-color: #CCCCDD;  /* #EEE; */
    color: #777;
    text-align: center;
}
.count.UNREAD{
    background-color: var(--boss-color-blue-light);
    color: white;
}

.UnreadMessages{
}
.UnreadThreads{
}

.message{
    padding: 5px 5px;
    border-top: 1px solid #EEE;
    background-color: white;
}

.message.IncompleteMessages{
    background-color: #FFC;
    color: #888;
}

.message.ISREAD{
    background-color: transparent;
}

.messageHeader{
    color: rgb(4, 109, 153);
    font-size: 0.7em;
}

.messageLabels{
    padding: 0px 0px 0px 15px;
}

.messageLabel{
    min-width: 10px;
    display: inline-block;
    padding: 4px;
    border: 1px #AAA solid;
    background-color: transparent;
    color: #777;
    margin: 2px;
    text-align: center;
    font-size: 0.6em;
    border-radius: 5px;
    cursor: pointer;
}

.messageGroup{
    width: calc(100% - 0vw - 5px); /* 100% - 1% of viewport with; */
}

.messageGroup .title{
    color: #777;
    font-weight: normal;
    font-size: 0.8em;
    display: flex;
    /* border-top: 1px solid rgb(152 224 255); */
    /* border-top: 5px solid #DDD; */
    background-color: whitesmoke;
    margin: 5px 0px 0px 0px;
    padding: 5px 0px 5px 5px;
}

.UNREAD.messageGroup .title{
    color: var(--boss-color-blue-light);
    /* color: #333; */
    background-color: white;
    font-weight: bolder;
}
.UNREAD .actionButtons{
    background-color: white;
}

.messageGroup .title .FromListText{
    display: flex;
    flex: 5;
}
.messageGroup .title .FromListText:hover{
    /* color: #333; */
    cursor: pointer;
    border-bottom: 1px solid var(--boss-color-blue-light);
}
.messageGroup .title .actions{
    display: flex;
    flex: 2;
    justify-content: right;
}

.flex-grid-row-wrap{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
}
.flex-grid-no-wrap{
    display: flex;
    flex-flow: nowrap;
    justify-content: space-between;
    align-items: center;
}

.flex-grid-no-wrap > div{
    /* flex: 1; */
}

.flex-grid-no-wrap .messageInfo{
    flex: 4;
    width: calc(100% - 100px);
}
/* for larger media sizes (e.g. desktop) use width: 90% */
@media only screen and (min-width: 400px) {
    .flex-grid-no-wrap .messageInfo{
        width: calc(100% - 100px);
    }
}
@media only screen and (min-width: 800px) {
    .flex-grid-no-wrap .messageInfo{
        width: calc(100% - 100px);
    }
}

.flex-grid-no-wrap .messageDate{
    flex: 1;
}

#messagelist{
    max-height: calc(100vh - 300px);
    overflow-y: auto;
}

.messageFrom{
    color: #777;
    /* font-weight: bold; */
    font-size: 0.7em;
    display: inline-block;
    /* padding: 0px 0px 0px 13px; */
    text-overflow: ellipsis;
    overflow: hidden;
    text-wrap: nowrap;
    max-width: 100%;
}

.messageDate{
    color: #777;
    font-size: 0.7em;
    display: inline-block;
    padding: 0px 10px 0px 0px;
    text-align: right;
    text-wrap: nowrap;
}

/* default view for READ messages */
.messageSubject{
    color: #777;
    font-size: 0.7em;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    /* white-space: nowrap; */
    padding: 5px 0px 5px 10px;
    border-top: 1px solid #CCC;
}

.messageFrom .messageSubject{
    font-size: 1em;
    padding: 0px;
}

.UNREAD .messageSubject, .UNREAD .messageFrom{
    color:#111;
    font-weight: bold;
}
.UNREAD .messageDate{
    color: var(--boss-color-blue-light);
}

.UNREAD .messageSnippet{
    color:#777;
}

/* no longer applies since messageSubject moved outside message */
/* .UNREAD .messageSubject{
    font-weight: bold;
    font-style: normal;
} */

.messageSubject.UNREAD{
    background-color: white;
    color: #111;
    /* font-weight: bold; */
    font-style: normal;
}

.messageSubject:hover{
    color: var(--boss-color-blue-light);
    cursor: pointer;
}

.reply-icon{
    display: none;
    color: transparent;
    margin: 0px 7px 0px 0px;
}
/* .refresh-icon{
    display: inline-block;
    transform: rotate(90deg);
} */

.unread-point{
    background-color: transparent; /*#DDD;*/
    border-color: transparent; /*#DDD;*/
    border-width: 1px;
    border-style: solid;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    display: inline-block;
    margin: 0px 7px 0px 0px;
    vertical-align: middle;
}

.message.UNREAD .unread-point{
    background-color: var(--boss-color-blue-light);
    border-color: var(--boss-color-blue-light);
}
.reply .reply-icon{
    color: black;
    display: inline-block;
}

.messageSnippet{
    color: #AAA;
    font-weight: normal;
    font-size: 1em;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0px 0px 0px 10px;
}

.message.reply{
    /* background-color: #ffffe3;   */
    background-color: #e9f7ff;
}


/* SVG icons- set color of svg drawn paths */
.icon-mark-as-unread-svg,
.icon-open-in-window-svg{
    fill: #555;
}

a.gmail-icon,
/* .icon-right-caret, */
.icon-archive,
.icon-delete,
.icon-filter,
.icon-mark-as-unread,
.icon-mail-open,
.icon-mail-open-and-archive,
.icon-label{
  display: inline-block;
  width: 20px; 
  height: 15px;
  /* height: 100%; */
  background-size: contain;
  background-repeat: no-repeat;
  fill: #555;
}

a.gmail-icon{
    /* display: block; */
    /* width: 20px; 
    height: 15px; */
    background-image: url(../img/Gmail_icon_2020.svg);
  }
.icon-right-caret{
    display: inline-block;
    height: 100%;
    background-image: url(../img/medium-caret-right.svg);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 0px 10px 0px 10px;
  }

.icon-archive{
    background-image: url(../img/1x/archive_baseline_nv700_20dp.png);
}
.icon-delete{
    background-image: url(../img/1x/delete_baseline_nv700_20dp.png);
}
.icon-filter{
    background-image: url(../img/1x/filter_list_baseline_nv700_20dp.png);
}
.icon-mark-as-unread{
    background-image: url(../img/1x/mark_email_unread_baseline_nv700_20dp.png);
}
.icon-mail-open{
    background-image: url(../img/1x/drafts_baseline_nv700_20dp.png);
}
.icon-mail-open-and-archive{
    background-image: url(../img/1x/mail-open-and-archive.png);
    width: 25px;
}
.icon-label{
    background-image: url(../img/1x/label_baseline_nv700_20dp.png);
}
.icon-more-vertical{
    font-size: 1.5em;
    line-height: 1.5em;
    height: 1.5em;
    padding: 0px 10px;
    margin: 0px 5px 0px 0px;
    color: #444;
}
  
.icon-right-caret:hover,
.icon-archive:hover,
.icon-delete:hover,
.icon-filter:hover,
.icon-mark-as-unread:hover,
.icon-mail-open:hover,
.icon-mail-open-and-archive:hover,
.icon-label:hover,
.icon-more-vertical:hover{
    color: #333;
    cursor: pointer;
    background-color: #EEE;
}

/* Google custom html fixes via Edge */
.qJTHM {
    text-size-adjust: 100%;
}

/* email visualization */
#email-tree-map {
    width: 800px;
    height: 600px;
}

/* Highcharts example */
.highcharts-figure,
.highcharts-data-table table {
    min-width: 320px;
    max-width: 600px;
    margin: 1em auto;
}

.highcharts-data-table table {
    font-family: Verdana, sans-serif;
    border-collapse: collapse;
    border: 1px solid #ebebeb;
    margin: 10px auto;
    text-align: center;
    width: 100%;
    max-width: 500px;
}

.highcharts-data-table caption {
    padding: 1em 0;
    font-size: 1.2em;
    color: #555;
}

.highcharts-data-table th {
    font-weight: 600;
    padding: 0.5em;
}

.highcharts-data-table td,
.highcharts-data-table th,
.highcharts-data-table caption {
    padding: 0.5em;
}

.highcharts-data-table thead tr,
.highcharts-data-table tr:nth-child(even) {
    background-color: #f8f8f8;
}

.highcharts-data-table tr:hover {
    background-color: #f1f7ff;
}
