@font-face {
	font-family: Modernline;
	src: url(../webfonts/modernline.otf);
}
@font-face {
	font-family: Montserrat-Light;
	src: url(../webfonts/Montserrat-Light.ttf);
}
@font-face {
	font-family: Montserrat-Medium;
	src: url(../webfonts/Montserrat-Medium.ttf);
}
@font-face {
	font-family: Karla;
	src: url(../webfonts/Karla.ttf);
}
:root {
	--swiper-navigation-size: 1.5rem;
	--swiper-theme-color: rgba(255,255,255,1);
}
html, body {
	width: 100%;
	height: 100%;
	font-size: 10px;
}
@media screen and (max-width: 999px) {
	.container > .login-box-left {
		left: 50%;
		transform: translateX(-50%);
		width: 80%;
	}
	
	.container > .login-box-right {
		display: none;
	}
	header > .container > .menu > ul > li.btn-download,
	header > .container > .menu > ul > li.btn-fav {
		display: none;
	}
	   
	.container > main > .image-container > .row {
		display: block;
	}
	.container > main > .image-container > .row > a.spark-link {
		display: block;
		text-align: center;
	}
	.container > main > .image-container > .mb-4 {
		margin: 0 !important;
	}
	.container > main > .image-container > .row > .col {
		margin: 0;
		display: flex;
		justify-content: center;
		margin-bottom: .4rem;
	}
	.container > main > .image-container > .row > .col > label {
		display: none;
	}
	.container > main > .image-container > .row > .col > .top-overlay,
	.container > main > .image-container > .row > .col > .bottom-overlay {
		display: none;
	}

	.container > main > .image-container > .row > .col > img {
		width: 20rem;
	}
	.container > main > .image-container > .row > .col > input.checkbox-fav:checked ~ .bottom-overlay,
	.container > main > .image-container > .row > .col > input.checkbox-lock:checked ~ .bottom-overlay,
	.container > main > .image-container > .row > .col:hover > .bottom-overlay,
	.container > main > .image-container > .row > .col:hover > .top-overlay {
		display: none;
	}
	.container > main > .image-container > .row > .col:hover > label.label-fav::before,
	.container > main > .image-container > .row > .col:hover > label.label-lock::before,
	.container > main > .image-container > .row > .col:hover > a.image-download {
		display: none;
	}
	.modal.gallery > .modal-dialog > .modal-content > .modal-body > button {
		height: 7rem;
	}

	.modal.gallery > .modal-dialog > .modal-content > .modal-body > button > img {
		height: 7rem;
	}
	.modal.gallery > .modal-dialog > .modal-content > .modal-body > button.prev-img {
		left: -1%;
	}
	.modal.gallery > .modal-dialog > .modal-content > .modal-body > button.next-img {
		right: -1%;
	}
	.modal.tutorial > .vert-center,
	.modal.music > .vert-center {
		margin: 0 auto;
	}
	.modal.tutorial > .modal-dialog > .modal-content > .modal-body > .video-js > .vjs-big-play-button,
	.modal.music > .modal-dialog > .modal-content > .modal-body > .video-js > .vjs-big-play-button {
		font-size: 2rem;
	}
	.container > main > .video-container > .video-js > .vjs-big-play-button {
		font-size: 5rem;
	}
  }
@media screen and (min-width: 1000px) {
	.container > .login-box-left {
		left: calc(10% + 1rem);
		width: 40%;
	}
	.container > main > .image-container > .row > .col {
		margin-right: 3rem;
	}
	.container > main > .image-container > .row > .col > input.checkbox-fav:checked ~ .bottom-overlay,
	.container > main > .image-container > .row > .col > input.checkbox-lock:checked ~ .bottom-overlay,
	.container > main > .image-container > .row > .col:hover > .bottom-overlay,
	.container > main > .image-container > .row > .col:hover > .top-overlay {
		display: block;
	}
	.container > main > .image-container > .row > .col:hover > label.label-fav::before,
	.container > main > .image-container > .row > .col:hover > label.label-lock::before,
	.container > main > .image-container > .row > .col:hover > a.image-download {
		display: inline-block;
	}
	.container > main > .image-container > .row > a.spark-link {
		display: flex;
		align-items: center;
	}
	.modal.gallery > .modal-dialog > .modal-content > .modal-body > button {
		height: 13rem;
	}
	.modal.gallery > .modal-dialog > .modal-content > .modal-body > button > img {
		height: 13rem;
	}
	.modal.gallery > .modal-dialog > .modal-content > .modal-body > button.prev-img {
		left: 1%;
	}
	.modal.gallery > .modal-dialog > .modal-content > .modal-body > button.next-img {
		right: 1%;
	}
	.modal.tutorial > .modal-dialog > .modal-content > .modal-body > .video-js > .vjs-big-play-button,
	.modal.music > .modal-dialog > .modal-content > .modal-body > .video-js > .vjs-big-play-button,
	.container > main > .video-container > .video-js > .vjs-big-play-button {
		font-size: 5rem;
	}
  }


.container {
	position: relative;
}
.vert-center {
	height: 100%;
	display: flex;
	align-items: center;
}

.modal.tutorial > .vert-center,
.modal.music > .vert-center {
	width: 70%;
	max-width: 70%;
}
/*
	MENU
*/
header { 
	padding: 1rem 0;
	font-size: 2rem;
	background: rgba(207, 190, 170, 1);
	box-shadow: 0px 5px 10px 2px rgba(0, 0, 0, 0.15);
}
header > .navbar {
	display: flex;
	justify-content: space-between;
}
header > .navbar > .logo > a {
	height: 5rem;
	padding: 1rem;
	display: block;
}

header > .navbar > .logo > a > img {
	height: 100%;
}

header > .navbar > .menu > ul {
    list-style: none;
    display: flex;
	flex-direction: row-reverse;
	align-items: center;
    margin: 0;
    padding: 0;
}

header > .navbar > .menu > ul > li {
	display: block;
	list-style: none;
	color: rgba(255, 255, 255, 1);
	position: relative;
	padding: 1rem;
	margin: 0 1rem;
	z-index: 2;
	cursor: pointer;
}
header > .navbar > .menu > ul > li > a {
	color: rgba(255, 255, 255, 1);
}
header > .navbar > .menu > ul > li > ul {
	list-style: none;
	visibility: hidden;
	position: absolute;
	border-radius: 0 0 .5rem .5rem;
	right: 0;
    margin: 0;
    padding: 2.5rem 0 0 0;
	z-index: 3;
	transform: translateY(-2em);
	transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.1s, z-index 0s linear 0.01s;
}
header > .navbar > .menu > ul > li > ul > li:not(:last-child){
	border-bottom: .1rem solid rgba(255,255,255,.4);
}
header > .navbar > .menu > ul > li > ul > li > a,
header > .navbar > .menu > ul > li > ul > li > ul,
header > .navbar > .menu > ul > li > ul > li .btn-menu {
	display: flex;
	align-items: center;
	background-color: transparent;
	width: 100%;
	color: rgba(255,255,255,1);
	box-shadow: none;
	border: none;
	text-align: left;
	padding: 1rem 2rem;
	font-family: "Montserrat-Light";
	font-size: 1.4rem;
}
header > .navbar > .menu > ul > li > ul > li .btn-menu i,
header > .navbar > .menu > ul > li > ul > li > ul i {
	margin-right: .8rem;
}
header > .navbar > .menu > ul > li.open > ul,
header > .navbar > .menu > ul > li:hover > ul {
	visibility: visible;
	background-color: rgba(207, 190, 170, 1);
	transform: translateY(0%);
	transition-delay: 0s, 0s, 0.3s;
}
header > .navbar > .menu > ul > li > ul > li > a {
    color: rgba(255, 255, 255, 1);
	text-decoration: none;
}
header > .navbar > .menu > ul > li > ul > li {
	position: relative;
}
header > .navbar > .menu > ul >li > ul > li > ul > li {
	list-style: none;
	position: relative;
	display: flex;
	justify-content: center;
	margin-left: 2rem;
}
header > .navbar > .menu > ul >li > ul > li > ul > li > input[type=checkbox] {
	display: none;
}
header > .navbar > .menu > ul >li > ul > li > ul {
	flex-direction: column;
	align-items: unset;
}
header > .navbar > .menu > ul >li > ul > li > ul > p {
	margin: unset;
}
header > .navbar > .menu > ul >li > ul > li > ul > li > label {
	width: 2rem;
}
header > .navbar > .menu > ul >li > ul > li > ul > li > input[type=checkbox] ~ label::before {
	position: absolute;
	top: 0%;
	font-family: "Font Awesome 6 Pro";
	font-size: 1.4rem;
	cursor: pointer;
}
header > .navbar > .menu > ul >li > ul > li > ul > li > input.toggle-status ~ label.label-status::before {
	left: 0%;
	content: "\f070";
}
header > .navbar > .menu > ul >li > ul > li > ul > li > input.toggle-status:checked ~ label.label-status::before {
	content: "\f06e";
}
header > .navbar > .menu > ul >li > ul > li > ul > li > a {
	margin: 0 1rem;
	color: rgba(255, 255, 255, 1);
}
header > .navbar > .menu > ul >li > ul > li > ul > li > button{
	background-color: transparent;
	font-size: 1.4rem;
	box-shadow: none;
	border: none;
	text-align: center;
	color: rgba(214, 69, 65, 1);
}
header > .navbar > .menu > ul >li > ul > li > ul > li > button > i {
	margin: unset;
}

/*
	LOGIN
*/
body > main {
	height: 100%;
	background-image: url("../resources/img/header.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

body > main > .navbar {
	position: absolute;
	inset: 0 0 auto;
	z-index: 2;
	padding: 3.2rem 6vw;
}

.container > .login-box {
	position: absolute;
	border-radius: .5rem;
}
.container > .login-box-left {
	background-color: #fff;
	box-shadow: 2px 0px 3px 2px rgba(0, 0, 0, 0.2);
	
	padding: 2.5rem 4rem;
	z-index: 2;
}
.container > .login-box-left > span,.container > .login-box-left > h2 {
	display: block;
	text-align: center;
}
.container > .login-box-left > span {
	font-family: "Modernline";
	font-size: 2.5rem;
	color: rgba(207, 190, 170, 1);
}
.container > .login-box-left > h2 {
	position: relative;
	font-family: "Montserrat-Light";
	font-size: 1.8rem;
	top: -.4rem;
	margin-bottom: 2.5rem;
}
.container > .login-box-left > form > .username-error-text > p.error-text,
.container > .login-box-left > form > .passwort-error-text > p.error-text,
.container > .login-box-left > form > .login-error-text > p.error-text {
	margin-left: 1rem;
	font-family: "Montserrat-Light";
	font-size: 1.2rem;
	color: red;
}
.container > .login-box-left > form > .username-error-text > p.error-text > i,
.container > .login-box-left > form > .passwort-error-text > p.error-text > i,
.container > .login-box-left > form > .login-error-text > p.error-text > i {
	margin-right: 1rem;
}
.container > .login-box-left > form > .form-floating {
	border-left: 3px solid rgba(207, 190, 170, 1);
	border-radius: .25rem;
	box-shadow: 2px 0px 3px 2px rgba(0, 0, 0, 0.2);
}
.container > .login-box-left > form > .form-floating i {
	color: rgba(0, 0, 0, 0.7)
}
.container > .login-box-left > form > .form-floating > label {
	left: 2.5rem;
	z-index: 3;
	font-family: "Montserrat-Medium";
}
.container > .login-box-left > form > .form-floating > .input-group-text {
	background-color: #fff;
	border-color: #fff;
}
.container > .login-box-left > form > .form-floating > .input-group-text:after {
	content: "";
	color:black;
	border-right:1px solid black;
	font-size: 10px;
}
.container > .login-box-left > form > .form-floating > .form-control {
	border-color: #fff;
}
.container > .login-box-left > form > .form-floating > input:focus,
.container > .login-box-left > form > .form-floating > button:focus {
	box-shadow: none;
}
.container > .login-box-left > form > .form-floating > input#inputMail {
	border-top-right-radius: .25rem;
	border-bottom-right-radius: .25rem;
}
.container > .login-box-left > form > .form-floating > button#button_pwd {
	background-color: #fff;
	border-top-right-radius: .25rem;
	border-bottom-right-radius: .25rem;
}
.container > .login-box-left > form > button.btn {
	background-color: rgba(207, 190, 170, 1);
	border-color: rgba(207, 190, 170, 1);
	outline: none;
}
.container > .login-box-left > form > .form-check > .form-check-input {
	width: 1.5rem;
	height: 1.5rem;
	margin-right: .8rem;
	box-shadow: unset;
}
.container > .login-box-left > form > .form-check > .form-check-input:checked {
	background-color: rgba(207, 190, 170, 1);
	border-color: rgba(207, 190, 170, 1);
}
.container > .login-box-left > form > .form-check > .form-check-input:focus {
	border-color: rgba(0,0,0,.25)
}
.container > .login-box-left > form > .form-check > .form-check-label {
	font-size: 1.3rem;
	font-family: "Montserrat-Light";
}
.container > .login-box-left > form > button.btn:focus {
	box-shadow: none;
}
.container > .login-box-right {
	background-color: rgba(207, 190, 170, 1);
	width: 40%;
	padding: 2.5rem 4rem;
	z-index: 1;
	right: calc(10% + 1rem);
}
.container > .login-box-right .swiper-buttons {
	position: absolute;
	right: 1.7rem;
	top: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.container > .login-box-right > .swiper-buttons > .swiper-button-next, .login-box-right > .swiper-buttons > .swiper-button-prev {
	position: unset;
	margin: unset;
}

.container > .login-box-right > .swiper-buttons > .swiper-button-spacer {
	padding: 0 .5rem;
	width: .1rem;
	height: 2rem;
	box-sizing: content-box;
	background-clip: content-box;
	background-color: rgba(255,255,255,.8);
}
.container > .login-box-right .title {
	font-size: 1.5rem;
}
.container > .login-box-right .title span {
	display: block;
	width: 100%;
	font-family: "Modernline";
	font-size: 2.5rem;
	text-align: center;
	color: rgba(255,255,255,.8);
}
.container > .login-box-right .title h2 {
	position: relative;
	top: -.4rem;
	font-size: 1.8rem;
	text-align: center;
	font-family: "Montserrat-Light";
}
.container > .login-box-right > .swiper-container > .swiper-wrapper > .swiper-slide {
	position: relative;
}
.container > .login-box-right > .swiper-container > .swiper-wrapper > .swiper-slide > .user-rating-img {
	position: relative;
	margin-bottom: 1.5rem;
	text-align: center;
}
.container > .login-box-right > .swiper-container > .swiper-wrapper > .swiper-slide > .user-rating-img > img {
	width: 100%;
	border-radius: .35rem .35rem 0 0;
}
.container > .login-box-right > .swiper-container > .swiper-wrapper > .swiper-slide > .user-rating-img > .overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-image: linear-gradient(to top, rgba(207, 190, 170, 1) 0%, transparent 50%);
}
.container > .login-box-right > .swiper-container > .swiper-wrapper > .swiper-slide > .user-rating-content {
	display: flex;
}
.container > .login-box-right > .swiper-container > .swiper-wrapper > .swiper-slide > .user-rating-content > .user-rating-name {
	position: relative;
	writing-mode: sideways-lr;
}
.container > .login-box-right > .swiper-container > .swiper-wrapper > .swiper-slide > .user-rating-content > .user-rating-name::after {
	content: '';
	position: absolute;
	top: .5rem;
	bottom: .5rem;
	border-right: .1rem solid #FFF;
}
.container > .login-box-right > .swiper-container > .swiper-wrapper > .swiper-slide > .user-rating-content > .user-rating-name > p {
	font-family: "Montserrat-Light";
	color: #FFF;
	font-size: 1.2rem;
	letter-spacing: .15rem;
	text-transform: uppercase;
	margin: 0 .5rem 0 .5rem;
	padding-bottom: .5rem;
	cursor: default;
}
.container > .login-box-right > .swiper-container > .swiper-wrapper > .swiper-slide > .user-rating-content > .user-rating-text > p {
	font-family: "Montserrat-Light";
	font-size: 1.4rem;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 0 .8rem;
}

/*
	DASHBOARD
*/
.container > ul.nav {
	border-color: rgba(207, 190, 170, .4);
} 
.container > ul.nav > li.nav-item > button.nav-link {
	font-family: "Montserrat-Light";
	font-size: 1.3rem;
	color: rgba(0, 0, 0, 0.7);
	
} 
.container > ul.nav > li.nav-item > button.nav-link.active {
	border-color: rgba(207, 190, 170, .4);
	border-bottom-color: transparent;
}
.container > ul.nav > li.nav-item > button.nav-link:hover {
	border-bottom-color: transparent;
}

.tab-content {
	padding: .5rem 1rem;
	border: .1rem solid rgba(207, 190, 170, .4);
	border-top-color: transparent;
	border-bottom-left-radius: .25rem;
	border-bottom-right-radius: .25rem;
}
button.btn-create {
	position: relative;
	left: 100%;
	transform: translateX(-100%);
	background-color: rgba(207, 190, 170, .4);
	border-color: rgba(207, 190, 170, .1);
	font-family: "Montserrat-Light";
	color: rgba(102, 94, 84, 1);
	padding: .6rem 2rem;
	font-size: 1.2rem;
	box-shadow: 0px 1px 0px .5px rgba(0, 0, 0, 0.15);
}
button.btn-create:focus {
	outline: none !important;
	box-shadow: none;
	border-color: rgba(207, 190, 170, 1);
	background-color: rgba(207, 190, 170, 1);
}
button.btn-create:focus,
button.btn-create:active,
button.btn-create:hover,
button.btn-create:focus-visible {
	box-shadow: none;
	outline: none !important;
	outline-color: rgba(207, 190, 170, 1);
	border-color: rgba(207, 190, 170, 1);
	background-color: rgba(207, 190, 170, 1);
	
}

button.btn-create > i {
	margin-right: .5rem;
}
.table {
	--bs-table-striped-bg: rgba(207, 190, 170, .4);
}
.table > thead > tr > th {
	font-family: "Karla";
	font-size: 1.4rem;
	font-weight: 400;
	font-style: italic;
}
.table > tbody > tr > td {
	vertical-align: middle;
	font-size: 1.3rem;
	font-family: "Montserrat-Light";
	color: rgba(0, 0, 0, 0.7);
}
.container > .tab-content > .tab-users > .table > tbody > tr > td > a {
	text-decoration: unset;
	color: rgba(0, 0, 0, 0.7);
}
.container > .tab-content > .tab-users > .table > tbody > tr > td > a:hover {
	color: rgba(0, 0, 0, 1);
}
.container > .tab-content > .tab-users > .table > tbody > tr > td > button {
	font-family: "Montserrat-Light";
}
.table .hidden {
	display: none;
}
.container > .tab-content > .tab-users > .table > tbody > tr > td > button.process-run {
	position: relative;
}
.container > .tab-content > .tab-users > .table > tbody > tr > td > button.process-run::after {
	position: absolute;
	top: 0;
	right: 0;
	content: '';
	width: 1rem;
	height: 1rem;
	transform: translate(50%, -50%);
	background-color: red;
	border-radius: 50%;
}

.modal > .modal-dialog > .modal-content > .modal-body > form > .form-floating > label {
	z-index: 3;
}

/*
	GALLERY
*/
.container > .title {
	z-index: 1;
	text-align: center;
	position: relative;
	height: 16rem;
}
.container > .title > h2 {
	position: relative;
	top: 2rem;
	font-family: Modernline;
	font-size: 4rem;
	color: #cfbeaa;
}
.container > .title > p {
font-family: Modernline;
font-size: 4rem;
position: relative;
color: #cebfac;
top: 2.5rem;
}
.container > main {
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.container > main > .video-container {
	max-width: 87rem;
	position: relative;
	left: 50%;
	transform: translate(-50%,0%);
	margin-bottom: 3.5rem;
	border-radius: .3rem;
	overflow: hidden;
}
.modal.tutorial > .modal-dialog > .modal-content > .modal-body > .video-js > .vjs-big-play-button,
.modal.music > .modal-dialog > .modal-content > .modal-body > .video-js > .vjs-big-play-button,
.container > main > .video-container > .video-js > .vjs-big-play-button {
	top: 50%;
	left: 50%;
	border: none;
	background-color: unset;
	color: rgba(207, 190, 170, 1);
}
.container > main > .video-container > .video-js > .vjs-poster {
	background-color: unset;
}
.container > main > .image-container {
	margin-bottom: 3.5rem;
}
.container > main > .image-container > .row {
	justify-content: center;
}
.container > main > .image-container > .row:last-child {
	margin-bottom: unset !important;
}
.container > main > .image-container > .row > * {
	width: unset;
	padding: unset;
}
.container > main > .image-container > .row > a.spark-link {
	font-family: "Modernline";
	color: rgba(207, 190, 170, .85);
	font-size: 3rem;
	height: 5rem;
	transition: all .5s;
}
.container > main > .image-container > .row > span.delimiter {
	font-family: "Modernline";
	color: rgba(207, 190, 170, .85);
	font-size: 3rem;
	text-decoration: underline;
	height: 5rem;
	transition: all .5s;
	margin: 0 5rem;
}
.container > main > .image-container > .row > span.music-video {
	font-family: "Modernline";
	color: rgba(207, 190, 170, .85);
	font-size: 3rem;
	text-decoration: underline;
	height: 5rem;
	transition: all .5s;
	cursor: pointer;
}
.container > main > .image-container > .row > a.spark-link:hover {
	transform: scale(1.2);
	transition: all .5s;
}
.container > main > .image-container > .row > span.music-video:hover {
	transform: scale(1.2);
	transition: all .5s;
}
.container > main > .image-container > .row > .col {
	position: relative;
	flex: unset;
}

.container > main > .image-container > .row > .col:last-child {
	margin-right: unset;
}
.container > main > .image-container > .row > .col > .top-overlay {
	position: absolute;
	display: none;
	top: 0;
	left: 0;
	right: 0;
	height: 6.6rem;
	background-color: rgba(0,0,0,.5);
}
.container > main > .image-container > .row > .col > .top-overlay > p {
	margin: 10px;
	border-top: .2rem solid rgba(207, 190, 170, .85);
	border-bottom: .2rem solid rgba(207, 190, 170, .85);
	color: rgba(207, 190, 170, .85);
	font-size: 15px;
	font-family: "Montserrat-Medium";
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
}
.container > main > .image-container > .row > .col > .bottom-overlay {
	position: absolute;
	display: none;
	bottom: 0;
	left: 0;
	right: 0;
	height: 5rem;
	background-color: rgba(0,0,0,.5);
}
.container > main > .image-container > .row > .col > .bottom-overlay > .image-overlay {
	position: absolute;
	bottom: 1rem;
	height: 3rem;
	left: 6%;
	right: 5%;
	border-top: .2rem solid rgba(207, 190, 170, .85);;
	border-bottom: .2rem solid rgba(207, 190, 170, .85);;
	border-radius: .1rem;
	z-index: 1;
}

.container > main > .image-container > .row > .col > img {
	cursor: pointer;
	border-radius: .2rem;
}
.container > main > .image-container > .row > .col > input[type=checkbox] {
	display: none;
}
.container > main > .image-container > .row > .col > input[type=checkbox] ~ label::before {
	position: absolute;
	bottom: 0;
	font-family: "Font Awesome 6 Pro";
	font-weight: 300;
	padding: 1rem;
	font-size: 2rem;
	z-index: 2;
	display: none;
	cursor: pointer;
}

.container > main > .image-container > .row > .col > input.checkbox-fav ~ label.label-fav::before {
	left: 5%;
	content: "\f004";
	color: rgba(207, 190, 170, .85);
}
.container > main > .image-container > .row > .col > input.checkbox-lock ~ label.label-lock::before {
	left: 50%;
	transform: translateX(-50%);
	content: "\f06e";
	color: rgba(207, 190, 170, .85);
}
.container > main > .image-container > .row > .col > input.checkbox-lock:checked ~ label.label-lock::before {
	content: "\f070";
}
.container > main > .image-container > .row > .col > a.image-download {
	font-size: 2rem;
	position: absolute;
	bottom: .1rem;
	right: 6%;
	padding: 1rem;
	display: none;
	z-index: 2;
	color: rgba(207, 190, 170, .85);
}


.container > main > .image-container > .row > .col > input.checkbox-fav:checked ~ label.label-fav::before { 
	content: "\f004";
	font-weight:900;
	display: inline-block;
} 
.container > main > .image-container > .row > .col > input.checkbox-lock:checked ~ label.label-lock::before { 
	content: "\f070";
	display: inline-block;
} 

.container > main > .pagination {
	display: flex;
	justify-content: center;
}

.container > main > .pagination > .pagination > li.page-item.active > a.page-link {
	background-color: rgba(207, 190, 170, 1);
	border-color: rgba(207, 190, 170, 1);
	color: rgba(255,255,255,1);
}
.container > main > .pagination > .pagination > li.page-item > a.page-link {
	color: rgba(207, 190, 170, 1);
	font-size: 1.5rem;
	font-family: Montserrat-Light;
}
.container > main > .pagination > .pagination > li.page-item > a.page-link:active {
	box-shadow: none;
}

/*
	MODAL
*/

/* LOGIN */
.form-floating > .form-control:focus ~ label {
	z-index: 5;
}
.modal {
	background-color: rgba(0,0,0,.85);
  	z-index:3;
	display: unset;
	transform:scale(0);
}
.modal.open {
	transform: scaleY(.01) scaleX(0);
	animation:unfoldIn 1s cubic-bezier(0.165, 0.840, 0.440, 1.000) forwards;
}
.modal.open > .modal-dialog > .modal-content {
	transform:scale(0);
	animation: zoomIn .5s .8s cubic-bezier(0.165, 0.840, 0.440, 1.000) forwards;
}
.modal.close {
	transform:scale(1);
	animation:unfoldOut 1s .3s cubic-bezier(0.165, 0.840, 0.440, 1.000) forwards;
}
.modal.close > .modal-dialog > .modal-content {
	animation: zoomOut .5s cubic-bezier(0.165, 0.840, 0.440, 1.000) forwards;
}

.modal.user > .modal-dialog,
.modal.rating > .modal-dialog,
.modal.reminder > .modal-dialog,
.modal.message > .modal-dialog,
.modal.login > .modal-dialog,
.modal.share > .modal-dialog {
	margin: 0 auto;
}

.modal.login > .modal-dialog,
.modal.share > .modal-dialog {
	max-width: 35rem;
}
.modal.tutorial > .modal-dialog > .modal-content > .modal-header,
.modal.music > .modal-dialog > .modal-content > .modal-header {
	border: unset;
}
.modal.tutorial > .modal-dialog > .modal-content > .modal-header > button.btn-close,
.modal.music > .modal-dialog > .modal-content > .modal-header > button.btn-close {
	position: absolute;
	filter: invert(100%) brightness(150%);
	font-size: 1.7rem;
	top: 0rem;
	right: 0rem;
}
.modal.tutorial > .modal-dialog > .modal-content,
.modal.music > .modal-dialog > .modal-content {
	background-color: unset;
	border: unset;
}
.modal.gallery > .modal-dialog > .modal-content {
	background-color: unset;
}

.modal > .modal-dialog > .modal-content {
	border-radius: .7rem;
	background-color: rgba(255,255,255,.96);
}
.modal > .modal-fullscreen {
	width: 100%;
}
.modal > .modal-dialog > .modal-content > .modal-header button.btn-close {
	position: absolute;
	right: 1rem;
	top: 1rem;
	font-size: 1.3rem;
	box-shadow: none;
}
.modal.gallery > .modal-dialog > .modal-content > .modal-header {
	position: relative;
	border-bottom: unset;
	padding: unset;
} 
.modal.gallery > .modal-dialog > .modal-content > .modal-header > button.btn-close {
	position: absolute;
	filter: invert(100%) brightness(150%);
	font-size: 1.7rem;
	top: 2rem;
	right: 2rem;
} 
.modal.gallery > .modal-dialog > .modal-content > .modal-body {
	position: relative;
	padding: 4rem;
}
.modal.gallery > .modal-dialog > .modal-content > .modal-body > div.zoom {
	animation: zoomOut .5s cubic-bezier(0.165, 0.840, 0.440, 1.000) forwards;
}

.modal.gallery > .modal-dialog > .modal-content > .modal-body > div.zoom.in {
	animation: zoomIn .5s cubic-bezier(0.165, 0.840, 0.440, 1.000) forwards,spin 1.1s infinite linear;
	-webkit-animation: zoomIn .5s cubic-bezier(0.165, 0.840, 0.440, 1.000) forwards,spin 1.1s infinite linear;
}

.modal.gallery > .modal-dialog > .modal-content > .modal-body > button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 12;
	background-color: transparent;
	border: none;
}

.modal > .modal-dialog > .modal-content > .modal-header {
	position: relative;
	border-top-left-radius: .7rem;
	border-top-right-radius: .7rem;
	z-index: 2;
}
.modal.user > .modal-dialog > .modal-content > .modal-header,
.modal.user > .modal-dialog > .modal-content > .modal-body > header,
.modal.rating > .modal-dialog > .modal-content > .modal-header,
.modal.rating > .modal-dialog > .modal-content > .modal-body > header,
.modal.reminder > .modal-dialog > .modal-content > .modal-header,
.modal.reminder > .modal-dialog > .modal-content > .modal-body > header,
.modal.message > .modal-dialog > .modal-content > .modal-header,
.modal.message > .modal-dialog > .modal-content > .modal-body > header,
.modal.login > .modal-dialog > .modal-content > .modal-header,
.modal.login > .modal-dialog > .modal-content > .modal-body > header,
.modal.share > .modal-dialog > .modal-content > .modal-header,
.modal.share > .modal-dialog > .modal-content > .modal-body > header {
	background-color: rgba(207, 190, 170, 1);
	border-bottom: unset;
}
.modal.user > .modal-dialog > .modal-content > .modal-body,
.modal.rating > .modal-dialog > .modal-content > .modal-body,
.modal.reminder > .modal-dialog > .modal-content > .modal-body,
.modal.message > .modal-dialog > .modal-content > .modal-body,
.modal.login > .modal-dialog > .modal-content > .modal-body,
.modal.share > .modal-dialog > .modal-content > .modal-body {
	padding: unset;
}
.modal.user > .modal-dialog > .modal-content > .modal-body > header,
.modal.rating > .modal-dialog > .modal-content > .modal-body > header,
.modal.reminder > .modal-dialog > .modal-content > .modal-body > header,
.modal.message > .modal-dialog > .modal-content > .modal-body > header,
.modal.login > .modal-dialog > .modal-content > .modal-body > header,
.modal.share > .modal-dialog > .modal-content > .modal-body > header {
	position: relative;
	top: -.7rem;
	height: 14rem;
	transform: skewY(-1.5deg);
	z-index: 1;
}
.modal > .modal-dialog > .modal-content > .modal-body > header::before {
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%);
	content: "";
	box-sizing: content-box;
	width: 5rem;
	height: 5rem;
	background: rgba(255,255,255,.35) content-box; 
	border: .8rem solid rgba(255,255,255,.20);
	transform: translate(-50%, -50%);
	border-radius: 50%;
	padding: 1rem;
	z-index: 4;
}
.modal > .modal-dialog > .modal-content > .modal-body > header::after {
	position: absolute;
	content: "";
	top: 45%;
	left: 50%;
	box-sizing: content-box;
	transform: translate(-50%, -50%);
	height: 5rem;
	width: 5rem;
	border: .5rem solid rgba(255,255,255,.1);
	border-radius: 50%;
	filter: blur(.2rem);
	padding: 2.5rem;
	z-index: 4;

}
.modal > .modal-dialog > .modal-content > .modal-body > header img,
.modal > .modal-dialog > .modal-content > .modal-body > header i {
	position: absolute;
	top: 45%;
	left: 50%;
	z-index: 5;
	transform: translate(-50%, -50%);
	filter: invert(84%) sepia(27%) saturate(197%) hue-rotate(352deg) brightness(89%) contrast(85%);
}
.modal > .modal-dialog > .modal-content > .modal-body > main {
	padding: 1rem;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > #img.qr-code {
	text-align: center;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > h4.secret-title-text {
	text-align: center;
	font-family: "Montserrat-Light";
	color: rgba(0,0,0,.6);
	margin-bottom: -.3rem;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > #secret.secret-key {
	text-align: center;
	font-family: "Montserrat-Light";
	font-size: 2rem;
	margin-bottom: -2rem;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > span.title {
	font-family: "Modernline";
	font-size: 2.5rem;
	display: block;
	text-align: center;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > h3.subtitle {
	text-align: center;
	font-family: "Montserrat-Light";
	font-size: 1.5rem;
	margin: .5rem 0;

}
.modal > .modal-dialog > .modal-content > .modal-body > main > .share-methods {
	display: flex;
	flex-direction: column;
	padding: 4rem 2rem;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > .share-methods > a {
	margin-bottom: .5rem;
	font-size: 1.6rem;
	padding: .5rem 0;
	font-family: "Montserrat-Light";
	text-decoration: none;
	color: #212529;
	text-align: center;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > .share-methods > button {
	background-color: transparent;
	padding: unset;
	box-shadow: none;
	border: none;
	padding: .5rem 0;
	font-family: "Montserrat-Light";
	font-size: 1.6rem;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > .share-methods > * > i {
	margin-right: .5rem;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > form > .form-floating > textarea {
	min-height: 15rem;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > form > .digit-group {
	padding: 4rem 0;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > form > .digit-group .digit {
	background-color: rgba(207, 190, 170, .45);
	width: 3rem;
	height: 5rem;
	line-height: 5rem;
	font-size: 2.4rem;
	font-family: "Montserrat-Light";
	text-align: center;
	border: none;
	border-radius: .3rem;
	margin: 0 .23rem;
	color: rgba(0, 0, 0, 0.5);
	box-shadow: 0px .5px 0px .5px rgba(0, 0, 0, 0.15);
	transition: outline .23s, margin .23s, scale .23s;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > form > .digit-group .digit:focus {
	outline: none;
	box-shadow: 0px .5px 0px .5px rgba(0, 0, 0, 0.15);
	background-color: rgba(207, 190, 170, .6);
	transition: outline .23s, margin .23s, scale .23s;
	transform: scale(1.2);
	margin: 0 .7rem;
	padding: 0 .2rem;

}
.modal > .modal-dialog > .modal-content > .modal-body > main > form > .digit-group span {
	margin: 0 .7rem;
	font-size: 2rem;
	color: rgba(0, 0, 0, 0.5);
}
.modal > .modal-dialog > .modal-content > .modal-body > main > form > .button {
	display: flex;
	justify-content: center;
	margin-bottom: 2rem;
}
.modal > .modal-dialog > .modal-content > .modal-body > main > form > button.btn-submit,
.modal > .modal-dialog > .modal-content > .modal-body > main > form > .button > input.btn-submit {
	font-family: "Montserrat-Light";
	background-color: rgba(207, 190, 170, .6);
	color: rgba(102, 94, 84, 1);
	padding: .6rem 2rem;
	font-size: 1.7rem;
	box-shadow: none;	
	box-shadow: 0px 1px 0px .5px rgba(0, 0, 0, 0.15);
}
.modal > .modal-dialog > .modal-content > .modal-body > main > form > button.btn-submit,
.modal > .modal-dialog > .modal-content > .modal-body > main > form > .button > input.btn-submit:hover {
	color: rgba(51, 47, 42, 1);
}
.modal.gallery > .modal-dialog > .modal-content > .modal-body.play {
	position: relative;
}
.modal.gallery > .modal-dialog > .modal-content > .modal-body.play::before,
.modal.gallery > .modal-dialog > .modal-content > .modal-body.pause::before {
	position: absolute;
	font-family: "Font Awesome 6 Pro";
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	font-size: 10rem;
	z-index: 10;
	opacity: 0;
	color: rgba(255, 255, 255, .8);
}
.modal.gallery > .modal-dialog > .modal-content > .modal-body.play::before {
	content: "\f144";
	animation: slider-start 1.5s;
}
.modal.gallery > .modal-dialog > .modal-content > .modal-body.pause::before {
	content: "\f28b";
	animation: slider-stop 1.5s;
}
.modal > .modal-dialog > .modal-content > .modal-body > img#modal {
	display: flex;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	margin: 0 auto;
	max-width: 100%;
	max-height: 100%;
}
.modal > .modal-dialog > .modal-content > .modal-body > .loader {
          position: absolute;
          top:50%;
          left:50%;
          transform: translate(50%, -50%);
          border-radius: 50%;
          width: 5rem;
          height: 5rem;
          border: 0.4rem solid rgba(255, 255, 255, 0.2);
          border-top: .6rem solid white;
}
/*
	404
*/
.flip-hori {
	transform: scaleX(-1);
}
.flip-vert {
	transform: scaleY(-1);
}
.cw90 {
	rotate: 90deg;
}
.cw180 {
	rotate: 180deg;
}
.cw270 {
	rotate: 270deg;
}
.cw360 {
	rotate: 360deg;
}
.error-div {
	position: relative;
}
.error-div > p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-family: "Montserrat-Medium";
	font-size: 5rem;
	color:#FFF;
}
.container > .title > p.error-smaller {
	font-size: 3rem;
}

.container > main > .image-container > .row > .col > img.error-darker {
	filter: grayscale(1) blur(.3rem) brightness(35%);
}

/*
	ANIMATION
*/
@keyframes unfoldDown {
	0% {
		transform:scaleY(.0);
	}
	100% {
		transform:scaleY(1);
	}
}
@keyframes unfoldIn {
	0% {
	  transform:scaleY(.005) scaleX(0);
	}
	50% {
	  transform:scaleY(.005) scaleX(1);
	}
	100% {
	  transform:scaleY(1) scaleX(1);
	}
}
@keyframes unfoldOut {
	0% {
		transform:scaleY(1) scaleX(1);
	}
	50% {
		transform:scaleY(.005) scaleX(1);
	}
	100% {
		transform:scaleY(.005) scaleX(0);
	}
}
@keyframes zoomIn {
	0% {
		transform:scale(0);
	}
	100% {
		transform:scale(1);
	}
}
@keyframes zoomOut {
	0% {
		transform:scale(1);
	}
	100% {
		transform:scale(0);
	}
}

@keyframes slider-stop {
	0% {
		transform: translate(-50%,-50%) scale(1);
		opacity: 1;
	}
	100% {
		transform: translate(-50%,-50%) scale(2);
		opacity: 0;
		
	}
}
@keyframes slider-start {
	0% {
		transform: translate(-50%,-50%) scale(1);
		opacity: 1;
	}
	100% {
		transform: translate(-50%,-50%) scale(2);
		opacity: 0;
		
	}
}
@-webkit-keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}