@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;600&display=swap');
*{
    box-sizing: border-box;
    margin:0;
    padding:0;
    font-family: 'Josefin Sans', sans-serif;
  }
footer{
    position: fixed;
    font-family: inherit;
    padding-bottom: 5px;
    font-size:15px;
    width:100%;
    text-align: center;
    bottom:0px;
  }

   .logo {
  position: absolute;
  top: 30px;           /* adjust this as per your design */
  left: 140px;          /* adjust this */
  width: 150px;        /* smaller size */
  z-index: 10; 
}

.logo img {
  width: 100%;
  height: auto;
}

.flexbox_container{
  display: flex;
  flex-direction: row;
}
.text{
  background-image: url(../images/bg-pattern-desktop.svg);
  background-repeat: no-repeat;
  background-size: cover;
  max-width:60%;
  padding:  30vh 20% 0 10%;
  font-size: 16px;
  color: #c2ab72;
}
form{
  
  position: relative;
  margin-top:20px;
}
form > input[type='email']{
  height:50px;
  width: 100%;
  border-radius:25px;
  padding:25px 30px;
  border:1px solid #c2ab72;
}
form > input[type='email']:focus{
  border:2px solid hsl(0, 93%, 68%);
}
form > input[type='email']:invalid{
  background: url(../images/icon-error.svg) no-repeat;
        background-size: 20px;
        background-repeat: no-repeat;
        background-position: 75%;
  border:1px solid hsl(0, 93%, 68%);
}
form > input[type="email"]:invalid:not(:placeholder-shown) ~ .requirements{
  max-height: 200px;
	padding: 5px 25px;
}
.requirements {
  padding: 0 30px 0 25px;
  max-height: 0;
  transition: 0.28s;
  overflow: hidden;
  color:hsl(0, 93%, 68%);
  font-size: 0.8em;
  /* font-style: italic; */
}
form > button{
  position: absolute;
  height:55px;
  border-radius:40px;
  width:20%;
  border:0;
  background: linear-gradient(135deg, hsl(62, 97%, 39%), hsl(0, 74%, 74%));
  right:-2px;
  top:-2px;
}
form > button:hover{
  cursor: pointer;
  box-shadow: 0px 10px 30px rgb(241, 224, 127);
}
.heading{
  font-size: 4em;
  text-transform: uppercase;
  letter-spacing: 12px;
  line-height: 1em;
}
.light{
  font-weight: 300;
  color: #c2ab72;
}
.dark{
  font-weight: 600;
  color:black;
}
.hero_img{
  width: 40%;
  display: block;
  background: url(../images/hero-desktop.jpg) no-repeat;
  background-size: cover;
  height: 100vh;
}
@media(max-width:850px){
  .logo {
    position: relative;
    width: 160px;      /* smaller logo in mobile */
    padding: 10px;
    display: block;
    left: 140px;          /* adjust this */
    top : 0px;
  }
  .logo img {
    width: 100%;
    height: auto;
    display: block;
  }
  .flexbox_container{
    display: flex;
    flex-direction: column-reverse;
  }
  .text{
    max-width:100%;
    padding:  10%;
    text-align: center;
    font-size: 16px;
    color: #c2ab72;
  }
  .hero_img{
    width: 100%;
    display: block;
    background: url(../images/hero-mobile.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    height: 66.67vw;
  }
  .heading{
    font-size: 3em;
    text-transform: uppercase;
    letter-spacing: 12px;
    line-height: 1em;
  }
}