/*
********** 共通で使われるもの **********
*/
/* 変数として定義するもの */
:root{
    /* テーマ色 */
    --bg-base: #207daf;
    --bg-highlite: #6aace2;
    --bg-warning: deeppink;
    --bg-column: white;
    --bg-column-dark: linen;
    --bg-column-line: lightgray;
    --bg-header: linen;
    --bg-box: whitesmoke;
    --text-base: white;
    --text-highlite: white;
    --text-column: black;
    --text-column-hide: gray;
}
/* サーバーからの読み出し中にぐるぐると回るアニメーション */
#overlay{
    position: fixed; top:0; right:0; bottom:0; left:0; z-index: 100;
    width: 100%; height:100%;
    background: rgba(0,0,0,0.2);
    display: none;
}
#updating{
    position: fixed; top:0; right:0; bottom:0; left:0; z-index: 101;
    width: 100%; height:100%;
    background: rgba(0,0,0,0.2);
    display: none;
}
.cv-spinner{
    height: 100%;
    display: flex; justify-content: center; align-items: center;
}
.spinner{
    width: 40px; height: 40px;
    border: 8px var(--bg-box) solid; border-top: 8px var(--bg-base) solid; border-radius: 50%;
    animation: sp-animation 1.0s infinite linear;
}
.spinnerupd{
    width: 40px; height: 40px;
    border: 8px var(--bg-box) solid; border-top: 8px var(--text-column-hide) solid; border-radius: 50%;
    animation: sp-animation 1.0s infinite linear;
}
@keyframes sp-animation{
    100%{transform: rotate(360deg);}
}
/*　表示の制御　*/
.is-hide{
    display:none;
}
/* 表をスクロールさせるときの方法 */
.scroll-wrap{
    overflow: scroll; white-space: normal; width: 100%;
}
.scroll-nowrap{
    overflow: scroll; white-space: nowrap; width: 100%;
}
.noscroll-wrap{
    overflow: hidden; white-space: normal; width: 100%;
}
.noscroll-nowrap{
    overflow: hidden; white-space: nowrap; width: 100%;
}
/* 背景色 */
.bg-theme-highlite{
    color: var(--text-highlite); background-color: var(--bg-highlite);
}
.bg-theme-base{
    color: var(--text-base); background-color: var(--text-base);
}
/* icon (Font Awesome) */
.facolor-white{
    color: var(--bg-column);
}
.facolor-black{
    color: var(--text-column);
}
.fasize-xsmall{
    font-size: 10px;
}
.fasize-small{
    font-size: 13px;
}
/* font awesome のレイアウト */
i{
    margin-left: 3px;
    margin-right: 3px;
}
/* 取り消し線をつける */
.strikethrough{
    text-decoration-line: line-through;
}
/* 区切りの横線 */
div.separate{
    height: 5px;
    width: 100%;
    background-image: linear-gradient(45deg, var(--bg-highlite), var(--bg-base) 50%, var(--bg-highlite));
    margin: 10px 0 10px 0;
}
/* テーブルのマージン */
table{
    margin-bottom: 40px;
    width: 100%;
}
/* clearfix */
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}
/*
********* 以下はページ固有 **********
*/
/* 車両選択メニュー */
div#menudiv{
    display: flex; flex-direction: row; flex-wrap: wrap; justify-content: left;
}
label.menu{
    width: 160px;
    margin: 0 20px 40px 0;
    cursor: pointer;
}
img.menu{
    width: 160px;
    height: 90px;
    object-fit: cover;
    border-radius: 20px;
    opacity: 0.5;
}
label.menu.menubox.selected img.menu{
    opacity: 1;
}
div.menu.text{
    display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center;
    margin: 0 10px 0 10px;;
}
p.menu{
    margin: 5px;
}
div#selecteddiv{
    width: 100%;
}
div#infodiv{
    display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center;
}
div.selecteddiv{
    margin-right: 5px;
    font-weight: bold;
    font-size: small;
    text-align: center;
}
div.selecteddiv.middle{
    display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center;
}
div.selecteddiv.upmiddle{
    display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center;
}
div.selecteddiv.catalog{
    display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center;
}
div.selecteddiv.catalogspec{
    font-weight: bold;
    font-size: x-small;
    text-align: left;
}
img.selecteddiv{
    width: 100px;
    height: 60px;
    object-fit: cover;
    border-radius: 5px;
    opacity: 1.0;
}
/* 走行記録サマリーデータ */
div.summary.info{
    margin: 0;
    text-align: right;
    font-size: small;
    font-weight: bold;
}
table#summary{
    margin-top: 10px;
}
td.summary{
    border: 0 solid var(--bg-base);
}
td.summary.item{
    font-weight: bold;
    font-size: small;
    text-align: center;
}
td.summary.value{
    font-weight: bold;
    font-size: medium;
    text-align: center;
}
td.summary#c1{
    border-left-width: 5px;
    border-bottom-width: 5px;
    border-bottom-left-radius: 10px;
}
td.summary#c2{
    border-left-style: solid;
    border-bottom-width: 5px;
}
td.summary#c3{
    border-left-width: 5px;
    border-bottom-width: 5px;
    border-bottom-left-radius: 10px;
}
td.summary#c4{
    border-left-style: solid;
    border-bottom-width: 5px;
}
/* 走行記録詳細データ */
th.detail{
    background-color: var(--bg-base);
    font-weight: bold;
    font-size: small;
    text-align: center;
    vertical-align: middle;
    color: var(--text-highlite);
}
td.detail{
    margin: 0;
    font-weight: bold;
    font-size: small;
    text-align: center;
    border-bottom-color: var(--bg-base);
    border-bottom-width: 2px;
}
/* 充電特性 */
div#chargespec{
    margin: 20px;
}
/* 急速充電記録サマリー表示 */
div#bevnotequicksummary{
    margin-top:20px;
}
div#quickreportdiv{
    display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between;
}
div.quickreport.quickbox{
    display: flex; flex-direction: row; flex-wrap: nowrap;
    border: 0;
    margin-bottom: 20px;;
}
img.quickreport{
    width: 100px;
    height: 100px;
    object-fit: cover;
}
div.quickreport.text{
    margin-left: 10px;
    width: 250px;
}
p.quickreport.charger{
    margin: 0;
    font-weight: bold;
    font-size: small;
    border-bottom-style: solid;
    border-bottom-color: var(--bg-base);
    border-bottom-width: 2px;
}
p.quickreport.location{
    margin: 0;
    font-weight: normal;
    font-size: small;
    border-bottom-style: solid;
    border-bottom-color: var(--bg-base);
    border-bottom-width: 2px;
}
p.quickreport.comment{
    margin: 0;
    font-weight: normal;
    font-size: small;
    border-bottom-style: solid;
    border-bottom-color: var(--bg-base);
    border-bottom-width: 2px;
}
/* データ登録のための編集エリア */
div.drive#erase, div.quick#erase{
    display: flex; flex-direction: row-reverse;
    width: 90%;
}
table#drive, table#quick{
    margin: 20px auto 0 auto;
    width: 90%;
}
td.drive, td.quick{
    font-weight: bold;
    font-size: small;
    text-align: left;
    vertical-align: middle;
    border-bottom-color: var(--bg-base);
    border-bottom-width: 2px;
}
div.drivelist.edit{
    display: flex; flex-direction: row; justify-content: space-between;
}
input#recdate{
    margin: 0px;
    font-size: small;
}
textarea.drive.single{
    margin: 0px;
    font-size: small;
}
input.drive, input.quick{
    margin: 0px;
    font-size: small;
}
select#drive{
    margin: 0px;
    font-size: small;
}
label.rwbutton.enabled#upload{
    cursor: pointer; 
    width: 90%; height: 35px; margin: 10px; padding: 5px 10px; 
    text-align: center;
    font-weight: bold; color: var(--text-base); background: var(--bg-base); 
    display: inline-block; border-color: var(--bg-base);
    border-radius: 3px;
}
label.rwbutton#upload{
    cursor: pointer; 
    width: 90%; height: 35px; margin: 10px; padding: 5px 10px; 
    text-align: center;
    font-weight: bold; color: var(--text-base); background: var(--text-column-hide); 
    display: inline-block; border-color: var(--bg-base);
    border-radius: 3px;
}
i.upload{
    margin-left: 20px;
    margin-right: 20px;
}
/* データ登録画面の一覧表示 */
div#drivelist, div#quicklist{
    min-height: 500px;
    overflow: auto;
}
table#drivelist, table#quicklist{
    margin: 50px auto 0 auto;
    width: 90%;
}
th.drivelist, th.quicklist{
    font-weight: bold;
    font-size: x-small;
    text-align: left;
    vertical-align: middle;
    border-bottom-color: var(--bg-base);
    border-bottom-width: 2px;
}
td.drivelist, td.quicklist{
    font-weight: bold;
    font-size: x-small;
    text-align: left;
    vertical-align: middle;
    border-bottom-color: var(--bg-base);
    border-bottom-width: 2px;
    padding: 0px;
    padding-left: 1em;
}
input.drive, input.quick{
    width: 90%;
    margin: 0;
}
textarea.drive, textarea.quick{
    width: 90%;
    margin: 0;
}
button.drivelist, button.quicklist{
    padding: 0px;
    font-size: 10px;
    margin: 5px 2em 5px 0;
}
i.delete{
    margin-left: 5px;
    margin-right: 5px;
}
.drivelist.hidden, .quicklist.hidden{
    display: none;
}