/* ---------- Mains ------------------- */

body,
html {
  margin: 0px;
  padding: 0px;
  font-family: "Open Sans", sans-serif;
  font-size: calc(20px + (26 - 20) * ((100vw - 1440px) / (2560 - 1440)));
  line-height: 1em;
}
body {
  background-color:  #f9f7f1;
  background-image: url('images/bg-pensiune.jpg');
background-size: 100%;
background-repeat: no-repeat;
background-attachment: fixed;
box-sizing: border-box;
}
main{
  width: 100%;
  min-height: 75vh;
  padding: 4.15vw;
  padding-right: 29.08vw;
  margin: auto;
  box-sizing: border-box;
  }
nav {
  list-style-type: none;
    display: flex;
    gap: 2.07vw;
    background-color: #201109;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-top-right-radius:50px;
    border-bottom-right-radius:50px;
    border-left: 10px solid  #1b998a;
    padding: 2.07vw;
    margin-right: 8.31vw;
    flex-wrap: wrap;
    box-sizing:border-box;
}

.logo img {
  width: 24.93vw;
      position: absolute;
      right: 4.15vw;
      top: 4.15vw;
}

#resultGreen {
  line-height: 24px;
  background: #769f2f;
  color: #fff;
  margin: 10px 0;
  padding: 15px;
  border-radius: 5px;
}

#resultRed {
  line-height: 24px;
  background: #8d0707;
  color: white;
  margin: 10px 0;
  padding: 15px;
  border-radius: 5px;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

/********** INS Styling *******************/

/* ----------- Typography -----------------------*/
p,
a,
#szocket a {
  font-size: calc(20px + (25 - 20) * ((100vw - 1440px) / (2560 - 1440)));
  line-height: 1.25em;
  letter-spacing: 0.012em;
  font-weight: 400;
}
p {
  padding-bottom: 1em;
}

h1 {
  font-family: "Great Vibes";
  font-size: 3.815em;
  font-weight: 500;
  line-height: 0.75em !important;
}

h2 {
  font-family: "Great Vibes";
  font-size: 3.052em;
  text-transform: none !important;
  line-height: 0.85em;
  font-weight:600;
}

h3 {
  font-family: "Great Vibes";
  text-transform: none !important;
  font-size: 1.953em !important;
  font-weight: 600;
}
h4 {
  font-size: 1.25em;
  font-weight: 700;
  text-transform: uppercase;
  color: #1b998a;
  line-height:1em;
}


small,
input, footer a, textarea {
  font-family: "Open Sans", sans-serif;
  font-size: 0.8em;
  font-weight: 600!important;
  letter-spacing: 0.02em;
  line-height: 1em;
}
#nav a,
a {
  text-decoration: none;
color: #1b998a;
  line-height: 1em;
  font-size: 20px;
}
nav a {
  font-size:1em;
    font-weight: 800;
  color: #fff;
  text-transform: uppercase;
}
#nav a:active,
#sidebar a:active {
  color: #f9f7f1;
}
footer a{
  color: #1b998a;
  text-transform:none;
}

select,
button {
  font-size: 0.8em;
  line-height: 1em;
  text-transform: uppercase;
  font-weight: 600;
 color: #201109;
  background-color: #f8f8f8;
  border: none;
  border-radius: 10px;
  text-align: center;
  padding-top: 5px;
  padding-bottom: 5px;
}
fieldset {
  background-color: #1b998a;
  border: 4px solid #1b998a;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  margin-left: 0px;
}
::placeholder {
 font-size: 1em; 
 font-weight: 600;
}
.updateCheckbox input {
  max-width: 50px;
}

/* --- Buttons --- */

input[type="submit"], button[type="submit"] {
  padding:20px;
  font-size: 0.8em;
  background-color: #DBCFA9;
  color:#201109;
  border-radius: 20px;
  border:none;
  text-transform:uppercase;
  cursor: pointer;
}
.formGrid input[type="submit"], button[type="submit"]{
  width:100%;
}


/* ----- Feeds & Boxes ------- */
.locator {
  margin-top:2.07vw;
  margin-bottom:2.07vw;
  margin-right:8.31vw;
  display:grid;
  gap:25px;
  grid-template-columns: 40% 60%;
 align-items:center;
 justify-content:start;
}
.locator h1{
  text-align-last: center;
  border-top: 4px solid #DBCFA9;
  border-radius:50%;
}
.bookingFeed {
  display: flex;
  justify-content: start;
  align-items: start;
  gap: 2vw;
  flex-wrap: wrap;
  margin-top:2.07vw;
}
.bookingBox {
  background-color: transparent; 
  padding: 2.07vw; 
  border-radius: 0px; 
  max-width:40%;
  border-right: 4px solid #1b998a;
  border-bottom: 4px solid #1b998a;
  border-radius:50px;
  border-bottom-right-radius:0px;
}
.bookingBox a{
  color:#201109;
}
.roomFeed {
  display: flex;
  justify-content: start;
  align-items: start;
  gap: 20px;
  flex-wrap: wrap;
}
.bento {
  background-color:rgba(255,255,255,0);
    padding: 2.07vw; 
    text-align: center; 
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    border-top-left-radius: 48%;
    border-top-right-radius: 48%;
    border: 4px solid #1b998a;
    transition: background-color 0.5s ease-in-out;
}
.bento:hover, .bookingBox:hover{
  background-color:rgba(255,255,255,1);
}
.topPadder{
  margin-top:2.07vw;
}

/*--- Footer ---*/
footer {
  width:100%;
  background-color:  #201109;
  color: #fff;
  padding: 6.24vw;
  padding-top:2.07vw;
  box-sizing: border-box;
  background-image: url("images/footer-bg.svg");
  background-size: 100%;
background-repeat: no-repeat;
text-align:left;
min-height:25vh;
margin-bottom: 4.15vw;
border-bottom: 10px solid #1b998a;
border-bottom-left-radius: 50px;
border-left:2.07vw solid #faf7f2;
  
}

/* ----- Icons --------- */
.icon {
  width:20px;
  padding-right:5px;

}
/* --- Forms & Their Structures ---- */
#addBooking {
  height:inherit;
  padding-bottom:2.07vw;
}
#addBooking input[type="text"], #searchRoom input[type="text"],  #searchBooking input[type="text"], input[type="tel"], input[type="date"], input[type="email"], input[type="number"], select, textarea {
  padding: 10px;
  border-radius: 10px;
  border: 1px solid #1b998a;
  width: 100%;
}

.formGrid {
  display:grid;
  grid-template-columns: 3% 20% 25% 25%;
  gap:1vw;
  height:auto;
}
.formGrid div {
  display:flex;
  justify-content:start;
  align-items: center;
}
.formGrid div p{
  padding-bottom:0;
}
.formGrid .icon{
  width:30px;
}


/***************** MOBILE **************************/
/** 1. All Mobile Resolutionw ***/
@media only screen and (max-width: 1300px) {
  body, html{
    font-size:17px;
  }
  body{
    background-attachment:scroll;
    background-position-y: -12%;
   
  }
  main{
    padding:50px;

  }
  nav {
    margin-top:50px;
    margin-bottom: 50px;
    padding: 50px;
    padding-right:25px;
    margin-right:0px;
    margin-left:-50px;
    width:100%;
    border-radius:0px;
  }

  .logo {
    box-sizing:border-box;
    padding-bottom:10vw;
  }
  .logo img {
    position:relative;
    width: 60%;
      right: 50px;
      left:50px;
  }
  .bookingBox {
   padding: 25px;
   max-width:100%;
  }
  
  .bento{
    padding:50px;
  }
  footer{
    padding-top:50px;
    padding-bottom:25px;
    padding-left:25px;
    padding-right:50px;
    border-right:10px solid #1b998a;
    border-left:25px solid #f9f7f1;
    text-align:center;
  }
  .topPadder{
    margin-top:50px;
  }

  /* Typography on mobile*/
  p,
  a,  small, input, footer a, #nav a, select, button {
    font-size: 1em;
  }
  h1{
    font-size: 2.986em;
  }
  h2{
    font-size:2.488em
  }
  h3 {
    font-size: 2.074em;
  }
  h4 {
    font-size: 1.44em;
  }
 
 
}
@media only screen and (max-width: 800px){
  body{
    background-position-y: 0%;
  }
  nav a {
    width:100%;
  }
}

/* 2. Small laptops, big tablets*/
@media (max-width:1300px) and (min-width:990px){
  .logo{
    padding-bottom:50px;
  }
  .logo img{
    width:20%;
  }
  footer{
    text-align:left;
  }
}

/* 3. TabletLandscape*/
@media (max-width:989px) and (min-width:768px){
}

/* 4. TabletPortrait */
@media (max-width:767px) and (min-width:480px){
.formGrid{
  grid-template-columns: 75%;
  gap:10px;
 }
 .formGrid div {
  grid-column:auto!important;
  grid-row:auto!important;
 }
 .formGrid .icon {
width:20px;
padding-top:25px;
opacity:0.75;
}
.locator{
  grid-template-columns: 100%;
  margin-right:0px;
}
.locator > *{
  grid-column:auto!important;
  grid-row:auto!important;
}
.bookingFeed{
  margin-top:50px;
}
}

/* 5. Smartphone*/
@media only screen and (max-width: 479px) {
.formGrid{
  grid-template-columns: 100%;
  gap:10px;
 }
.formGrid div {
  grid-column:auto!important;
  grid-row:auto!important;
 }
.formGrid .icon {
width:30px;
padding-top:25px;
opacity:0.75;
}
.bento{
    padding:25px;
  }
main {
padding:25px;
  }
  .locator{
    grid-template-columns: 100%;
    margin-right:0px;
  }
  .locator > *{
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .bookingFeed{
    margin-top:50px;
  }
}