/* ============================================================
===== [ Table of Contents ] ===== 

1. Global
- 1.1 Global variables
- 1.2 Global styles
2. Structure
- 2.1 Global components
- 2.2 Index
3. Typography
4. Forms
5. Images

============================================================ */

/* ============================================================ */
/* ========== [ 1. Global ] ========== */
:root{
  font-size: 14px;
}
/* ------------------------------------------------------------ */
/* ---------- [ 1.1 Global variables ] ---------- */
:root{
  --color-blue-hue: #1D5073;
  --color-blue-tint: #4a738f;
  --color-blue-shade: #17405c;
  --color-green-hue: #5F934F;
  --color-green-tint: #7fa972;
  --color-green-shade: #4c763f;
  --color-white-hue: #ffffff;
  --color-grey-hue: #f1f1f9;
  --color-grey-tint: #fcfcfe;
  --color-grey-shade: #c1c1c7;
  --color-dark-hue: #9a9b9c;
  --color-high-priority: #de5242;
  --color-medium-priority: #e9c547;
  --color-low-priority: #73ce88;
}

/* ------------------------------------------------------------ */
/* ---------- [ 1.2 Global styles ] ---------- */
.content{
  width: 80vw;
  margin: 0 auto;
  padding-top: 20px;
}
.no-margin{
  margin: 0;
}
.no-top-margin{
  margin-top: 0;
}
.hidden{
  display: none!Important;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.5s linear;
}
.center{
  text-align: center;
  margin: 10px auto 5px;
  display: block;
}
.right{
  justify-items: end;
  justify-self: end;
}
.disable{
  color: var(--color-grey-shade);
  cursor: not-allowed;
}
.text-red{
  color: var(--color-high-priority)
}

/* ----- Grid ----- */
.column-2-3{
  grid-column: 2/3;
}
.row-1-2{
  grid-row: 1/2;
}
.row-1-4{
  grid-row: 1/4;
}
.row-2-3{
  grid-row: 2/3;
}
.row-3-4{
  grid-row: 3/4;
}

/* ============================================================ */
/* ========== [ 2. Structure ] ========== */
body{
  background-color: var(--color-white-hue);
}
/* ------------------------------------------------------------ */
/* ---------- [ 2.1 Global components ] ---------- */

/* ----- [ Header/Navigation ] ----- */
.bar{
  background-color: var(--color-grey-tint);
  height: 50px;
  position:absolute;
  width:100%;
}
#header{
  position: fixed;
  top:0;
  display: grid;
  border-bottom: 1px solid var(--color-grey-shade);
  z-index: 3;
  padding: 0 10px;
}
#header.assignments{
  grid-template-columns: 70px auto 70px;
}
#header.assignment, #header.diary, #header.settings{
  grid-template-columns: 1fr 1fr 1fr;
}
.header-title{
  font-size: 1.7rem;
  align-self: center;
  justify-self: center;
}
#header > a{
  height: 100%;
  width: 100%;
  cursor: pointer;
  display: grid;
  opacity: 1;
  transition: opacity 0.5s
}
#header > a:hover, #header > .text-link:hover{
  opacity: 0.5;
}
#header > a.text-link{
  display: grid;
  grid-template-columns: auto auto;
  align-content: center;
}
.text-link {
  color: var(--color-blue-hue);
  cursor: pointer;
  opacity: 1;
}
.text-link.left{
  justify-content: left;
}
.text-link.right{
  justify-content: right;
}
.text-link > *{
  vertical-align: middle;
}
.header-icon{
  align-self: center;
  justify-self: center;
  height: 25px;
}
.header-buttons{
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 8px 0px;
}
.header-button{
  text-align: center;
  align-self: center; 
  width: 100%;
  height: 34px;
  cursor: pointer;
  background-color: var(--color-grey-tint);
  color: var(--color-blue-hue);
  transition: all 0.3s;
  border: 1px solid var(--color-blue-hue);
  font-size: 1rem;
  line-height: 31px;
}
.header-button-left{
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.header-button-right{
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-left: 0px;
}
.header-button.active{
  background-color: var(--color-blue-hue);
  color: var(--color-white-hue);
}
.header-button:hover{
  background-color: var(--color-blue-tint);
  color: var(--color-white-hue);
}
#content{
  padding: 50px 0 80px;
}
.manipulation-bar{
  top: 50px;
  padding: 2px 10px;
  position: -webkit-sticky;
  position: sticky;
  background-color: var(--color-white-hue);
  z-index: 1;
}
.manipulation-bar2{
  top: 106px;
}
#search-bar > div{
  display: grid;
  grid-template-columns: auto max-content;
}
#search-input{
  /* background-color: var(--color-grey-hue); */
  border-radius: 10px;
  border: 0;
  margin: 5px 0;
  padding: 0 0 0 1rem;
  box-sizing: border-box;
  padding-left:30px;
  background: url(../../Assets/icons/icons8-search-50.png) no-repeat, var(--color-grey-hue);
  background-size: 24px;
  background-position: left;
}
.manipulation-bar > div > a{
  text-align: center;
  align-self: center;
  font-size: 1.2rem;
}
.cancelBtn{
  padding: 10px 40px;
  cursor: pointer;
}
@media screen and (max-width: 450px) {
  .cancelBtn{
    padding: 10px 20px;
  }
}
@media screen and (max-width: 350px) {
  .cancelBtn{
    padding: 10px 10px;
  }
}

#sort-bar{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-items: center;
}
#sort-bar > div{
  padding: 13px;
}
.sort-icon{
  max-height: 20px;
  padding: 0 5px;
}
.sort-div{
  cursor: pointer;
}
.top-bar-image{
  height: 90%;
  align-self: center;
}

/* ----- [ Footer ] ----- */
#footer{
  position: fixed;
  bottom:0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-top: 1px solid var(--color-grey-shade);
  padding: 5px;
  height: 60px;
  -webkit-box-shadow: 0px 4px 20px 1px rgba(0,0,0,0.10);
  -moz-box-shadow: 0px 4px 20px 1px rgba(0,0,0,0.10);
  box-shadow: 0px 4px 20px 1px rgba(0,0,0,0.10);
}
#footer > a{
  opacity: 1;
  transition: opacity 0.5s
}
#footer > a:hover{
  opacity: 0.6;
}
#footer > a > div{
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
}
.footer-icon{
  height: 34px;
}
.footer-text{
  font-size: 0.75rem
}
#offline-link{
  position: absolute;
  right: 15px;
  height: 49px;
  top: 5px;
  cursor: pointer;
}
#offline-link img{
  height: 100%;
}

/* ------------------------------------------------------------ */
/* ---------- [ 2.2 Index ] ---------- */
.auth{
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 1rem;
}
.forgot-password{
  padding: 20px 0;
  margin: 0 auto;
}

/* ---------- [ 2.3 Assignments ] ---------- */
.assignments-headline{
  position: -webkit-sticky;
  position: sticky;
  top: 50px;
  width: 100%;
  background-color: var(--color-grey-hue);
  font-weight: 700;
  padding: 3px 23px;
  font-size: 1.1rem;
}
.assignments-headline-search{
  top: 106px;
}
.assignments-headline-search2{
  top: 162px;
}
@media screen and (max-width: 360px) {
  .assignments-headline-search{
    top: 130px;
  }
  .assignments-headline-search2{
    top: 186px;
  }
}
.assignment-headline{
  font-size: 1.1rem;
}
#unassigned-ul{
  margin: 0;
}
.assignment-card-container{
  display: grid;
  grid-template-columns: 4% 83% 13%;
  width: 90%;
  padding: 5px 0;
  margin: 0 auto;
  border-bottom: 1px solid var(--color-grey-hue);
  color: black;
}
.assignment-card-container:hover{
  background-color: var(--color-grey-tint);
  cursor: pointer;
}
.assignment-card-container:active{
  background-color: var(--color-grey-hue);
}
.assignment-card-container > span{
  padding: 3px 0;
}
.headline-span{
  display: grid;
  grid-template-columns: 30px auto;
}
.headline-span > h6{
  margin: 0;
  font-size: 1.3rem;
  align-self: center;
}
.headline-icon > img{
  height: 20px;
  vertical-align: top;
}
.unassigned{
  color: var(--color-high-priority);
}
.arrow-div{
  align-self: center;
  justify-self: center;
}

/* ---------- [ 2.4 Assignment ] ---------- */
body#assignment{
  background-color: var(--color-grey-hue);
}
#actions{
  min-height: 50px;
  background-color: var(--color-white-hue);
  border-bottom: 1px solid var(--color-grey-shade);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  justify-items: center;
}
@media screen and (max-width: 415px) {
  #actions{
    grid-template-columns: 1fr 2fr 1fr;
  }
}
#actions a, #actions .text-link{
  opacity: 1;
  transition: opacity 0.5s;
}
#actions a:hover, #actions .text-link:hover {
  opacity: 0.6;
}
#actions > .text-link > *{
  margin-right: 10px;
}
.info-div{
  background-color: var(--color-white-hue);
  padding: 20px;
  border-radius: 10px;
  margin: 10px;
  display: grid;
  grid-template-columns: 1fr;
}
#master-key-div{
  display: grid;
  grid-template-columns: 25px auto;
  margin: 10px 0;
}
#master-key-icon{
  height: 25px;
  width: 25px;
}
#description{
  margin: 10px 0;
}
#assign-div{
  justify-self: center;
  display: grid;
  grid-template-columns: 25px auto;
  padding: 10px 20px 0 20px;
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.5s;
}
#assign-div:hover{
  opacity: 0.6;
}
#contact-person{
  margin-top: 10px;
}
#contact-phone{
  margin-bottom: 10px;
}

#assign-overlay{
  background-color: black;
  opacity: 0.5;
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
}
#assign-popup-div{
  background-color: var(--color-white-hue);
  border-radius: 15px;
  position: fixed;
  top: 20%;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  text-align: center;
  width: 90%;
  max-width: 400px;
  z-index: 4;
}
#assign-popup-div span{
  display: block;
  margin-bottom: 20px;
  padding: 10px;
}
.assign-buttons{
  display: block;
  padding: 10px 0;
  border-top: 1px solid var(--color-grey-hue);
}
.assign-buttons:hover{
  cursor: pointer;
  background-color: var(--color-grey-tint);
}
.assign-buttons:last-of-type:hover{
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}
.update-div{
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0.5rem;
  padding: 20px 0 10px;
  border-bottom: solid 1px var(--color-grey-hue);
}
.update-div:first-child{
  padding-top: 0;
}
#updates-headline, #offline-info{
  margin: 10px 20px;
  padding: 20px 0 10px;
}
#offline-info{
  color: var(--color-high-priority);
}
.headline-div{
  display: grid;
  grid-template-columns: 1fr;
}
.update-title{
  font-weight: 700;
}
.update-div img{
  width: 100%;
  max-width: 90vw;
  cursor: pointer;
  max-height: 70vh;
  object-fit: contain;
}
.update-div p, .update-div img{
  padding-left: 20px;
}
#image-lightbox{
  position: fixed;
  top: 5vh;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  text-align: center;
  height: 90vh;
  z-index: 4;
  cursor: pointer;
  width: 95%;
  object-fit: contain;
}
#image-overlay{
  background-color: black;
  opacity: 0.8;
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  cursor: pointer;
}

/* ---------- [ 2.5 New comment ] ---------- */
#new-comment > #content{
  padding-bottom: 0;
}
#new-comment-form{
  height: calc(100vh - 50px);
}
textarea#comment-input{
  width: 100%;
  height: 100%;
  padding: 20px;
}
#counter-div{
  position: fixed;
  bottom: 10px;
  right: 20px;
  color: var(--color-dark-hue);
}

/* ---------- [ 2.6 Rental object info ] ---------- */
#details{
  width: 80%;
  margin: 10px auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.details-button:first-child{
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.details-button:last-child{
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
.details-button{
  background-color: var(--color-green-hue);
  color: var(--color-grey-tint);
  padding: 10px;
  border: 1px solid var(--color-green-tint);
  text-align: center;
  transition: all 0.3s;
  cursor: pointer;
}
.details-button:hover{
  background-color: var(--color-green-tint);
  color: var(--color-white-hue);
}
.detail-div{
  display: grid;
  grid-template-columns: 40px auto;
  grid-column-gap: 1rem;
}
#address-div{
  grid-template-areas: 
  "address-title address-title"
  "address-icon address-real-estate"
  "address-icon address-street"
  "address-icon address-city";
}
#address-title{
  grid-area: address-title;
}
#address-icon{
  grid-area: address-icon;
  width: 100%;
}
#address-real-estate{
  grid-area: address-real-estate;
}
#address-street{
  grid-area: address-street;
}
#address-city{
  grid-area: address-city;
}
#tenant-icon{
  width: 100%;
}
.tenant-name{
  font-weight: 700;
}

/* ---------- [ 2.7 Assignment History ] ---------- */
.hide-finished{
  cursor: pointer;
}
#history-ul{
  margin: 0;
}
.history-card{
  display: grid;
  grid-template-columns: minmax(55px, 10%) 80% 10%;
  padding: 20px;
  color: black;
}
.history-card:hover{
  background-color: var(--color-grey-hue);
  cursor: pointer;
}
.history-card .assignment-icon {
  grid-row: span 2;
  max-height: 50px;
  justify-self: center;
}
.history-card h5 {
  grid-column: 2/3;
}
.history-card span {
  grid-column: 2/3;
}
.history-card .arrow-icon {
  grid-row: span 2;
  align-self: center;
  justify-self: center;
}

/* ---------- [ 2.8 Documents ] ---------- */
#document-ul{
  margin: 0;
}
.document-card{
  display: grid;
  grid-template-columns: 10% 80% 10%;
  grid-column-gap: 1rem;
  padding: 20px;
  color: black;
  cursor: pointer;
}
.document-card:hover{
  background-color: var(--color-grey-hue);
}
.document-card .document-icon {
  grid-row: span 2;
  max-height: 50px;
  justify-self: center;
}
.document-card h5 {
  grid-column: 2/3;
}
.document-card span {
  grid-column: 2/3;
}
.file-type{
  color: var(--color-dark-hue)
}
.document-card .arrow-icon {
  grid-row: span 2;
  align-self: center;
  justify-self: center;
}

/* ---------- [ 2.9 Diary ] ---------- */
.cityCard{
  background-color: var(--color-green-hue);
  padding: 10px 20px;
  border-bottom: solid 1px var(--color-white-hue);
  color: var(--color-white-hue);
  display: grid;
  grid-template-columns: 20px auto;
  grid-column-gap: 1rem;
  cursor: pointer;
}
.cityCard:hover{
  background-color: var(--color-green-tint);
}
.cityCard span{
  font-size: 2.5rem;
  font-weight: 100;
  height: 20px;
  line-height: 15px;
}
.open-icon{
  transform: rotate(0deg);
  transition: transform 0.4s;
}
.close-icon{
  transform: rotate(45deg);
  transition: transform 0.4s;
}
.realEstateCard{
  padding: 10px 20px;
  display: grid;
  grid-template-columns: 25px auto 25px;
  grid-column-gap: 1rem;
  cursor: pointer;
  border-bottom: solid 1px var(--color-grey-hue);
}
.realEstateCard:hover{
  background-color: var(--color-grey-tint);
}
.realEstateCard img{
  height: 25px;
}

/* ---------- [ 2.10 Real estate ] ---------- */
.rentalObjectCard{
  padding: 10px 20px;
  display: grid;
  grid-template-columns: 25px auto 25px;
  grid-column-gap: 1rem;
  cursor: pointer;
  border-bottom: solid 1px var(--color-grey-hue);
  align-items: center;
}
.rentalObjectCard:hover{
  background-color: var(--color-grey-tint);
}
.rentalObjectCard img{
  height: 25px;
  grid-row: 1/3;
}
.rentalObjectCard img:last-of-type{
  grid-column: 3/4;
}
.rentalObjectCard h5, .rentalObjectCard span{
  grid-column: 2/3;
}

/* ---------- [ 2.11 Settings ] ---------- */
body#settings{
  background-color: var(--color-grey-hue);
}
#new-update{
  background-color: var(--color-green-hue);
  color: var(--color-white-hue);
  cursor: pointer;
  font-size: 1.25rem;
  text-align: center;
  position: fixed;
  width: 100%;
  padding: 10px 0;
}
#new-update img {
  height: 28px;
  vertical-align: bottom;
}
.settings-headline{
  padding: 20px 0 10px 10px;
  text-transform: uppercase;
}
.setting-card{
  background-color: var(--color-white-hue);
  border-bottom: solid 1px var(--color-grey-shade);
  padding: 10px 15px;
  display: grid;
  grid-template-columns: 25px auto 120px;
  column-gap: 1rem;
  grid-template-areas: 
  'settings-icon settings-card-headline card-end'
  'settings-icon settings-card-text card-end';
}
.setting-card.link:hover{
  cursor: pointer;
  background-color: var(--color-grey-tint);
}
.setting-card.first{
  border-top: solid 1px var(--color-grey-shade);
}
.arrow-icon{
  justify-self: end;
}
.settings-icon{
  grid-area: settings-icon;
  width: 100%;
  align-self: center;
}
.settings-card-headline{
  font-weight: 700;
  grid-area: settings-card-headline;
}
.settings-card-text{grid-area: settings-card-text;}
.card-end{
  grid-area: card-end;
  align-self: center;
}

/* ---------- [ 2.12 Promote installation of PWA ] ---------- */
#promotion-div{
  background-color: var(--color-blue-hue);
  width: 80%;
  max-width: 600px;
  position: fixed;
  z-index: 1;
  top: 60px;
  border-radius: 10px;
  margin: 0 auto;
  padding: 15px;
  left: 0;
  right: 0;
  color: var(--color-white-hue);
  -webkit-box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2);
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2);
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-gap: 0.5rem;
  grid-template-areas: 
  "promotion-title promotion-title promotion-icon"
  "promotion-text promotion-text promotion-icon"
  ". promotion-not promotion-install";
}
@media screen and (max-width: 600px){
  #promotion-div{
    width: 80%;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-areas: 
    "promotion-title promotion-title promotion-icon"
    "promotion-text promotion-text promotion-icon"
    "promotion-not promotion-install promotion-install";
  }
}
#promotion-title{
  grid-area: promotion-title;
}
#promotion-text{
  grid-area: promotion-text;
}
#promotion-icon{
  grid-area: promotion-icon;
  border-radius: 20px;
  height: 100%;
  max-height: 95px;
  margin: 0 auto;
}
#promotion-not{
  grid-area: promotion-not;
}
#promotion-install{
  grid-area: promotion-install;
}

/* ============================================================ */
/* ========== [ 3. Typography ] ========== */
body{
  font-size: 16px;
  color: black;
}
a{
  color: var(--color-blue-hue);
}
a.not-active{
  color: var(--color-dark-hue);
}
a.active{
  color: var(--color-blue-hue);
}

h1, h2, h3, h4, h5 {
  margin: 2.75rem 0 1.05rem;
  font-weight: 400;
  line-height: 1.15;
}
h1 {
  margin-top: 0;
  font-size: 3.052em;
}
h2 {font-size: 2.441em;}
h3 {font-size: 1.953em;}
h4 {font-size: 1.563em;}
h5 {font-size: 1.25em;}
small, .text-small {font-size: 0.8em;}
.sub-text {
  color: var(--color-dark-hue);
}
.red-text {
  color: var(--color-high-priority);
}
.red-text {
  color: var(--color-green-hue);
}

/* ============================================================ */
/* ========== [ 4. Forms ] ========== */
/* ----- [ Input ] ----- */
input:not([type]), input[type=text]:not(.browser-default), input[type=password]:not(.browser-default), input[type=email]:not(.browser-default), input[type=url]:not(.browser-default), input[type=time]:not(.browser-default), input[type=date]:not(.browser-default), input[type=datetime]:not(.browser-default), input[type=datetime-local]:not(.browser-default), input[type=tel]:not(.browser-default), input[type=number]:not(.browser-default), input[type=search]:not(.browser-default), textarea.materialize-textarea {
  padding: 0 10px;
  box-sizing: border-box;
}
input:not([type]):focus:not([readonly]), input[type=text]:not(.browser-default):focus:not([readonly]), input[type=password]:not(.browser-default):focus:not([readonly]), input[type=email]:not(.browser-default):focus:not([readonly]), input[type=url]:not(.browser-default):focus:not([readonly]), input[type=time]:not(.browser-default):focus:not([readonly]), input[type=date]:not(.browser-default):focus:not([readonly]), input[type=datetime]:not(.browser-default):focus:not([readonly]), input[type=datetime-local]:not(.browser-default):focus:not([readonly]), input[type=tel]:not(.browser-default):focus:not([readonly]), input[type=number]:not(.browser-default):focus:not([readonly]), input[type=search]:not(.browser-default):focus:not([readonly]), textarea.materialize-textarea:focus:not([readonly]) {
  border-bottom: 1px solid var(--color-blue-hue);
  -webkit-box-shadow: 0 1px 0 0 var(--color-blue-hue);
  box-shadow: 0 1px 0 0 var(--color-blue-hue);
}
input:not([type]):focus:not([readonly])+label, input[type=text]:not(.browser-default):focus:not([readonly])+label, input[type=password]:not(.browser-default):focus:not([readonly])+label, input[type=email]:not(.browser-default):focus:not([readonly])+label, input[type=url]:not(.browser-default):focus:not([readonly])+label, input[type=time]:not(.browser-default):focus:not([readonly])+label, input[type=date]:not(.browser-default):focus:not([readonly])+label, input[type=datetime]:not(.browser-default):focus:not([readonly])+label, input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label, input[type=tel]:not(.browser-default):focus:not([readonly])+label, input[type=number]:not(.browser-default):focus:not([readonly])+label, input[type=search]:not(.browser-default):focus:not([readonly])+label, textarea.materialize-textarea:focus:not([readonly])+label {
  color: var(--color-blue);
}
input.valid:not([type]), input.valid:not([type]):focus, input.valid[type=text]:not(.browser-default), input.valid[type=text]:not(.browser-default):focus, input.valid[type=password]:not(.browser-default), input.valid[type=password]:not(.browser-default):focus, input.valid[type=email]:not(.browser-default), input.valid[type=email]:not(.browser-default):focus, input.valid[type=url]:not(.browser-default), input.valid[type=url]:not(.browser-default):focus, input.valid[type=time]:not(.browser-default), input.valid[type=time]:not(.browser-default):focus, input.valid[type=date]:not(.browser-default), input.valid[type=date]:not(.browser-default):focus, input.valid[type=datetime]:not(.browser-default), input.valid[type=datetime]:not(.browser-default):focus, input.valid[type=datetime-local]:not(.browser-default), input.valid[type=datetime-local]:not(.browser-default):focus, input.valid[type=tel]:not(.browser-default), input.valid[type=tel]:not(.browser-default):focus, input.valid[type=number]:not(.browser-default), input.valid[type=number]:not(.browser-default):focus, input.valid[type=search]:not(.browser-default), input.valid[type=search]:not(.browser-default):focus, textarea.materialize-textarea.valid, textarea.materialize-textarea.valid:focus, .select-wrapper.valid>input.select-dropdown {
  border-bottom: 1px solid var(--color-green-hue);
  -webkit-box-shadow: 0 1px 0 0 var(--color-green-hue);
  box-shadow: 0 1px 0 0 var(--color-green-hue);
}

/* ----- [ Button ] ----- */
.btn-large-div{
  height: 54px;
}
.btn{
  margin: 10px 0;
  border-radius: 27px;
  width: 100%;
}
.btn-green{
  background-color: var(--color-green-hue);
}
.btn-green:hover{
  background-color: var(--color-green-tint);
}
.btn-blue{
  background-color: var(--color-blue-hue);
}
.btn-blue:hover{
  background-color: var(--color-blue-tint);
}
.loading{
  padding-top: 8px;
}
.btn:focus, .btn-large:focus, .btn-small:focus, .btn-floating:focus {
  background-color: var(--color-green-shade);
}

#reload-btn{
  background-color: var(--color-green-hue);
  color: var(--color-white-hue);
  cursor: pointer;
  text-align: center;
  float: right;
  border: none;
  border-radius: 15px;
  padding: 5px 10px;
}
#reload-btn img {
  height: 24px;
  vertical-align: middle;
}
#reload-btn:hover{
  background-color: var(--color-green-tint);
}

/* ----- [ Switch ] ----- */
.switch label input[type=checkbox]:checked+.lever {
  background-color: var(--color-blue-tint);
}
.switch label input[type=checkbox]:checked+.lever:after {
  background-color: var(--color-blue-shade);
}

/* ============================================================ */
/* ========== [ 5. Images ] ========== */
.auth-logo{
  padding: 20px 0;
  width: 100%;
}
.arrow-icon{
  max-height: 30px;
}
.icon-small{
  height: 25px;
  width: 25px;
}

/* ============================================================ */
/* ========== [ Other ] ========== */
.spinner-white, .spinner-white-only {
  border-color: var(--color-white-hue);
}
.spinner-blue, .spinner-blue-only {
  border-color: var(--color-blue-hue);
}
.spinner-green, .spinner-green-only {
  border-color: var(--color-green-hue);
}
.loadingElement{
  right: 50%;
  position: absolute;
}

hr{
  width: 90%;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1.5px solid var(--color-grey-hue);
}