:root {
    --color-gray-light: #d1c7c7;
    --color-gray-medium: #665959;
    --header-height:3em;
}

* {
    box-sizing:border-box;
    font-family: 'Montserrat',sans-serif;
}


.ui-mobile label {
    display: initial;
    margin: initial;
}

#login-page{
    background-color: #431568;
    font-family: 'Montserrat', sans-serif;
    color: white;
}

#recent-page a {
    color: white;
    background-color: transparent;
    text-decoration: none;
}

footer img {
    max-width: 0.8em;
    margin-bottom: 0em;
    vertical-align: text-bottom;
}

a:visited {
    color: inherit;
}

.ui-mobile section {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    overflow:hidden;
    display:none;
}
.ui-mobile section.ui-page-active {
    display:flex;
    flex-direction:column;
    position: fixed;
    height: 100%;
    width: 100%;
}
.ui-mobile [data-role="main"] {
    flex: 1 1 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}



.ui-footer,
.ui-header {
    border-width:0;
    /* box-shadow:0 0 5px rgba(0,0,0,0.2); */
    height:var(--header-height);
    background-color: #431568;
    color: white;
    font-family: 'Montserrat', sans-serif;
    /* position: fixed; */
    z-index: 1;
}

input.search {
    background-color: white;
    border-width: 0;
    display: inline-block;
    width: 100%;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.bar {
    
    display: block !important;        
    background-color: white;        
    padding: 0.5em 1em;        
    border: 1.5px solid #bebebe;        
    border-radius: 2em;        
    font:inherit;        
    width: 100%;
}

.bar>input{
    outline: 0;
    font: inherit;
    padding: 0;
    width: 100%;
    margin:0;
    display: inline-block;
    border-width: 0;
    background-color: transparent;
}

.arrow {
    border: 1px solid #431568;
    padding: 0.5em 0.7em 0.3em 0.7em;
    border-radius: 1em;
    color: #431568;
}

.fill-height { height:100%; }



.hidden { display:none; }


.flex-parent { display:flex; }
.flex-child { flex: 1 1 auto; }
.flex-none { flex: none; }
.flex-align-center { align-items:center; }
.flex-justify-center { justify-content:center; }
.flex-wrap { flex-wrap:wrap; }
.flex-vertical { flex-direction:column; }


.text-center { text-align:center; }
.text-left { text-align:left; }
.text-right { text-align:right; }




.nav ul {
    list-style-type:none;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    display:flex;
    position:relative;
}
.ui-footer.nav li {
    flex: 1 1 auto;
    text-align:center;
    vertical-align: bottom;
    /* margin-top: auto; */
    /* margin-bottom: auto; */
}
.nav a {
    display:block;
    line-height:var(--header-height);
    padding: 0 1em;
    color:inherit;
    font-weight:bold;
    text-decoration:none;
}
.ui-header .ui-title {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    line-height:var(--header-height);
    margin:0;
    padding:0;
}



.icon {
    display:inline-block;
    width:1em;
    height:1em;
    vertical-align: text-bottom;
}

.noclick { pointer-events:none; }


.icon-image {
    display: block;
    line-height: 2rem;
    height: 2rem;
    vertical-align: text-bottom;
    font-size: 1.9em;
}



.form-control {
    margin-top: 1em;
    margin-bottom: 1em;
}
.form-input {
    background-color: transparent;
    border-width: 0;
    /* border-radius: 15px; */
    border-bottom: 1px solid #9e9c9c;
    width: 100%;
    display: inline-block;
    outline: 0;
    font: inherit;
    color: inherit;
    padding: 0.2em 1em;
    margin-top: 0.4em;
}


.ui-mobile .form-label {
    margin: 0;
    font-size: 0.9em;
    color:white;
}


.form-button-submit {
    background-color: #431568;
    color: #ffffff;
    width: 100%;
    border-width: 0;
    /* padding: 0.2em 1em; */
    font: inherit;
    outline:0;
    font-size: 1.2em;
    /* border-radius: 15px; */
    box-shadow: 0px 1px 4px black;
    display: inline-block;
    text-decoration: none;
    text-align: center;
    /* line-height: var(--header-height); */
}

.form-button {
    background-color: white;
    color: #362246;
    width: 100%;
    border-width: 0;
    padding: 0.2em 1em;
    font: inherit;
    outline:0;
    font-size: 1.2em;
    border-radius: 15px;
    box-shadow: 0px 1px 4px black;
    display: inline-block;
    text-decoration: none;
    text-align: center;
}
.form-blank {
    border-width:0;
    background-color:transparent;
    font:inherit;
    color:inherit;
    width:100%;
    outline:0;
}
.hotdog {
    width: 100%;
    padding: 0.5em 1em;
    border-bottom: 1px solid white;
    color: white;
    font: inherit;
    display: flex;
}

.map {
    background-image: url(../images/map.jpg);
    background-position: center;
    background-size: cover;
}
.fit-child{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}





.modal {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    transition:all 0.3s;
}
.modal.active {
    opacity:1;
}

.modal-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.17);
}
.modal.active .modal-popup,
.modal.active .modal-back {
    pointer-events: initial;
}

.modal-popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: calc(100% - 4em);
    max-height: calc(100% - 4em);
    overflow: hidden;
    /* padding: 0em; */
}

.modal-head,
.modal-foot {
    background-color: #431568;
    height: var(--header-height);
    line-height: var(--header-height);
    color: white;
    text-align: center;
}

.modal-body {
    background-color: white;
    padding: 1em; 
    position: relative;
    overflow: hidden;
    max-height: calc(100% - (2*var(--header-height)));
}

.modal-popup>:first-child {
    border-radius: 5px 5px 0 0;
    overflow: hidden;
    /* text-align: center; */
}

.modal-popup>:last-child {
    border-radius: 0px 0px 5px 5px;
    overflow: hidden;

}

.modal-head h1{
    font-size: 1em;
    margin: 0;
}

#login-page h1 {
    color: white;
}

a {
    text-decoration: none;
    color: inherit;
}

.sub-text {
    font-size: 0.8em;
}

#login-form {
    margin-bottom: 8em;
}

#signup-page {
    background-color: white;
    color: white;
    font-family: 'Montserrat', sans-serif;
}

#signup-form {
    background-color: #431568;
    padding: 3em;
    border-radius: 1em;
    box-shadow: -3px 5px 20px 1px #00000066;
}

.corner {
    border-radius: 8px;
}

.signup {
    width: 7em;
    margin-left: auto;
    margin-right: auto;
    color: #362246;
    padding: 0.5em 1.5em 0.5em 1.5em;
    margin-top: 1em;
    text-align: center;
}

.signup-btn, .login-btn {
    border: 1.5px solid white;
    border-radius: 8px;
    padding: 0.5em 1em;
    width: 7em;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

#list-page,
#recent-page {
    font-family: 'Montserrat', sans-serif;
    background-color: white;
}

#list-page ul,#list-page ul, 
#recent-page ul {
    list-style: none;
    padding: 0em;
    /* vertical-align: text-bottom; */
    position: relative;
}

#list-page> .mylist li,
#recent-page> .mylist li {
    display: flex;
    padding-left: 1em;
    padding-top: 1em;
    padding-bottom: 1em;
    background: #e5e5e5;
    margin-bottom: 0.8em;
    align-items: center;
    box-shadow: 0px 0px 10px 0px #0000003b;
}

.archlist-item {
    margin: 0.3em 0.5em 0em 0em;
    padding: 0.3em 0.5em 0em 0em;
    display: flex;
    align-items: center;
    border-radius: 3px;
    border-left: 5px solid #431568;
    border-bottom: 0.5px solid #8080802b;
    border-top: 0.5px solid #8080802b;
}

.arch-list{
    position: relative;
    flex: 1 1 auto;
    overflow: hidden;
    overflow-y: auto;
}

.archlist-item img{
    margin: 0.5em;
}

#list-page> .mylist a{
    color: white;
    
}

#list-page li> img,
#recent-page li> img {
    max-width: 15%;
}

#list-page> .mylist h5
#recent-page> .mylist h5 {
    margin-top: 0.4em;
    margin-bottom: 0em;
    font-weight: 100;
    color: rgb(70,70,70);
}

#list-page .form-label,#add-location-page .form-label {
    color: black;
}

.addimg {
    background-color: #efefef;
    width: 20%;
    text-align: center;
    padding: 1.3em;
    border-radius: 5px;
    margin-top: 0.5em;
}

input#list-add-animal-name {
    border-radius: 0px;
    border-bottom: 1px solid black;
    margin-top: 0.3em;
}


.logout-btn {
    padding: 0.7em;
    border: 1.5px solid #00000026;
    border-left: none;
    border-right: none;
    color: #ca1707;
    font-weight: 700;
    position: absolute;
    width: 100%;
    bottom: 0px;
}
.edit-btn {
    padding: 0.7em;
    border: 1.5px solid #00000026;
    border-left: none;
    border-right: none;
    color: black;
    font-weight: 700;
}

.profile-img {
    width: 15em;
    height: 15em;
    border-radius: 15em;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2em;
    /* background-size: contain; */
    /* background-position: center; */
    overflow: hidden;
}

.logo {
    width: 6em;
}

.logo> img {
    max-width: 100%;
}

.overscroll-y { 
    overflow-y: auto;
    height: 100%;
    position: absolute;
    width: 100%; 
}
.overscroll-x { overflow-x: auto; }

@supports (-webkit-overflow-scrolling:touch) {
    .overscroll-y {
        overflow-y: scroll;
        -webkit-overflow-scrolling:touch;
    }
    .overscroll-x {
        overflow-x: scroll;
        -webkit-overflow-scrolling:touch;
    }
}

.info {
    text-align: left;
    margin-left: 1em;
}


#arch-profile-page img {
    /* margin-top: 1em; */
    max-width: 10em;
    object-fit: cover;
    object-position: center;
    border-radius: 6px;
}

.arch-profile {
    display: flex;
    width: 100%;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    background-color: white;
    bottom: 0px;
    padding: 1em 1em 4em 1em;
    /* height: 13em; */
    z-index: 1;
}

.location {
    background-image: url(../images/queenanne.PNG);
    background-position: center;
    background-size: cover;
    height: 26em;
    overflow: initial;
}



.plus {
    font-size: 2em;
    margin-left: 0em;
    /* padding-right: 0.35em; */
    /* padding-left: 0.35em; */
    border-radius: 4em;
    /* margin-right: 0.2em; */
    /* background-color: #431568; */
    color: white;
    font-weight: 300;
}

.arch-icon {
    display: flex;
}

.arch-icon img {
    width: 3em;
    margin: 1em;
}

.profile-info {
    width: 63%;
    margin-left: auto;
    margin-right: auto;
}

.personal-info {
    margin: 2em;
    background-color: #68a7d370;
    padding: 2em;
    border-radius: 8px;
}


.arch-image-small,
.archlist-icon img{
    height: 5em;
    width: 5em;
    object-fit: cover;
    object-position: center;
    border-radius: 5px;
}

.archlist-name {
    flex: 1 1 auto;
    margin-left: 1em;
}

.profile-img img {
    max-width: 100%;
}


.circle-button {
    position:absolute;
    width:2.5rem;
    height:2.5rem;
    display:flex;
    align-items:center;
    justify-content:center;
    background-color:white;
    color:black;
    box-shadow:1px 1px 3px rgba(0,0,0,0.2);
    border-radius:2em;
    font-size:1.5rem;
    text-decoration:none;
}

.pos-btn{
z-index: 1;
position: absolute;
border: 1.5px solid #431568;
padding: 0.5em 1em;
border-radius: 10px;
}

.pos-btn>img{
    width: 2em;
}

.pos-btn.bottom {
    bottom: 1em;
}
.circle-button.bottom {
    bottom: 16em;
}
.pos-btn.right, .circle-button.right {
    right: 1em;
}
.pos-btn.top, .circle-button.top {
    top:1em;
}
.circle-button.left {
    left:1em;
}

.form-radio-group {
    display: flex;
}

.form-radio-group label {
    line-height: 1.5em;
    padding: 0 0.2em;
    border: transparent 2px solid;
}

.form-radio-group input:checked+label {
    border-color: red;    
}


