/* БАЗОВЫЕ СТИЛИ */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

@font-face {
	font-family: 'RF Dewi Expanded';
	src: url('/assets/font/RFDewiExpanded-Light.otf');
}

@font-face {
	font-family: 'RF Dewi Regular';
	src: url('/assets/font/RFDewi-Regular.otf');
}

body {
	font-family: 'RF Dewi Expanded';
	min-height: 100vh;
	overflow: hidden;
	background-color: #FFFBFE;
}

/* ЗАГРУЗЧИК */
.loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
	opacity: 1;
	visibility: visible;
	animation: fadeOutLoader 0.6s ease 1s forwards;
}

/* КОНТЕЙНЕР ИКОНКИ */
.icon-container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100px;
	height: 100px;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ОБЩИЕ СТИЛИ ГРАНИЦ */
.pulse-border {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	border-style: solid;
}

/* МЕДЛЕННЫЕ ГРАНИЦЫ (2 секунды) */
.pulse-slow {
	width: 100px;
	height: 100px;
	border: 4px solid rgba(103, 79, 163);
	animation: borderPulseSlow 3s linear infinite;
	
}

/* БЫСТРЫЕ ГРАНИЦЫ (1 секунда) */
.pulse-fast {
	width: 100px;
	height: 100px;
	border: 4px solid rgba(103, 79, 163);
	animation: borderPulseFast 3s linear infinite;
	animation-delay: 1s;
}

/* АНИМАЦИИ ГРАНИЦ */
@keyframes borderPulseSlow {
	0% {
		width: 100px;
		height: 100px;
		opacity: 1;
	}
	100% {
		width: 240px;
		height: 240px;
		opacity: 0;
	}
}

@keyframes borderPulseFast {
	0% {
		width: 100px;
		height: 100px;
		opacity: 1;
	}
	100% {
		width: 240px;
		height: 240px;
		opacity: 0;
	}
}

/* ИСЧЕЗНОВЕНИЕ ЗАГРУЗЧИКА */
@keyframes fadeOutLoader {
	0% {
		opacity: 1;
		visibility: visible;
	}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}

/* КОНТЕНТ */
main {
	position: fixed;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	display: grid;
	padding: 15px;
	z-index: 900;
	animation: showContent 0.8s ease 2s forwards;
}

/* СТИЛИ ЛОГОТИПА*/
.logo{
    display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: center;
}

h1 {
	color: #6750A4;
	font-size: 1.8rem;
	margin-top: 24px;
	margin-bottom: 24px;
}

.form{
    width: 85%;
    .form-control:focus{
        border-color: #6750A4;
        box-shadow: 0 0 0 0.25rem #6750A4
    }
}

.buttons{
    display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: center;
	.btn{
		background-color: #6750A4;
		border: none;
	}
	.btn:hover{
	    background-color: #EADDFF;
	}
}

.alt_login{
    .buttons{
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		.social-btn{
			padding: 3%;
		}
	}
}

a{
	font-weight: 700;
	color: #6750A4;
	text-decoration: none;
}

/* АНИМАЦИИ КОНТЕНТА */
@keyframes showContent {
	0% {
		opacity: 0;
		visibility: hidden;
	}
	100% {
		opacity: 1;
		visibility: visible;
	}
}

@keyframes slideUpFadeIn {
	0% {
		transform: translateY(20px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

.divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 24px 0 6px 0;
    color: #79747E;
    font-size: 14px;
}

.divider::before,
.divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #79747E;
}

.divider::before {
    margin-right: 16px;
}

.divider::after {
    margin-left: 16px;
}