/**
 * Theme Name: Joyful Song
 * Template:   twentytwentyfive
 */

 
/* CUSTOM STYLES */

:root {
	--superdarkbeige: #545243;
	--extradarkbeige: #9e9c8e;
	--darkbeige: #c2beb2;
	--beige: #f0ede4;
	--lightbeige: #f7f7f4;
	--extralightbeige: #fefefd;
	--purpleblack: #170615;
	--darkpurple: #24011e;
	--purple: #4f0642;
	--lightpurple: #ab5591;

	--contentmargin: 50px;
	--navheight: 50px;
	--thumbnailheight: 300px;
}

/*----------------------
SITEWIDE
----------------------*/
* {
	font-family: "Inter";
}

body {
	background-color: var(--lightbeige)!important;
	
}

.wp-site-blocks {
	min-height: 100vh!important;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks > main {
	flex: 1;
}

footer {
	margin-top: auto;
}

main {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

main > .wp-block-group {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


body a, a, a:visited {
	color: var(--purple);
	text-decoration: none!important;
}

a:active, a:hover {
	color: var(--lightpurple);
	text-decoration: none!important;
}

.btn:has(a) {
	padding: 0px;
}

.btn a, .btn a:visited, input[type="submit"] {
	background-color: var(--purple);
	color: var(--extralightbeige);
	border-radius: 100px;
	padding: 5px 15px;
	border: none;
}

.btn a:active, .btn a:hover, input[type="submit"]:active, input[type="submit"]:hover {
	background-color: var(--darkpurple);
}

.btn.btn-xs:has(.fa-tag) {
	padding: 3px 10px;
	color: var(--purple);
	border: 1px solid var(--purple);
	border-radius: 50px!important;
	font-size: 0.8rem;
	margin-bottom: 15px!important;
	background-color: var(--lightbeige);
}

.btn:has(.fa-tag):hover {
	color: var(--darkpurple);
	background-color: var(--beige);
}

h1.wp-block-heading, h1.wp-block-post-title, h1.wp-block-query-title {
	padding: 50px 0px;
	text-align: center;
}

.nk-awb-wrap-content:has(h1) .subtitle.wp-block-kia-post-subtitle {
	margin-top: -30px;
	padding-bottom: 50px;
	text-align: center;
	color: white;
}

.subtitle.has-text-align-left {
	text-align: left;
}

h1.wp-block-query-title span {
	font-family: "Source Serif 4";
}

/*----------------------
NAV
----------------------*/

.wp-block-navigation-link {
	color: var(--purple);
}

.wp-block-navigation-link:active, .wp-block-navigation-link:hover {
	color: var(--lightpurple);
}

/*----------------------
CONTACT
----------------------*/

.nf-form-content {
	padding-top: 20px;
}

.nf-response-msg {
	background-color: var(--purple);
	color: white;
	padding: 5px 10px;
	margin-bottom: 25px;
	border-radius: 5px;
	text-align: center;
}

.nf-response-msg p {
	margin: 0px;
	padding: 0px;
}



/*----------------------
FILE CAROUSEL
----------------------*/

/* Carousel container */

div.w3eden {
	margin: 0px;
}

.card:has(.wpdm-carousel) {
	width: 100vw;
	position: relative;
	left: 50%;
	margin-left: -50vw;
}


.card:has(.wpdm-carousel) .card-body {
	padding: 0px;
}

.card:has(.wpdm-carousel) .card-header {
	display: none;
}

.wpdm-carousel:has(.owl-dots.disabled) .owl-nav {
	margin-top: 0px;
}

.file-carousel-container {
	width: 100%;
	height: 75vh;
	background-color: var(--beige);
}

/* Carousel nav */

.owl-prev, .owl-next {
	width: 50px;
	height: 50px;
	border-radius: 50px!important;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	z-index: 3;
	background-color: rgba(36, 1, 30, 0.3)!important;
	
}

.owl-prev:hover, .owl-next:hover {
	background-color: rgba(36, 1, 30, 0.6)!important;
	box-shadow: 0px 0px 5px rgba(36, 1, 30, 0.1);
}

.owl-prev { 
	left: 20px; 
}

.owl-next { 
	right: 20px; 
}

.owl-prev i, .owl-next i {
	color: var(--beige);
	
}

.owl-prev:hover i, .owl-next:hover i {
	color: var(--darkbeige);
	
}

/* Carousel slides - container & background */

.file-carousel-container .file-carousel-background {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 0;
	display: flex;
	align-items: center;
}

.file-carousel-container .file-carousel-background::after {
	content: " ";
	display: block;
	width: 100%;
	height: 100%;
	background: #000000;
	background: linear-gradient(90deg, black 20%, transparent 70%);
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.7;
}

.file-carousel-container .file-carousel-background img {
	min-height: 120%;
	object-fit: cover;
	position: relative;
}

/* Carousel slides - content */

.file-carousel-container .file-carousel-content {
	height: 100%;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 50px;
	width: 90%;
	max-width: 2000px;
	margin: auto;
}


.file-carousel-container .file-carousel-content .file-carousel-text {
	width: 50vw;
	padding: 1%;
	color: var(--beige);
}

.file-carousel-container .file-carousel-content .file-carousel-text h1 {
	text-align: left;
	color: var(--beige);
}

.file-carousel-container .file-carousel-content .file-carousel-text p {
	margin-bottom: 5px;
}

.file-carousel-container .file-carousel-content .file-carousel-text a,
.file-carousel-container .file-carousel-content .file-carousel-text a:visited {
	color: var(--darkpurple);
	background-color: var(--beige);
	margin: 15px 0px;
}

.file-carousel-container .file-carousel-content .file-carousel-text a:active,
.file-carousel-container .file-carousel-content .file-carousel-text a:hover {
	transform: scale(1.05);
	background-color: var(--darkbeige);
}

.file-carousel-container .file-carousel-content .file-carousel-thumb {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
	padding: 10px;
}

.file-carousel-container .file-carousel-content .file-carousel-thumb img {
	width: auto;
	max-height: 100%;
	border-radius: 3px;
	box-shadow: 0px 0px 5px rgba(36, 1, 30, 0.1);
}

/* Carousel slides - responsive */

@media screen and (max-width: 700px) {
	.file-carousel-container{
		height: 90vh;
	}
	.file-carousel-container .file-carousel-content{
		flex-direction: column;
		justify-content: center;
		padding: 20px 0px;
	}
	.file-carousel-container .file-carousel-content .file-carousel-text {
		width: 100%;
		text-align: center;
	}
	.file-carousel-container .file-carousel-content .file-carousel-text h1 {
		text-align: center;
		font-size: 1.7rem;
	}
	.file-carousel-container .file-carousel-content .file-carousel-thumb {
		max-height: 70%;
	}
	.file-carousel-container .file-carousel-content .file-carousel-thumb img {
		max-width: 70%;
		height: auto;
	}
	.file-carousel-container .file-carousel-background::after {
		background: black;
	}
}



/*----------------------
MUSIC GRID
----------------------*/

/* Toolbar */

#content_wpdm_package_1, .wpdm-shortcode-toolbar.card {
	background-color: transparent;
	border: none;
}

/* Toolbar search */

.toolbar-component.toolbar-search {
	width: 100%;
}

.toolbar-component.toolbar-search input {
	color: var(--darkpurple)!important;
	background-color: white;
	border: 1px solid var(--darkbeige);
}


.toolbar-component input.form-control::placeholder {
	color: var(--darkbeige);
}

/* Toolbar buttons */

.toolbar-component:not(.toolbar-search) {
	width: 25%!important;
	display: inline-block;
}

.toolbar-component:not(.toolbar-search) .btn {
	color: var(--darkpurple);
	background-color: white;
	border: 1px solid var(--darkbeige);
}

.toolbar-component .btn, .toolbar-component input.form-control {
	text-align: left;
}

.toolbar-component .btn:hover {
	background-color: var(--beige);
}

.toolbar-component input.form-control:active {
	outline: none!important;
}


/* Toolbar layout */

.wp-singular.page-template-default .card .card-body {
	display: flex;
	flex-direction: row;
}

.wp-singular.page-template-default .card .card-body .col-1 {
	width: 80%;
	margin: 0px;
}

.wp-singular.page-template-default .col-1 .filter-field-container {
	display: flex;
	flex-direction: row;
	margin: 0px;
}

.wp-singular.page-template-default .col-1 .filter-field-container .toolbar-component {
	flex: 1;
	margin: 0px 3px;
}

.wp-singular.page-template-default .card .card-body .col-2 {
	width: 20%;
	margin: 0px;
}


@media screen and (max-width: 800px) {
	.wp-singular.page-template-default .card .card-body {
		flex-direction: column;
	}
	.wp-singular.page-template-default .col-1 .filter-field-container {
		flex-direction: column;
	}
	.wp-singular.page-template-default .card .card-body .col-1, .wp-singular.page-template-default .card .card-body .col-2 {
		width: 100%;
	}
	.toolbar-component:not(.toolbar-search) {
		width: 100%!important;
	}
}

/* Download link modules */

div.row div:has(.file-preview-container) {
	margin-bottom: 20px;
}

.file-preview-container {
	border-radius: 5px;
	padding: 0px;
	overflow: hidden;
	transform: scale(1);
	transition: transform 0.1s;
	background-color: black;
	margin: 0px;
	height: 100%;
}

.file-preview-cover {
	height: 200px;
	width: 100%;
}

.file-preview-cover img {
	object-fit: cover;
	object-position: 50% 50%;
	width: 100%;
	height: 100%;
	filter: blur(0px);
	opacity: 1;
	zoom: 100%;
	transition: all 0.1s;
}

.file-preview-container:hover .file-preview-cover img {
	filter: blur(3px);
	opacity: 0.6;
	transform: scale(1.05);
	transition: all 0.2s;
}

.file-preview-details {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.file-preview-details a {
	text-align: center;
	text-decoration: none;
	font-weight: 600;
	background-color: var(--beige);
	color: var(--purple);
	padding: 5px 15px;
	border-radius: 50px;
	/* display: none; */
	opacity: 0;
	transition: opacity 0.3s;
}

.file-preview-container:hover .file-preview-details a {
	/* display: inline-block; */
	opacity: 1;
	transition: opacity 0.3s;
}

.file-preview-details a:hover {
	background-color: white;
}

.file-preview-content {
	background-color: var(--beige);
	padding: 12px 20px;
	position: relative;
	z-index: 1;
	height: 100%;
}

.file-preview-content div {
	display: flex;
	justify-content: space-between;
	margin-top: 10px;
}

.file-preview-title {
	max-width: 90%;
	overflow: hidden;
}

.file-preview-content a, .file-preview-content a:visited {
	color: var(--purple);
}



.file-preview-content a:active, .file-preview-content a:hover {
	color: var(--lightpurple);
	
}


.file-preview-content i {
	color: var(--purple);
}

.file-preview-content i:hover {
	color: var(--lightpurple);
}

.file-preview-tags a.btn.btn-xs {
	border: 1px solid var(--purple);
	border-radius: 50px;
}

.file-preview-tags {
	margin-bottom: 0px!important;
}

.file-preview-subtitle {
	font-size: 0.9rem;
	padding-top: 5px;
}

.file-preview-categories, .file-preview-tags a.btn.btn-xs {
	font-size: 0.8rem;
}

/*----------------------
DOWNLOAD DETAIL PAGES
----------------------*/

/* Post Layout */

.single .wpdmpro .post-title {
	margin: 75px 0px;
}

.single .wpdmpro .post-thumbnail {
	width: 100vw;
	height: 100vh;
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: -2;
	overflow: hidden;
}

.single .wpdmpro .post-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	opacity: 0.4;
}

.wpdmpro .post-thumbnail::after {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(transparent 50%, var(--lightbeige));
}

.download-page-col-2 {
	max-width: 50%;
}

.download-page-container {
	display: flex;
	flex-direction: row;
}

@media screen and (max-width: 800px) {
	.download-page-col-2 {
		max-width: 100%;
	}
	.download-page-container {
		flex-direction: column;
	}
}

.download-page-container .wp-audio-shortcode {
	border-radius: 5px;
}

.download-page-container .wp-audio-shortcode .mejs-controls {
	/* background: var(--darkbeige); */
	border-radius: 5px;
	background: var(--purple);
}

.download-page-container .wp-audio-shortcode .mejs-controls .mejs-button{
	display: flex;
	align-items: center;
	justify-content: center;
}

.download-page-container .wp-audio-shortcode .mejs-controls .mejs-time {
	overflow: visible;
	/* color: var(--darkpurple); */
}


.download-page-container .download-button {
	background-color: var(--purple);
	color: white;
	font-size: 1.05rem;
	text-decoration: none;
	width: 100%;
	margin: 0px 0px 15px 0px;
}

.download-page-container .download-button:hover {
	background-color: var(--darkpurple);
	color: white;
}

/* PDF viewer */

.pdfemb-viewer {
	border: none;
	background-color:transparent;
	box-shadow: 0px 0px 5px rgba(36, 1, 30, 0.1);
	border-radius: 5px;
	margin-bottom: 20px;
}

.pdfemb-viewer .pdfemb-toolbar {
	background-color: var(--lightbeige);
	
}

.pdfemb-viewer .pdfemb-toolbar div {
	color: var(--darkpurple);
	font-family: "Inter";
}

.pdfemb-viewer .pdfemb-toolbar button {
	background-color: transparent;
	border: none!important;
	box-shadow: none!important;
}

.pdfemb-viewer .pdfemb-toolbar button.pdfemb-prev::before {
  content: url("icons/up.png");
}

.pdfemb-viewer .pdfemb-toolbar button.pdfemb-next::before {
  content: url("icons/down.png");
}

.pdfemb-viewer .pdfemb-toolbar button.pdfemb-zoomout::before {
  content: url("icons/minus.png");
}

.pdfemb-viewer .pdfemb-toolbar button.pdfemb-zoomin::before {
  content: url("icons/plus.png");
}




/*----------------------
COMMENTS
----------------------*/

h3#reply-title {
	padding: 10px 0px;
}


/*----------------------
FEED/ARCHIVE/SEARCH RESULTS
----------------------*/

@media screen and (max-width: 783px) {
	.wp-block-nk-awb.blog-feed-awb {
		height: 200px!important;
	}
}
