html {
    font-size: 62.5%;
}
body {
    min-height: 100%;
    margin: 0 0;
    font-size: 1.6rem;
}

/* Forms
---------------------------------- */
input[type="text"],
input[type="number"],
input[type="password"],
input[type="tel"],
select,
textarea {
    box-sizing: border-box;
    padding: .7rem 1rem;
    border-radius: .3rem;
    border: .1rem solid #B9B9B9;
}

/* Homepage
---------------------------------- */

#content-wrapper-home {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    background-color: #000000;
    background-image: url(/assets/ims/pillow-talk-home.jpg);
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: top left;
}

#home-logged {
    position: relative;
    margin-top: 4rem;
    margin-right: 5rem;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
}

#home-logged a:link {
    color: #FFFFFF;
}

#home-logged a:visited {
    color: #FFFFFF;
}

#home-logged a:hover {

}

#home-logged a:active {

}

#home-mid {
    position: absolute;
    top: 40%;
    bottom: 50%;
    right: 15rem;
}

#home-mid .hd1 {
    text-align: right;
    font-size: 5rem;
    color: #FFFFFF;
}

#home-mid .ttl-home {
    text-align: right;
    font-size: 11rem;
    color: red;
}

#social-home {
    position: absolute;
    bottom: 5rem;
    right: 15rem;
    color: #FFFFFF;
}

#social-home i {
    margin-left: 4rem;
    font-size: 5rem;
}


/* Log in
---------------------------------- */
#login-wrapper {
    position: relative;
    margin-top: 4rem;
    margin-right: 5rem;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
}

#login-wrapper .btn {
    margin-left: 3rem;
    padding: 1rem 3rem 1rem 3rem;    
    border: 0;
    border-radius: 2.8rem;
    font-family: Arial;
    font-size: 2rem;
    color: #ffffff;
    text-decoration: none;
    background-image: linear-gradient(to bottom, #7b7b7b, #212525);
}

#login-wrapper .btn:hover {
    cursor: pointer;
    background-image: linear-gradient(to bottom, #8b8b8b, #313535);
}

#login-frm {
    position: absolute;
    overflow: auto;
    visibility: hidden;
    opacity: 0;
    top: calc(100% + 2rem);
    min-width: 14rem;
    padding-top: .5rem;
    padding-right: 2rem;
    padding-bottom: 1rem;
    padding-left: 2rem;
    transform: translateY(-1em);
    z-index: -1;
    transition: all 0.3s ease-out 0s;
    border-radius: .5rem;
    background-color: #FFFFFF;
}

#login-frm.active {
    visibility: visible;
    opacity: 1;
    z-index: 1;
    transform: translateY(0%);
    transition-delay: 0s, 0s, 0.3s;
}

#login-frm button {
    box-sizing: border-box;
    padding: .5rem 1rem;
    border-radius: .3rem;
    border: 1px solid #317EEB;
    background-image: linear-gradient(to bottom,#7b7b7b,#212525);
    font-size: 1.5rem;
    color: #FFFFFF;
}

#login-frm button:hover {
    cursor: pointer;
}

#pwd-forgot-tgl:hover {
    cursor: pointer;
    text-decoration: underline;
}

/* Forgot password
---------------------------------- */

#forgot-frm {
    position: absolute;
    overflow: auto;
    visibility: hidden;
    opacity: 0;
    top: calc(100% + 2rem);
    min-width: 14rem;
    padding-top: .5rem;
    padding-right: 2rem;
    padding-bottom: 1rem;
    padding-left: 2rem;
    transform: translateY(-1em);
    z-index: -1;
    transition: all 0.3s ease-out 0s;
    border-radius: .5rem;
    background-color: #FFFFFF;
}

#forgot-frm.active {
    visibility: visible;
    opacity: 1;
    z-index: 1;
    transform: translateY(0%);
    transition-delay: 0s, 0s, 0.3s;
}

#forgot-frm button {
    box-sizing: border-box;
    padding: .5rem 1rem;
    border-radius: .3rem;
    border: 1px solid #317EEB;
    background-image: linear-gradient(to bottom,#7b7b7b,#212525);
    font-size: 1.5rem;
    color: #FFFFFF;
}

/* Reset password
---------------------------------- */

#pwd-reset-frm {
    position: absolute;
    width: 25rem;
    top: 20%;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 5rem;
    border-radius: .3rem;
    background-color: #FFFFFF;
    z-index: 1;
}

#pwd-reset-frm input {
    display: block;
    width: 100%;
    margin-bottom: 3rem;
}

#pwd-reset-frm button {
    width: 100%;
    box-sizing: border-box;
    padding: .5rem 1rem;
    border-radius: .3rem;
    border: 0;
    background-image: linear-gradient(to bottom,#7b7b7b,#212525);
    font-size: 1.5rem;
    color: #fff;
}

#pwd-reset-msg {
    margin-bottom: 1rem;
}

#pwd-success-msg {
    font-size: 1.7rem;
    text-align: center;
}

#pwd-success-msg a:link {
    text-decoration: underline;
    font-size: 1.7rem;
    color: #000000;

}

#pwd-success-msg a:visited {
    text-decoration: underline;
    font-size: 1.7rem;
    color: #000000;
}

#pwd-success-msg a:hover {
    text-decoration: none;
}

#pwd-success-msg a:active {
    text-decoration: none;
}

#pwd-reset-invalid {
    width: 30rem;
    position: absolute;
    top: 20%;
    bottom: 80%;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    color: red;
    font-size: 3rem;
    z-index: 1;
}


/* Popup
---------------------------------- */
#win-overlay {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 110;
}

#popwin {
    position: absolute;
    width: 80%;
    max-width: 100rem;
    min-height: 5rem;
    margin: 0 auto;
    right: 0;
    left: 0;
    background-color: #FFFFFF;
    border: 1px solid #CECECE;
    border-radius: .3rem;
    z-index: 120;
    box-shadow: 3px 3px 7px rgba(50, 50, 50, .3);
}

#popwin-close {
    position: absolute;
    top: .7rem;
    right: .7rem;
    font-size: 1.8rem;
    color: #777777;
}

#popwin-close:hover {
    color: #000000;
    cursor: pointer;
}

/* Form validation
---------------------------------- */

.warn-field {
    border: .1rem solid #D60030 !important;
}

.warn-txt {
    color: #D60030;
}

/* Sign Up
---------------------------------- */
.popup-signup {
    max-width: 50rem !important;
}

#signup-frm {
    width: 80%;
    margin-top: 4rem;
    margin-right: auto;
    margin-bottom: 6rem;
    margin-left: auto;
    max-width: 30rem;
}

#signup-frm input {
    display: block;
    width: 30rem;
    margin-bottom: 3rem;
}

#signup-frm button {
    width: 30rem;
    box-sizing: border-box;
    padding: .5rem 1rem;
    border-radius: .3rem;
    border: 0;
    background-image: linear-gradient(to bottom,#7b7b7b,#212525);
    font-size: 1.5rem;
    color: #FFFFFF;
}

#signup-frm button:hover {
    cursor: pointer;
}