﻿html, body {
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px;
    font-family: "Microsoft JhengHei";
    overflow: hidden;
}

.themeMapPage {
    width: 100%;
    height: 100%;
}

/*#region basemapToggle*/

.basemapSwitchContainer {
    position: absolute;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 100;
    display: none;
}

.basemapMask {
    position: absolute;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 100;
    background-color: black;
    opacity: 0.65;
}

.basemapSwitch {
    position: absolute;
    top: 25%;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 101;
}

.closeBasemap {
    font-size: 20px;
    color: white;
    text-align: center;
    width: 275px;
    cursor: pointer;
    border: solid white 2px;
    border-radius: 5px;
}

.basemapType {
    width: 280px;
    height: 55px;
    margin-bottom: 10px;
    cursor: pointer;
    background-size: contain;
}

    .basemapType.eMap {
        background-image: url('Images/iMap-2_maplayer-eMap.png');
    }

    .basemapType.satellite {
        background-image: url('Images/iMap-2_maplayer-satellite.png');
    }

    .basemapType.satelliteMap {
        background-image: url('Images/iMap-2_maplayer-satelliteMap.png');
    }

.basemapSwitchContainer .loadingSpinner {
    width: 200px;
    height: 200px;
    display: none;
    background-image: url('Images/spinner.svg');
    position: absolute;
    top: calc(50vh - 100px);
    left: calc(50vw - 100px);
}
/*#endregion*/

/*#region header*/
.header {
    position: absolute;
    width: 100%;
    height: 50px;
    background-color: #9D5BA3;
    text-align: center;
    z-index: 98;
}

.dataTitle {
    font-size: 22px;
    line-height: 50px;
    color: white;
}
/*#endregion*/

/*#region main*/
.main {
    position: absolute;
    top: 50px;
    width: 100%;
    height: calc( 100% - 150px );
    /*padding-bottom: 150px;*/
}

    .main.hideHeader {
        top: 0px;
        height: calc(100% - 100px);
        /*padding-bottom: 100px;*/
    }

.map {
    width: 100%;
    height: 100%;
    z-index: -1;
}

.basemap {
    position: absolute;
    top: 0px;
    right: 2%;
    width: 60px;
    height: 60px;
    background-image: url('Images/imap-03.svg');
    cursor: pointer;
}

.userPosition {
    position: absolute;
    top: 50px;
    right: 2%;
    width: 60px;
    height: 60px;
    background-image: url('Images/imap-04.svg');
    cursor: pointer;
}
/*#endregion*/

/*#region footer*/
.footer {
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: 100%;
    z-index: 99;
    border-top: 1px solid #8F5496;
    font-size: 16px;
    background-color: white;
    -webkit-transition: all .3s linear 0s;
    transition: all .3s linear 0s;
}

    .footer.default {
        height: 120px;
    }

.pointInfo {
    width: 100%;
    display: none;
}

.footer.default .pointInfo .subInfo {
    overflow-y: hidden;
    height: 20px;
}

.pointInfo .subInfo {
    overflow-y: auto;
    max-height: calc(100vh - 134px);
}

    .pointInfo .subInfo > div:last-child {
        border-bottom: none;
    }

.pointInfo .infoItem {
    width: 96%;
    align-items: center;
    padding: 10px 2%;
    background-color: white;
    border-bottom: 1px gray dotted;
    display: flex;
}

    .pointInfo .infoItem.basic {
        padding: 0px 2%;
        height: 100px;
        display: flex;
        background-color: #8F5496;
    }

        .pointInfo .infoItem.basic.default {
            background-color: white;
        }

        .pointInfo .infoItem.basic span:not(.red):not(.distance):not(.cashRed) {
            color: white;
        }

        .pointInfo .infoItem.basic.default span:not(.red):not(.distance):not(.cashRed) {
            color: black;
        }

.pointInfo .infoLeft {
    width: 18%;
    margin-right: 3%;
    display: flex;
    justify-content: center;
}

.pointInfo .infoRight {
    width: 65%;
}

.infoItem.basic .scroll {
    width: 40px;
    height: 40px;
    background-image: url('Images/imap-09.svg');
    position: absolute;
    top: 5px;
    cursor: pointer;
}

    .infoItem.basic .scroll.default {
        background-image: url('Images/imap-08.svg');
        top: -20px;
    }

.infoItem.basic .infoRight .pointName {
    font-size: 18px;
}

.infoItem.basic .pointPhone {
    width: 50px;
    height: 50px;
    background-image: url('Images/imap-07.svg');
    position: absolute;
    right: 2%;
    cursor: pointer;
}

    .infoItem.basic .pointPhone .phoneLink {
        display: none;
    }

    .infoItem.basic .pointPhone.default {
        background-image: url('Images/imap-06.svg');
    }

.infoItem.basic .infoLeft .distance {
    position: relative;
    margin-top: 20px;
    bottom: 5px;
    color: white;
}

.infoItem.basic.default .infoLeft .distance {
    color: #3EADE2;
    margin-top: 0px;
}

.infoItem .typeIcon {
    height: 20px;
    width: 20px;
    display: inline-block;
    vertical-align: middle;
}

    .infoItem .typeIcon.icon {
        background-image: url('Images/imap-10.svg');
    }

.infoItem .source {
    width: 100%;
    text-align: right;
}

.availableParking.red {
    color: white;
}

.cashRed {
    color: red;
}


.redSignal {
    display: inline-block;
    background-image: url('Images/SideParking/iMAP_B02.svg');
    width: 30px;
    height: 30px;
    position: relative;
    top: 10px;
}

.greenSignal {
    display: inline-block;
    background-image: url('Images/SideParking/iMAP_B01.svg');
    width: 30px;
    height: 30px;
    position: relative;
    top: 10px;
}

.blackCross {
    display: inline-block;
    background-image: url('Images/SideParking/iMAP_B03.svg');
    width: 30px;
    height: 30px;
    position: relative;
    top: 10px;
}

.dollarSign {
    display: inline-block;
    background-image: url('Images/SideParking/iMAP_B04.svg');
    width: 30px;
    height: 30px;
    position: relative;
    top: 10px;
}


.infoItem.basic.default .availableParking.red {
    color: red;
}

.leftMargin {
    margin-left: 6px;
}

.infoItem.bottom .source a.inactive {
    pointer-events: none;
    cursor: default;
}

.infoItem.template {
    display: none;
}

.iMapLink {
    background-color: #8F5496;
    padding: 6px 2%;
    width: 100%;
    position: relative;
    bottom: 0px;
    height: 34px;
}

    .iMapLink.default {
        display: none;
    }

    .iMapLink a {
        color: white;
        text-decoration: none;
    }

        .iMapLink a.inactive {
            pointer-events: none;
            cursor: default;
        }
/*#endregion*/
