@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500&family=Recursive:wght@300;500&display=swap');

:root {
	/* Colors: */
	--white: #FFFFFF;
	--pale-grey: #E5E5E5;
	--grey: #B4B4B4;
	--sand: #F1E8D6;
	--blue: #98ACFE;
	--cobalt: #3259FE;
	--pink: #F695A7;
	--coral: #FF1C4D;
	--midnight: #05103C;
	--unnamed-color-2b2b2b: #2B2B2B;

	/* Typography */
	--font-family-sans : 'Poppins', sans-serif;
	--font-family-mono : 'Recursive', sans-serif;

	--base-font-size : 18px;
	--base-line-height: 1.3;


}

html > body, html {
	font-size: var(--base-font-size);
	line-height: var(--base-line-height);
}

body {
    background:linear-gradient(-45deg, #914aa5, #3259FE, #E93C53, #e63d57) 400% 400%; animation: gradient 15s ease infinite;
    background-position: 0px 0px;
    background-size: 400% 400%;

	font-size: var(--base-font-size);
	line-height: var(--base-line-height);
}

form.panel,
form.panel .panel-body,
form.panel .panel-footer,
form.panel .panel-well {
    background-color: var(--white);
    box-sizing: border-box;
}

form.panel > * {
}

p:not(.ta-center) {
    color: var(--cobalt);
    font-size: 1.1rem;
}

p:not(.ta-center) strong {
    font-weight: 500;
}

form.panel .panel-well .form-group {
    border: solid var(--pale-grey) 1px;
    border-radius: 3rem;
    margin: 1rem auto 1rem;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
    justify-content: space-between;
    font-weight: 300;
    transition: all 150ms ease;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
}

.form-horizontal.panel .panel-well .form-group label.control-label {
    font-size: 0.8rem;
    padding-top: 0;
    float: none;
    font-weight: inherit;
    padding-left: 1.5rem;
    text-align: left;
    color: inherit;
}

form.panel .panel-well .form-group .col-sm-8, form.panel .panel-well .form-group .col-sm-4 {
    float: none;
    padding-left: 0;
    padding-right: 0;
}

form.panel .panel-well
 .form-group:focus-within {
    color: var(--cobalt);
    border-color: var(--cobalt);
}

form.panel .panel-well .form-group.has-error {
    color: var(--coral);
    border-color: var(--coral);
}

form.panel .form-control {
    border-color: transparent;
    /* background-color: #e5e5e582; */
    border-radius: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.8rem;
    height: auto;
    padding-left: 0;
    transition: all 250ms ease;
}

span.help-block {
    font-size: 0.75rem;
}

form.panel {
    border: 0;
    padding: 2rem;
    border-radius: 2rem;
    box-shadow: 10px 10px 10px rgb(0 0 0 / 14%);
}

body .panel .panel-well {
    border: 0 solid transparent;
    margin: 0 auto;
}

form.panel .panel-footer {
    border-color: transparent;
}

label.col-sm-4.control-label {}

form.panel.panel-default > .panel-heading {
    padding: 0;
    border: 0;
    background-color: transparent;
}

.panel-heading h3.panel-title {
    display: block;
    width: 100%;
    text-align: center;
    font-weight: 500;
    font-family: var(--font-family-sans);
    font-size: 1.3rem;
    margin-top: 0.5rem;
    margin-bottom: 0.75rem;
}

.panel-toolbar.text-right {
    display: block;
    width: 100%;
    height: auto;
    font-size: 0.8rem;
    font-weight: 300;
}

form.panel .panel-body {
    padding: 0;
}

form.panel .panel-well .form-group:focus-within .form-control {
    background-color: #3259fe0f;
}

form.panel select.form-control {
    padding-right: 1rem;
}


form.panel .control-label[for*="country"] ~ .col-sm-4 {
    padding-right: 1.5rem !important;
    overflow: auto;
}


form.panel .ta-center {
    font-size: 0.8rem;
    font-weight: 300;
}


form.panel .btn,
input.btn.btn-default  {
    font-size: 1rem;
    padding: 0.65em 1.2rem;
    border-radius: 3rem;
    font-weight: 300;
    line-height: 1rem;
    transition: all 250ms ease;
}
.btn.btn-default[value="Log In"] {
	width: 100%;
	margin-top: 1rem;
	margin-bottom: 1rem;
	box-shadow: 10px 10px 10px rgb(0 0 0 / 14%);
}

form.panel .panel-footer {
    padding-left: 0;
    padding-right: 0;
}


form.panel .btn.btn-primary,
input.btn.btn-default {
    color: var(--white);
    background-color: var(--cobalt);
    border-color: var(--cobalt);
    min-width: 10rem;
}


form.panel .btn.btn-default {
    background-color: transparent;
    border-color: var(--pale-grey);
    font-size: 0.8rem;
    line-height: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}


form.panel a:not(.btn) {
    color: var(--cobalt);
}


form.panel .btn.btn-primary:hover,
input.btn.btn-default:hover {
    background-color: var(--midnight);
    border-color: var(--midnight);
}


form.panel .btn.btn-default:hover {border-color: var(--grey);}

.panel .panel-well .form-group:hover {
    border-color: var(--cobalt);
}


@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

a {
    color: white;
}


p.nm.text-muted {
    color: white !important;
    opacity: 0.5;
    font-size: 0.8rem;
}

.form-group.input-group {
	border-radius: 25px;
	overflow: hidden;
	box-shadow: 10px 10px 10px rgb(0 0 0 / 14%);
	background-color: white;
	border: 1px solid var(--pale-grey);

}

.form-group.input-group input.form-control {
    border-color: transparent;
    /* background-color: #e5e5e582; */
    border-radius: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem;
    font-size: 0.8rem;
    height: auto;
    transition: all 250ms ease;
    border-width: 0;
    min-height: 45px;
}

.form-group.input-group span.input-group-addon {
	background-color: white;
	color: var(--cobalt);
	border-width: 0;
}


.form-group.input-group:focus-within {
	border-color: var(--cobalt);
}


.form-group.input-group:focus-within input {
	background-color: #3259fe0f;
}

.row.top-buffer {
    margin-top: 40px !important;
}
