/* resets */

*{padding:0;margin:0; box-sizing:border-box;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display: block}
object,embed,video{max-width:100%;height:auto}

address{font-style:normal;}

a{text-decoration:none}
a:focus,input,textarea{outline:0}

abbr{border-bottom: 1px dotted black}
del{color:red;text-decoration:line-through}
ins{border-bottom:1px solid green;color:green;text-decoration:none}
q{font-style:italic}
fieldset{border:0}

html{overflow-y:scroll;background:#eaedf1}
img{border:0;vertical-align:bottom;max-width:100%}
label{cursor:pointer}
ul{list-style:none}
table{border-collapse:collapse;border-spacing:0;margin-bottom:1em}

.no-transition-until-load * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

@keyframes pulse_animation {
	0% { transform: scale(1); }
	50% { transform: scale(1.1) translateY(-40px); }
	100% { transform: scale(1); }
}

/* reusable */
.clear{clear:both}
.left{float:left}
.right{float:right}
.text-left { text-align:left; }
.text-right { text-align:right; }
.text-center{ text-align:center; }
.hide{display:none}
.offscr{position:absolute;left:-9999px}

body{text-rendering:optimizeLegibility;-webkit-font-smoothing: antialiased;font-family:sans-serif;}

body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #eaedf1;
  height: 100vh;
  background:linear-gradient(160deg, #cfd8e3, #cfd8e3 60%, #eaedf1 60%, #eaedf1);
}

.login-container {
  width: 800px;
  height: 500px;
  background: #fff;
  border-radius: 5px;
  display: flex;
  overflow: hidden;
  box-shadow: 0px 0px 63px -24px rgba(0, 0, 0, 0.2);  
}

.login-container h1 {
  background-image: linear-gradient(-135deg,#dd3e74,#4158d0);
  background-size: 100% 100%;
  background-clip: text;
  text-fill-color: transparent;
  -webkit-background-clip: text;
  -moz-background-clip: text;
  -webkit-text-fill-color: transparent; 
  -moz-text-fill-color: transparent;  
  font: normal 60px/150px Amarillo;
  text-align: center;
  width: 100%;
}

.login-image {
  width: 45%;
  height: 100%;
  background: url(../img/login.jpg);
  overflow: hidden;
  background-position: 50% 50%;
  background-size: cover;
}

.login-form {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 60%;
  flex-direction: column;
}

.login-form form {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 350px;
}

.login-form button {
  max-width: 400px;
  width: 100%;
  font: normal 16px/16px "Source Sans";
  padding: 15px 10px;
  border-radius: 5px;
  border: 0;
  background-color: #dd3e74;
  color: #fff;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.5s ease;
}

.login-form button:hover {
  background-color: #bf285c
}

.login-input { 
  position: relative;
}

.login-input:before {
  content: "";
  position: absolute;
  top: 8px;
  left: 8px;
  font: bold 20px/24px "Font Awesome";
  color: #ddd;
  display: block;
  height: 24px;
  width: 24px;
  text-align: center;
  transition: color 0.5s ease;
}

.login-input.username:before { content: "" }
.login-input.password:before { content: "" }

.login-input label { display: none; }

.login-input input {
  width: 100%;
  max-width: 400px;
  font: 200 16px/16px "Source Sans";
  padding: 10px 8px;
  border-radius: 5px;
  border: 1px solid rgba(0,0,0,.1);
  margin-bottom: 20px;
  transition: border-color 0.5s ease;
  text-indent: 30px;
}

.copyright {
  margin-top: 10px;
  color: #333
}

.copyright a {
  color: #333;
  text-decoration: underline;
}

.login-input:has(input:focus):before {
  color: #dd3e74;
}

.login-input input:focus {
  border-color: #dd3e74;
}

love {
  color: #d01717;  
  font-family: "Font Awesome";
  font-weight: bold;
}
love:before {
  content: "\f004"
}

@media (max-width: 820px) {

  .login-image { display: none; }
  .login-container { width: 95%; height: auto; padding-bottom: 30px; padding-top: 20px; justify-content: space-around; }
  .login-form { width: 98%; max-width: 500px; }

}