UNPKG

react-modal-login

Version:

A highly customizable react login modal with social buttons

526 lines (504 loc) 12.5 kB
.RML-btn, .RML-social-login-button, .RML-facebook-login-button, .RML-google-login-button { display: inline-block; margin-bottom: 0; font-weight: normal; text-align: center; vertical-align: middle; touch-action: manipulation; cursor: pointer; background-image: none; border: 1px solid transparent; white-space: nowrap; padding: 6px 12px; font-size: 14px; line-height: 1.428571429; border-radius: 4px; -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* Safari */ -khtml-user-select: none; /* Konqueror HTML */ -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* Internet Explorer/Edge */ user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */ } .RML-btn:focus, .RML-social-login-button:focus, .RML-facebook-login-button:focus, .RML-google-login-button:focus, .RML-btn.focus, .focus.RML-social-login-button, .focus.RML-facebook-login-button, .focus.RML-google-login-button, .RML-btn:active:focus, .RML-btn:active.focus, .RML-btn.active:focus, .RML-btn.active.focus { outline: none; } .RML-btn:hover, .RML-social-login-button:hover, .RML-facebook-login-button:hover, .RML-google-login-button:hover, .RML-btn:focus, .RML-social-login-button:focus, .RML-facebook-login-button:focus, .RML-google-login-button:focus, .RML-btn.focus, .focus.RML-social-login-button, .focus.RML-facebook-login-button, .focus.RML-google-login-button { color: #333; text-decoration: none; outline: none; } .RML-btn:active, .RML-social-login-button:active, .RML-facebook-login-button:active, .RML-google-login-button:active, .RML-btn.active, .active.RML-social-login-button, .active.RML-facebook-login-button, .active.RML-google-login-button { outline: none; background-image: none; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .RML-btn.disabled, .disabled.RML-social-login-button, .disabled.RML-facebook-login-button, .disabled.RML-google-login-button, .RML-btn[disabled], [disabled].RML-social-login-button, [disabled].RML-facebook-login-button, [disabled].RML-google-login-button, fieldset[disabled] .RML-btn, fieldset[disabled] .RML-social-login-button, fieldset[disabled] .RML-facebook-login-button, fieldset[disabled] .RML-google-login-button { cursor: not-allowed; opacity: 0.65; filter: alpha(opacity=0.65); -webkit-box-shadow: none; box-shadow: none; } .RML-btn a.disabled, .RML-social-login-button a.disabled, .RML-facebook-login-button a.disabled, .RML-google-login-button a.disabled, fieldset[disabled] .RML-btn a, fieldset[disabled] .RML-social-login-button a, fieldset[disabled] .RML-facebook-login-button a, fieldset[disabled] .RML-google-login-button a { pointer-events: none; } .RML-login-modal-wrap { position: fixed; width: 100%; height: 100%; z-index: 10; top: 0; } @-webkit-keyframes login-form-fade-in { 0% { opacity: 0; } 75% { opacity: 0; } 100% { opacity: 1; } } @-moz-keyframes login-form-fade-in { 0% { opacity: 0; } 75% { opacity: 0; } 100% { opacity: 1; } } @-ms-keyframes login-form-fade-in { 0% { opacity: 0; } 75% { opacity: 0; } 100% { opacity: 1; } } @keyframes login-form-fade-in { 0% { opacity: 0; } 75% { opacity: 0; } 100% { opacity: 1; } } @-webkit-keyframes fade-in { 0% { opacity: 0; } 75% { opacity: 0; } 100% { opacity: 1; } } @-moz-keyframes fade-in { 0% { opacity: 0; } 75% { opacity: 0; } 100% { opacity: 1; } } @-ms-keyframes fade-in { 0% { opacity: 0; } 75% { opacity: 0; } 100% { opacity: 1; } } @keyframes fade-in { 0% { opacity: 0; } 75% { opacity: 0; } 100% { opacity: 1; } } .RML-form-group { margin-bottom: 15px; } .RML-form-group label { font-size: 14px; } .RML-form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; box-sizing: border-box; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; -moz-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; -ms-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } .RML-login-modal-overlay { position: fixed; width: 100%; height: 100%; z-index: 1; background-color: #31465d; opacity: 0.6; left: 0; } .RML-login-modal-box { font-family: "Arial"; position: fixed; width: 400px; max-width: calc(100% - 40px); max-height: calc(100% - 30px); background-color: white; border: 1px solid #547da1; z-index: 2; -webkit-box-shadow: 0 0px 6px #15030A; -moz-box-shadow: 0 0px 6px #15030A; box-shadow: 0 0px 6px #15030A; border-radius: 4px; left: 50%; transform: translateX(-50%) translateY(-50%); top: 50%; -webkit-animation: enlarge-box 0.9s forwards; -moz-animation: enlarge-box 0.9s forwards; animation: enlarge-box 0.9s forwards; } .RML-login-modal-box .RML-login-modal-form { opacity: 1; -webkit-animation: login-form-fade-in 2s forwards; -moz-animation: login-form-fade-in 2s forwards; animation: login-form-fade-in 2s forwards; } .RML-login-modal-box .RML-login-modal-form button { -webkit-transition: background-color 0.5s; -moz-transition: background-color 0.5s; -ms-transition: background-color 0.5s; -o-transition: background-color 0.5s; transition: background-color 0.5s; float: right; } @-webkit-keyframes enlarge-box { from { width: 1px; max-height: 1px; } to { width: 400px; max-height: calc(100% - 30px); } } @-moz-keyframes enlarge-box { from { width: 1px; max-height: 1px; } to { width: 400px; max-height: calc(100% - 30px); } } @-ms-keyframes enlarge-box { from { width: 1px; max-height: 1px; } to { width: 400px; max-height: calc(100% - 30px); } } @keyframes enlarge-box { from { width: 1px; max-height: 1px; } to { width: 400px; max-height: calc(100% - 30px); } } .RML-login-modal-error { display: inline-block; padding-right: 5px; color: #7A3B56; font-size: 14px; width: 100%; font-weight: bold; margin-bottom: 15px; } .RML-login-modal-indicator { float: right; margin-top: 5px; margin-right: 10px; } .RML-recover-password-anchor { -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -ms-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; font-size: 14px; color: #547da1; cursor: pointer; text-transform: capitalize; font-weight: bold; } .RML-recover-password-anchor:hover, .RML-recover-password-anchor:active, .RML-recover-password-anchor:focus { color: #b6c0c5; } .RML-recover-password-success-label { font-size: 14px; margin-bottom: 15px; color: #547da1; display: block; font-weight: bold; } .RML-login-modal-close { position: absolute; right: 0; z-index: 1; color: white; border-radius: 0 2px 0 4px; background-color: #547da1; width: 24px; text-align: center; height: 24px; cursor: pointer; -webkit-transition: background-color 0.5s; -moz-transition: background-color 0.5s; -ms-transition: background-color 0.5s; -o-transition: background-color 0.5s; transition: background-color 0.5s; } .RML-login-modal-close:hover { background-color: #31465d; } .RML-login-modal-close svg { width: 12px; height: 100%; position: relative; left: 1px; } .RML-login-modal-mode > div { -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* Safari */ -khtml-user-select: none; /* Konqueror HTML */ -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* Internet Explorer/Edge */ user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */ display: inline-block; width: 50%; background-color: rgba(84, 125, 161, 0.4); padding: 12px 0; color: #31465d; font-weight: 100; font-size: 16px; text-align: center; border-bottom: 1px solid #b6c0c5; cursor: pointer; box-sizing: border-box; vertical-align: top; -webkit-transition: background-color 0.5s; -moz-transition: background-color 0.5s; -ms-transition: background-color 0.5s; -o-transition: background-color 0.5s; transition: background-color 0.5s; } .RML-login-modal-mode > div:hover:not(.disabled) { background-color: rgba(84, 125, 161, 0.2); } .RML-login-modal-mode > div.active { background-color: rgba(84, 125, 161, 0.2); cursor: default; } .RML-login-modal-mode > div.disabled { cursor: not-allowed; } .RML-login-modal-mode > div:first-child { border-radius: 4px 0 0 0; } .RML-login-modal-mode > div:nth-child(2) { border-radius: 0 4px 0 0; border-left: 1px solid #b6c0c5; } .RML-social-modal-content-wrap { max-height: calc(100vh - 79px); overflow-y: auto; padding: 25px 30px 30px 30px; } @media (max-width: 420px) { .RML-social-modal-content-wrap { padding: 20px 15px 20px 15px; } } .RML-login-modal-box-content { -webkit-animation: fade-in 1.2s forwards; -moz-animation: fade-in 1.2s forwards; animation: fade-in 1.2s forwards; } .RML-google-login-button { background-color: #db4437; } .RML-google-login-button svg { padding: 0px; } .RML-google-login-button:hover { background-color: rgba(219, 68, 55, 0.8); } .RML-social-login-button, .RML-facebook-login-button, .RML-google-login-button { -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* Safari */ -khtml-user-select: none; /* Konqueror HTML */ -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* Internet Explorer/Edge */ user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */ width: 100%; color: white; display: block; border: none; padding: 8px 10px; text-align: left; -webkit-transition: background-color 0.5s; -moz-transition: background-color 0.5s; -ms-transition: background-color 0.5s; -o-transition: background-color 0.5s; transition: background-color 0.5s; } .RML-social-login-button:hover, .RML-facebook-login-button:hover, .RML-google-login-button:hover, .RML-social-login-button:focus, .RML-facebook-login-button:focus, .RML-google-login-button:focus { color: white; } .RML-social-login-button svg, .RML-facebook-login-button svg, .RML-google-login-button svg { width: 22px; height: 22px; vertical-align: middle; background-color: white; border-radius: 3px; margin-right: 8px; } .RML-social-login-button:nth-child(n+2), .RML-facebook-login-button:nth-child(n+2), .RML-google-login-button:nth-child(n+2) { margin-top: 5px; } .RML-social-login-button span, .RML-facebook-login-button span, .RML-google-login-button span { vertical-align: middle; } .hidden { display: none !important; } .RML-facebook-login-button { background-color: #3b5998; } .RML-facebook-login-button:hover { background-color: rgba(59, 89, 152, 0.8); } .RML-social-methods-separator { text-align: center; font-size: 16px; color: #888; margin-top: 12px; margin-bottom: 12px; } .RML-login-modal-spinner { animation: rotator 1.4s linear infinite; overflow: hidden; } @keyframes rotator { 0% { transform: rotate(0deg); } 100% { transform: rotate(270deg); } } .RML-login-modal-spinner circle { stroke-dasharray: 187; stroke-dashoffset: 0; transform-origin: center; animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } @keyframes dash { 0% { stroke-dashoffset: 187; } 50% { stroke-dashoffset: 46.75; transform: rotate(135deg); } 100% { stroke-dashoffset: 187; transform: rotate(450deg); } } @keyframes colors { 0% { stroke: #4285F4; } 25% { stroke: #DE3E35; } 50% { stroke: #F7C223; } 75% { stroke: #1B9A59; } 100% { stroke: #4285F4; } } .RML-login-modal-additional-wrap { margin-top: 10px; } /*# sourceMappingURL=react-modal-login.css.map */