/********************************************
 *
 *   STANDARD CSS OVERRIDES $$$
 *
 */
:root {
	--bs-primary: #ac2f92;
	--light: #f8f9fa;
	--dark: #1b1b1b;
	--white: #f5f1ee;
	--primary: var(--bs-primary);
	--primary-r: 172;
	--primary-g: 47;
	--primary-b: 146;
	--banner-valign: 5%;
	--noimage-text: "";
	--title-font: "Playfair Display";
	--body-font: 'Crimson Pro';
	--menu-font: 'Bebas Neue';
	--slant: 4vw;
	--container-padding: "py-4 py-md-4 py-lg-4";
	}

html {
    scroll-behavior: smooth !important;
	}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	}

body {
	padding-top: 0px;
	background-color: var(--white);
	height: 100%;
	font-family: var(--body-font), var(--bs-font-sans-serif);
	font-weight: 300;
	position: relative;
	}

pre {
	color: #999;
	}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4 {
	font-family: var(--title-font), var(--bs-font-sans-serif);
	font-weight: 400;
	}

.body-font {
	font-family: var(--body-font), var(--bs-font-sans-serif);
	}

.menu-font {
	font-family: var(--menu-font), var(--bs-font-sans-serif);
	}

/********************************************
 *
 *   BOOTSTRAP CSS OVERRIDES
 *
 */

/**
 * Color Overrides
 */

a {
	color: var(--dark);
	transition: background-color 0.3s ease;
	}
.dark a {
	color: var(--white);
	}


.form-check-input:checked {
  background-color: var(--primary);
  border-color: var(--primary); }

.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--primary);
  border-color: var(--primary); }

.form-range::-webkit-slider-thumb {
  background-color: var(--primary); }

.form-range::-moz-range-thumb {
  background-color: var(--primary); }

.btn {
  font-family: var(--menu-font), var(--bs-font-sans-serif);
  font-size: 1.2rem;
  line-height: 1.4;
  text-transform: uppercase;
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out; }

.btn-primary {
  /*color: var(--primary);*/
  color: var(--dark);
  background-color: transparent;
  /*border-color: var(--primary);*/
  border-color: var(--dark);
  box-shadow: none;
}

.btn > i {
	line-height: 100%;
	}

.btn-primary.disabled, .btn-primary:disabled {
  background-color: var(--primary);
  border-color: var(--primary); }

.btn-outline-primary {
  /*color: var(--primary);
  border-color: var(--primary); */
  color: var(--dark);
  border-color: var(--dark);
}
.dark .btn-outline-primary {
	color: var(--light);
	border-color: var(--light);
	}

.btn-outline-primary:hover {
  /*background-color: var(--primary);
  border-color: var(--primary); */
  background-color: var(--dark);
  border-color: var(--dark);
  color: var(--light);
  box-shadow: 0 0 0.8rem rgba(0,0,0,0.3);
}
.dark .btn-outline-primary:hover {
  background-color: var(--light);
  border-color: var(--light);
  color: var(--dark);
  box-shadow: 0 0 0.8rem rgba(255,255,255,0.5);
}

.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
/*  background-color: var(--primary);
  border-color: var(--primary);*/
  background-color: var(--dark);
  border-color: var(--dark);
}

.btn-outline-primary:disabled, .btn-outline-primary.disabled {
  color: var(--primary);
}

.btn-link {
  color: var(--primary); }

.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--primary); }

.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {
  background-color: var(--primary); }

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: var(--dark); }

.page-link {
  color: var(--dark);
  background-color: var(--white);
  height: 100%;
  }

.page-item.active .page-link {
  background-color: var(--dark);
  border-color: var(--dark); }

.page-item.disabled .page-link {
	background-color: var(--white);
	color: rgba(0,0,0,0.4);
	}

.progress-bar {
  background-color: var(--primary); }

.list-group-item.active {
  background-color: var(--primary);
  border-color: var(--primary); }

.link-primary {
  color: var(--primary); }

.border-primary {
  border-color: var(--primary) !important; }

.text-primary {
  color: var(--primary) !important; }

.bg-primary {
  background-color: var(--primary) !important; }

/* Hover States */

a:hover {
	color: rgba(255,255,255,0.9);
	text-decoration: none;
	background-color: var(--dark);
	}
.dark a:hover {
	color: rgba(0,0,0,0.8);
	background-color: var(--white);
	}

.btn-primary:hover {
  color: #fff;
  background-color: rgba(var(--primary-r),var(--primary-g),var(--primary-b),1);
  border-color: var(--primary); }

.btn-check:focus + .btn-primary, .btn-primary:focus {
  color: #fff;
  background-color: rgba(var(--primary-r),var(--primary-g),var(--primary-b),1);
  border-color: #0a58ca; }

.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: rgba(var(--primary-r),var(--primary-g),var(--primary-b),1);
  border-color: #0a53be; }

.btn-link:hover {
	color: rgba(var(--primary-r),var(--primary-g),var(--primary-b),0.7);
	}

.page-link:hover {
  color: var(--dark);
  background-color: var(--white);
  border-color: var(--dark);
  box-shadow: 0 0 0.8rem rgba(0,0,0,0.2);
	}

.page-link:focus {
  z-index: 3;
  color: var(--primary);
  background-color: #e9ecef; }

.link-primary:hover, .link-primary:focus {
  color: #0a58ca; }

/**
 * Component Overrides
 */

a.hoverlink {
	text-decoration: none;
	padding: 3px 4px;
	transition: background 0.3s ease;
	}

a.hoverlink:hover {
	text-decoration: none;
	color: var(--white);
	background-color: var(--dark);
	}

.container-wide {
	width: 100%;
	margin: 0 auto;
	padding: 1.7em 0;
	}

hr { opacity: 0.15; }

.carousel-indicators li {
	background-color: var(--dark);
	opacity: 0.2;
	width: 13px;
	height: 13px;
	border-radius: 11px !important;
	border: 2px solid transparent;
	background-clip: content-box;
	margin-left: 0.5rem;
	margin-right: 0.5rem;
	transition: opacity 0.6s ease;
	}
.dark .carousel-indicators li {
	background-color: var(--light);
	}

.carousel-indicators li.active {
	background-color: var(--dark);
	border: 2px solid var(--light);
	}

.home-quotes .carousel-indicators {
	bottom: -0.3rem;
	}

.home-quotes .carousel-inner .container {
	min-height: 26rem;
	}

.navbar-toggler {
	padding: 0.3rem 0.4rem;
	}

.badge {
	background-color: var(--dark);
	color: var(--light);
	}
.dark .badge {
	background-color: var(--white);
	color: var(--dark);
	}

.form-control,
.form-select {
	/*background-color: rgba(255,255,255,0.5);*/
	border-color: rgba(0,0,0,0.2);
	}

/********************************************
 *
 *   CUSTOM CSS
 *
 */

a[href^=tel],
.text-light a[href^=tel] {
	text-decoration: inherit !important;
	/*color: inherit !important;*/
	}

.text-nobreak {
	white-space: nowrap;
	}

.anchor-target {
    display: block;
    position: relative;
    top: -20px;
    height: 1px;
    visibility: hidden;
	}

.list-bullet-inside ul {
	list-style-position: inside !important;
	padding-left: 0;
	}

#messenger {
	max-width: 900px;
	}

._field {
	position: absolute !important;
	left: -6000px !important;
	}

.slant-top {
	-webkit-clip-path: polygon(0 0,100% calc(0% + var(--slant)),100% 100%,0 100%);
	clip-path: polygon(0 0,100% calc(0% + var(--slant)),100% 100%,0 100%);
	}

.slant-btm {
	-webkit-clip-path: polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--slant)));
	clip-path: polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--slant)));
	}

.slant-top-btm {
	-webkit-clip-path: polygon(0 0,100% calc(0% + var(--slant)),100% 100%,0 calc(100% - var(--slant)));
	clip-path: polygon(0 0,100% calc(0% + var(--slant)),100% 100%,0 calc(100% - var(--slant)));
	}

.slant-stack {
	margin-top: calc(-1.06 * var(--slant));
	}

.slant-shadow {
	box-shadow: 0 2rem 3rem rgba(0,0,0,0.3);
	}

.slant-divider {
	height: 3.75em;
	}

.bg-white {
	background-color: var(--white);
	}
.bg-gray-1 {
	background-color: rgba(0,0,0,.05);
	}
.bg-gray-2 {
	background-color: rgba(0,0,0,.1);
	}
.bg-gray-3 {
	background-color: rgba(0,0,0,.15);
	}
.bg-gray-4 {
	background-color: rgba(0,0,0,.2);
	}
.bg-gray-5 {
	background-color: rgba(0,0,0,.25);
	}
.bg-gray-6 {
	background-color: rgba(0,0,0,.3);
	}

.pin-top {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
	}

.menu-font {
	font-family: var(--menu-font), var(--bs-font-sans-serif);
	}

.title-font {
	font-family: var(--title-font), var(--bs-font-sans-serif);
	}

.body-font {
	font-family: var(--body-font), var(--bs-font-sans-serif);
	}

/* Additional Orders */

.order-6 {
  order: 6 !important; }

.order-7 {
  order: 7 !important; }

.order-8 {
  order: 8 !important; }

.order-9 {
  order: 9 !important; }

.order-10 {
  order: 10 !important; }

/* Additional Heights */

.h-5 {
  height: 5% !important; }

.h-10 {
  height: 10% !important; }

.h-15 {
  height: 15% !important; }

.h-20 {
  height: 20% !important; }

.h-30 {
  height: 30% !important; }

.h-35 {
  height: 35% !important; }

.h-40 {
  height: 40% !important; }

/**
 * Opacity
 */

.opacity-0 { opacity: 0; }
.opacity-25 { opacity: .25; }
.opacity-50 { opacity: .5; }
.opacity-75 { opacity: .75; }
.opacity-100 { opacity: 1; }

/* Inline Photos */

.inline-photo {
	display: flex !important;
	flex-direction: column;
	float: none;
	margin-bottom: 1.75rem;
	width: auto;
	}

.inline-photo img {
	width: 100%;
	height: auto;
	}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	.inline-photo {
	}
}
/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	.inline-photo {
		width: 100%;
		height: auto;
		margin-bottom: 2.5rem;
		max-width: unset;
		min-width: unset;
	}
 }
/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.inline-photo {
		float: right;
		max-width: 50vw;
		min-width: 40vw;
		margin-bottom: 2.5rem;
		margin-left: 2.5rem;
	}
}
/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	.inline-photo {
		float: right;
		max-width: 600px;
		min-width: unset;
		margin-bottom: 2.5rem;
		margin-left: 2.5rem;
	}
}

/* Menu */

.navbar {
	background-color: rgba(0,0,0,.5) !important;
	background-color: transparent !important;
	}

.navbar-nav {
	margin: 0 auto;
	text-align: center;
	width: 100%;
	}

.navbar-dark .navbar-nav .nav-link {
	font-family: var(--menu-font), var(--bs-font-sans-serif);
	font-size: 1.4rem;
	text-transform: uppercase;
	color: rgba(255,255,255,0.75);
	text-shadow: 0 0 0.6rem rgba(0,0,0,.2);
	}

.navbar-dark .navbar-nav .nav-link:hover {
	color: rgba(255,255,255,1);
	}

.navbar-dark .navbar-nav .nav-link.active {
	color: rgba(255,255,255,1);
	}

.nav-link {
	transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
	}

a:hover.nav-link {
	background-color: transparent;
	}

.navbar-collapse {
	transition: all 0.3s ease;
	}

.navbar-collapse.show {
	background-color: rgba(0,0,0,.95);
	padding: 2rem;
	}

.navbar-dark .navbar-toggler {
	background-color: transparent;
	border-color: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0 0.9rem rgba(0,0,0,.4);
	}
.navbar-dark .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='square' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	}


/**
 * Animated Menu Link Line
 */
.linkline a {
	/*color: var(--primary);*/
	transition: color 0.3s ease;
	display: inline-block;
	text-decoration: none;
	}

.linkline a:hover {
	text-decoration: none;
	color: inherit;
	background-color: transparent;
	}

.linkline a:after {
	content: '';
	display: block;
	width: 0;
	opacity: 0;
	padding-top: 0.15rem;
	border-bottom: 1px solid var(--dark);
	margin: 0;
	transition: width 0.3s ease, opacity 0.3s ease;
	}
.dark .linkline a:after {
	border-bottom: 1px solid var(--light);
	}

.linkline a:hover:after,
.haslink:hover .linkline a:after {
	width: 100%;
	opacity: 1;
	}

.linkline-center a:after {
	margin: 0 auto;
	}

.linkline a.active:after {
	width: 100%;
	opacity: 1;
	}

/**
 * Link Box
 */

.link-overlay {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
	}

.link-overlay:hover,
.dark .link-overlay:hover {
	background-color: transparent;
	}


.linkbox {
	border: 1px solid rgba(0,0,0,0.1);
	transition: border 0.4s ease, background 0.4s ease;
	background-color: var(--white);
	position: relative;
	}
.dark .linkbox {
	background-color: var(--dark);
	border: 1px solid rgba(255,255,255,0.07);
	}

.linkbox:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--dark);
	background-color: rgba(0,0,0,.15);
	z-index: -1;
	transition: transform 0.4s ease;
	}
.dark .linkbox:before {
	background-color: var(--light);
	background-color: rgba(255,255,255,0.2);
	}

/* Linkbox hover states with .haslink */

.linkbox a:not(.btn):hover,
.haslink a:not(.btn):hover {
	/*background-color: transparent;*/
	}

.haslink {
	cursor: pointer;
	position: relative;
	}

.haslink:hover {
	/*background-color: rgba(0,0,0,0.04);*/
	}
.dark .haslink:hover {
	/*background-color: rgba(255,255,255,0.04);*/
	}

.haslink:hover:before {
	transform: rotate(3deg);
	}

.haslink:hover .btn-outline-primary {
	background-color: var(--dark);
	border-color: var(--dark);
	color: var(--light);
	box-shadow: 0 0 0.8rem rgba(0,0,0,0.3);
	}
.dark .haslink:hover .btn-outline-primary,
.dark.haslink:hover .btn-outline-primary {
	background-color: var(--light);
	border-color: var(--light);
	color: var(--dark);
	box-shadow: 0 0 0.8rem rgba(255,255,255,0.5);
	}

/**
 * Linkbox Image
 */

/*.crop-image {
	background-color: transparent;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 10%;
	background-image: var(--noimage), linear-gradient(to bottom, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%);
	width: 100%;
	height: auto;
	overflow: hidden;
	transition: filter 0.5s ease;
	}
*/
.crop-image {
	background-color: transparent;
	width: 100%;
	height: auto;
	overflow: hidden;
	transition: filter 0.5s ease;
	}

.crop-image img {
	object-fit: cover;
	object-position: 50% 30%;
	width: 100%;
	height: 100%;
	}

.noimage {
	background-image: var(--noimage);
	background-size: cover;
	background-position: 50% 50%;
	}

.linkbox-image {
	position: relative;
	overflow: hidden;
	}

.linkbox-image > div {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: -1px;
	transform: scale(1);
	filter: grayscale(0);
	transition: transform 0.5s ease, filter 0.5s ease;
	}

.haslink:hover .linkbox-image > div {
	transform: scale(1.1) rotate(3deg);
	filter: grayscale(1);
	}

.gallery-image img {
	object-position: 50% 35%;
	}

/**
 * Homepage Banner
 */

.banner-image-wrap {
	position: relative;
	width: 100%;
	height: 99vh;
/*	-webkit-clip-path: polygon(0 0,100% 0,100% 100%,0 92%);
	clip-path: polygon(0 0,100% 0,100% 100%,0 92%);*/
	overflow: hidden;
	background-color: var(--dark);
	}

.banner-image-wrap:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 5em;
	width: 100%;
	background-image: linear-gradient(to bottom, rgba(0,0,0,0.4), rgba(0,0,0,0));
	}

.banner-image-wrap .carousel,
.banner-image-wrap .carousel-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}

.banner-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 99vh;
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	/*animation: fadeInScale .6s .5s ease forwards;*/
	}

@supports (-webkit-touch-callout: none) {
  /* CSS specific to iOS devices */
	.banner-image-wrap {
		height: 88vh;
		min-height: 88vh;
	}
}

.banner-image-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	width: 100%;
	height: calc(100% - 80px);
	flex-wrap: wrap;
	z-index: 2;
	}

.nobanner {
	background-image: var(--back-image);
	background-size: cover;
	background-position: 50% 50%;
	}

.sitename-wrap {
	width: 97% !important;
	}

.sitename {
	color: #fff;
	text-shadow: 0 0 1.2rem rgba(0,0,0,0.6);
	font-family: var(--menu-font), var(--bs-font-sans-serif);
	line-height: 1;
	text-transform: uppercase;
	text-align: center;
	}

.sitename-sm {
  font-size: calc(1.575rem + 3.9vw); }
  @media (min-width: 1200px) {
    .sitename-sm {
      font-size: 4.5rem; } }

.sitename-md {
  font-size: calc(1.675rem + 5.1vw); }
  @media (min-width: 1200px) {
    .sitename-md {
      font-size: 5.5rem; } }

.sitename-lg {
  font-size: calc(1.775rem + 6.3vw); }
  @media (min-width: 1200px) {
    .sitename-lg {
      font-size: 6.5rem; } }

.sitename-xl {
  font-size: calc(1.875rem + 7.5vw); }
  @media (min-width: 1200px) {
    .sitename-xl {
      font-size: 7.5rem; } }


.name-mid-left {
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	opacity: 0;
	animation: fadeInLeft 1s .5s ease forwards;
	}
	.name-mid-left .sitename-wrap > div {
		text-align: left !important;
		}

.name-mid-center {
	align-items: center;
	justify-content: center;
	text-align: center;
	opacity: 0;
	animation: fadeInDown 1s .5s ease forwards;
	}
	.name-mid-center .sitename-wrap > div {
		text-align: center !important;
		}

.name-mid-right {
	align-items: center;
	justify-content: flex-end;
	text-align: right;
	opacity: 0;
	animation: fadeInRight 1s .5s ease forwards;
	}
	.name-mid-right .sitename-wrap > div {
		text-align: right !important;
		}

.name-low-left {
	align-items: flex-end;
	justify-content: flex-start;
	text-align: left;
	opacity: 0;
	animation: fadeInLeft 1s .5s ease forwards;
	}
	.name-low-left .sitename-wrap > div {
		text-align: left !important;
		}

.name-low-center {
	align-items: flex-end;
	justify-content: center;
	text-align: center;
	opacity: 0;
	animation: fadeInDown 1s .5s ease forwards;
	}
	.name-low-center .sitename-wrap > div {
		text-align: center !important;
		}

.name-low-right {
	align-items: flex-end;
	justify-content: flex-end;
	text-align: right;
	opacity: 0;
	animation: fadeInRight 1s .5s ease forwards;
	}
	.name-low-right .sitename-wrap > div {
		text-align: right !important;
		}

/* Tagline */

.tagline {
	color: var(--light);
	color: #fff;
	font-family: var(--title-font), var(--bs-font-sans-serif);
	text-shadow: 0 0 0.9rem rgba(0,0,0,0.75);
	text-align: center;
	font-style: italic;
	font-weight: 300;
	font-size: calc(0.8rem + 1.6vw); }
	@media (min-width: 1200px) {
	.tagline {
		font-size: 2.0rem; }
	}

/* Columns */

.columns {
	width: 100%;
	height: 100%;
	columns: 2 300px;
	column-gap: 2em;
	}


.columns > p {
	display: inline;
	}

.columns-parablock p {
	display: inline-block;
	}

.goback {
	margin-bottom: 1.5rem;
	text-transform: uppercase;
	font-family: var(--title-font);
	font-weight: 400;
	}

.goback a {
	text-decoration: none;
	font-size: 1.3rem;
	color: rgba(0,0,0,0.5);
	transition: color 0.4s ease;
	}
.dark .goback a {
	color: rgba(255,255,255,0.5);
	}

.goback a:hover {
	background-color: transparent;
	color: var(--dark);
	}
.dark .goback a:hover {
	color: var(--white);
	}

.goback a .goback-icon {
	color: rgba(0,0,0,0.5);
	transition: transform 0.4s ease, color 0.4s ease;
	}
.dark .goback a .goback-icon {
	color: rgba(255,255,255,0.5);
	}

.goback a:hover .goback-icon {
	color: var(--dark);
	transform: translateX(-0.4rem);
	}
.dark .goback a:hover .goback-icon {
	color: var(--white);
	}


/* Quotes */

#quotator .quotation {
	font-size: calc(1.2rem + 1.2vw);
	line-height: 1.4;
	color: #fff;
	font-weight: 300;
	text-shadow: 1px 1px 7px rgba(0,0,0,0.3);
	}
  @media (min-width: 1200px) {
    #quotator .quotation {
      font-size: 2.5rem; } }

#quotator .publication {
	font-size: calc(1rem + 1vw);
	color: rgba(255,255,255,0.6);
	font-weight: 300;
	text-shadow: 1px 1px 5px rgba(0,0,0,0.3);
	}
  @media (min-width: 1200px) {
    #quotator .publication {
      font-size: 1.75rem; } }

/* Latest Recording */

section.home-recording {
	overflow: hidden;
	}

.recback {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 40%;
	opacity: 0.2;
	filter: grayscale(0.9) blur(13px);
	transform: scale(1.1);
	z-index: -2;
	overflow: hidden;
	}

.dark .recback {
	opacity: 0.25;
	filter: grayscale(0.6) blur(13px);
	}

.rec-image {
	background-color: transparent;
}

.rec-content {
	}

/* List Groups */

.list-group-item {
	color: rgba(0,0,0,0.6);
	background-color: rgba(255,255,255,0.5);
	}

a.list-group-item-action:hover,
a.list-group-item-action:focus {
	color: var(--light);
	background-color: var(--dark);
	}

.dark .list-group-item {
	color: var(--white);
	background-color: rgba(255,255,255,0.02);
	border-color: rgba(255,255,255,0.05);
	}

.dark a.list-group-item-action:hover,
.dark a.list-group-item-action:focus {
	color: var(--dark);
	background-color: var(--light);
	}

/* Acclaim Page */

.acclaim-box {
	width: 100%;
	}
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	.acclaim-box { width: 100%; }
}
/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	.acclaim-box { width: 100%; }
 }
/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.acclaim-box { width: 88%; }
}
/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	.acclaim-box { width: 86%; }
}

.acclaim-type {
	display: inline-block;
	padding: 0.3rem 0.7rem;
	background-color: var(--dark);
	color: var(--white);
	font-size: 1.2rem;
	margin-bottom: 0.5rem;
	opacity: 1;
	transition: opacity 0.4s ease, color 0.4s ease;
	}
	.haslink:hover .acclaim-type {
		opacity: 0.4;
		}

.dark .acclaim-type {
	background-color: var(--white);
	color: var(--dark);
	}
	.dark .haslink:hover .acclaim-type {
		opacity: 0.4;
		}

.acclaim-writer:after {
	content: " / ";
	}

/**
 * Recordings
 */

.recording-feature {
	position: relative;
	overflow: hidden;
	}

.recording-feature .linkbox {
	background-color: transparent;
	}
.recording-feature .linkbox:before {
	background: transparent;
	}
.recording-back {
	position: absolute;
	top: -30px;
	left: -30px;
	right: -30px;
	bottom: -30px;
	background-color: transparent;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 40%;
	opacity: 0.3;
	filter: blur(25px) grayscale(1);
	transform: scale(1.1);
	overflow: hidden;
	}

/**
 * Calendar
 */

.calendar-head {
	position: relative;
	overflow: hidden;
	color: var(--white);
	padding: 1.25rem 1rem 2.8rem;
	background: transparent;
	}
.dark .calendar-head {
	color: var(--dark);
	}

.calendar-head h4 {
	position: relative;
	z-index: 2;
	}

.calendar-head-back {
	position: absolute;
	top: -25px;
	right: -25px;
	bottom: 25px;
	left: -15px;
	background-color: var(--dark);
	border-bottom: 1px solid rgba(0,0,0,0.1);
	transform: rotate(2.5deg);
	transition: background 0.4s ease, transform 0.4s ease;
	}
.dark .calendar-head-back {
	background-color: var(--white);
	}

.haslink:hover .calendar-head-back {
	transform: rotate(0);
	}

/**
 * Gallery
 */

.pic-masonry {
	position: relative;
	overflow: hidden;
	}

.pic-masonry img {
	position: relative;
	transform: scale(1);
	filter: grayscale(0);
	transition: transform 0.5s ease, filter 0.5s ease;
	}

.pic-masonry:hover img {
	transform: scale(1.05) rotate(1deg);
	filter: grayscale(1);
	}

/**
 * Press Kit
 */

.caption-scroll {
	max-height: 6.1rem;
	overflow-y: scroll;
	}

#dpkmenu .nav-link {
	font-family: var(--menu-font);
	font-size: 1.3rem;
	margin: 0 0.3rem;
	}

#dpkmenu a:hover.nav-link {
	background-color: var(--dark);
	}

#dpk hr {
	margin-bottom: 0;
	}

#dpk .card {
	background-color: transparent;
	}

#dpk .card-header {
	position: relative;
	background-color: var(--dark);
	color: var(--white);
	}

#dpk .card-icon {
	opacity: 0.9;
	}

#dpk .dpk-caption {
	margin-bottom: 0.8rem;
	}

/* DPK Audio Play/Pause Buttons */

#dpk .amplitude-play-pause {
	display: inline-block;
	}

#dpk .amplitude-play-button i,
#dpk .amplitude-pause-button i {
	padding-top: 5px;
	}

#dpk .amplitude-play-button {
	display: inline;
	}

#dpk .amplitude-pause-button {
	display: none;
	}

#dpk .amplitude-play-pause.amplitude-paused .amplitude-play-button {
	display: inline-block;
	}
#dpk .amplitude-play-pause.amplitude-paused .amplitude-pause-button {
	display: none;
	}

#dpk .amplitude-play-pause.amplitude-playing .amplitude-play-button {
	display: none;
	}
#dpk .amplitude-play-pause.amplitude-playing .amplitude-pause-button {
	display: inline-block;
	}

/* DPK Audio Progress Bar */

#dpk progress.amplitude-song-played-progress {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100% !important;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	cursor: pointer;
	border: none;
	z-index: 1;
	}
/* this is needed for Firefox */
#dpk progress[value] {
	background-color: rgba(0,0,0,0.0);
	}

#dpk progress[value]::-webkit-progress-bar {
	background-color: rgba(255,255,255,0.0);
	border-right: 1px solid rgba(255,255,255,0.2);
	}
#dpk progress[value]::-moz-progress-bar {
	background-color: rgba(255,255,255,0.15);
	border-right: 1px solid rgba(255,255,255,0.2);
	}
#dpk progress[value]::-webkit-progress-value {
	background-color: rgba(255,255,255,0.15);
	border-right: 1px solid rgba(255,255,255,0.2);
	}

/**
 * Links
 */

.link-categories {
	columns: 300px 2;
	background: transparent;
	border: 1px solid var(--dark);
	color: var(--dark);
	}

.link-categories a {
	text-decoration: none;
	}

.link-header {
	background: var(--dark);
	color: #fff;
	}

.link-body p:last-child {
	margin-bottom: 0;
	}

/**
 * Contacts
 */

.contact-box {
	position: relative;
	}

.contact-border {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	}

.contact-bio {
	font-style: italic;
	border-top: 1px dotted rgba(0,0,0,0.3);
	border-bottom: 1px dotted rgba(0,0,0,0.3);
	padding: 0.8rem 0;
	}
.dark .contact-bio {
	border-top: 1px dotted rgba(255,255,255,0.3);
	border-bottom: 1px dotted rgba(255,255,255,0.3);
	}


/**
 * Audio Gallery
 */

/* Reset */
.meta-container,
.control-container,
.info-container,
.title-container,
.time-container,
progress {
	margin: 0;
	padding: 0;
	}

svg {
	fill: currentColor;
	stroke: currentColor;
	}

#preload { display: none; }

#audiogallery .player {
	display: block;
	border: 0;
	margin-bottom: 20px;
	width: 100%;
	max-width: 800px;
	margin: auto;
	margin-bottom: 1rem;
	}


/* Meta Container */

#audiogallery .meta-container {
	position: relative;
	display: table;
	width: 100%;
	/*-webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--slant)), 0 100%);*/
	/*clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--slant)), 0 100%);*/
	/*clip-path: polygon(0 0, 98.5% 0, 100% 100%, 1.5% 100%);*/
	}

/* Play/Pause Button */

#audiogallery .control-container {
	display: table-cell;
	width: 55px;
	height: 50px;
	background: var(--dark);
	}

#audiogallery .control-container .amplitude-play-pause {
	display: flex;
	width: 100%;
	height: 100%;
	cursor: pointer;
	justify-content: center;
	align-items: center;
	text-align: center;
	/*border-right: 1px solid rgba(0,0,0,0.15);*/
	}

#audiogallery .amplitude-play-button,
#audiogallery .amplitude-pause-button {
	width: 25px;
	height: 25px;
	fill: var(--white);
	}

/* play button hover */
#audiogallery .control-container .amplitude-play-button,
#audiogallery .control-container .amplitude-pause-button {
	transition: transform 0.4s ease;
	}
#audiogallery .control-container:hover .amplitude-play-button,
#audiogallery .control-container:hover .amplitude-pause-button {
	width: 25px;
	height: 25px;
	transform: scale(1.2);
	}

#audiogallery .amplitude-play-button {
	display: block;
	}

#audiogallery .amplitude-pause-button {
	display: none;
	}

#audiogallery .amplitude-play-pause.amplitude-paused .amplitude-play-button {
	display: block;
	}
#audiogallery .amplitude-play-pause.amplitude-paused .amplitude-pause-button {
	display: none;
	}

#audiogallery .amplitude-play-pause.amplitude-playing .amplitude-play-button {
	display: none;
	}
#audiogallery .amplitude-play-pause.amplitude-playing .amplitude-pause-button {
	display: block;
	}

/* Info Container */

#audiogallery .info-container {
	position: relative;
	display: table-cell;
	vertical-align: middle;
	padding: 0;
	background: transparent;
	/*border-left: 1px solid rgba(var(--primary-r),var(--primary-g),var(--primary-b),0.2);*/
	overflow: hidden;
	border: 1px solid var(--dark);
	}

#audiogallery .title-container {
	display: table-cell;
	/*display: flex;*/
	vertical-align: middle;
	padding: 0.75rem;
	width: 100%;
	}

	#audiogallery .title-container .song-title {
		text-align: left;
		color: rgba(0,0,0,.7);
		font-size: 1.2rem;
/*		flex: 1;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
*/		}


/* Time Container */

#audiogallery .time-container {
	display: table-cell;
	white-space: nowrap;
	vertical-align: middle;
	font-size: 0.75rem;
	text-align: right;
	color: rgba(0,0,0,0.6);
	padding: 1rem;
	}

	#audiogallery .amplitude-duration-time:before { content: " / "; }

	#audiogallery .amplitude-current-seconds {}
	#audiogallery .amplitude-current-minutes {}
	#audiogallery .amplitude-duration-seconds {}
	#audiogallery .amplitude-duration-seconds {}
	#audiogallery .amplitude-duration-minutes {}

/* Progress Bar */

#audiogallery progress.amplitude-song-played-progress {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0px;
	display: block;
	cursor: pointer;
	border: none;
	z-index: 1;
	}

#audiogallery progress[value]::-webkit-progress-bar {
	background-color: transparent;
	}
#audiogallery progress[value]::-webkit-progress-value {
	/*background-color: rgba(255,255,255,0.15);*/
	background-color: rgba(0,0,0,0.1);
	border-right: 1px solid rgba(0,0,0,0.4);
	/*transition: width 0.3s linear;*/
	}

/* this is needed for Firefox */
#audiogallery progress[value] {
	background-color: rgba(0,0,0,0.0);
	}
#audiogallery progress[value]::-moz-progress-bar {
	background-color: rgba(0,0,0,0.1);
	border-right: 1px solid var(--dark);
	}

#audiogallery .time-container {
	opacity: 0;
	transition: opacity 0.3s linear;
	}

#audiogallery .song-title {
	}

/* Active Song */

#audiogallery div.amplitude-active-song-container .control-container  {
	/*background-color: rgba(var(--primary-r),var(--primary-g),var(--primary-b),0.5);*/
	}

#audiogallery div.amplitude-active-song-container .amplitude-play-button {
	fill: var(--white);
	}

#audiogallery div.amplitude-active-song-container .amplitude-pause-button {
	fill: var(--white);
	animation-duration: 1.8s ;
	animation-name: glowbutton;
	animation-timing-function: ease-in-out;
	animation-delay: 0s;
	animation-iteration-count: infinite;
	}

#audiogallery div.amplitude-active-song-container .info-container {
	/*background-color: rgba(var(--primary-r),var(--primary-g),var(--primary-b),0.7);*/
	transition: background-color 0.3s linear;
	}

#audiogallery div.amplitude-active-song-container .time-container,
#audiogallery div.amplitude-active-song-container .title-container .song-title {
	color: var(--dark) !important;
	/*transition: color 0.3s linear;*/
	}

@keyframes glowbutton {
	0%, 100% {
    	transform: scale(1);
		}
	50% {
    	transform: scale(1.2);
    	}
    }

/*
 * Social Media Icons
 */

.social {
	font-size: 1.6rem;
	width: 100%;
	}

.social-box {
	margin: 1px 5px;
	color: #fff;
	}

.style-icontext .social-box,
.style-text .social-box {
	margin: 1px 6px 1px 6px;
	color: #fff;
	}

.social a {
	color: #fff;
	opacity: 0.7;
	transition: opacity 0.3s linear;
	}

.social a:hover {
	text-decoration: none;
	opacity: 1;
	}

.social-network {
	font-size: 0.9rem;
	display: inline-block;
	vertical-align: middle;
	text-shadow: 0 0 8px rgba(0,0,0,0.3);
	}

.social-icon {
	text-shadow: 0 0 8px rgba(0,0,0,0.3);
	padding: 2px;
	}

.icontext .social-icon {
	padding: 0;
	font-size: 1.3rem;
	}

/* Accent color override */

.accent-color {
	color: var(--primary);
	}

.bg-accent-color {
	background-color: var(--primary);
	}

/* Back to Top */

.backtotop {
	position: fixed;
	display: flex;
	bottom: 2em;
	right: 2em;
	display: none;
	z-index: 9999;
	width: 3.3em;
	height: 3.3em;
	background-color: var(--dark) !important;
	box-shadow: 0 0 1em rgba(255,255,255,0.6);
	justify-content: center;
	align-items: center;
	border-radius: 0.15em;
	}

.backtotop .btt-icon {
	color: var(--light);
	font-size: 1.8em;
	}

a.backtotop,
a:visited.backtotop {
	color: var(--dark);
	transition: transform 0.4s ease;
	}

a:hover.backtotop {
	color: var(--dark);
	transform: rotate(10deg);
	}

.backtotop-show {
	animation: fadeIn 1.2s .5s ease both;
	}

.backtotop-hide {
	animation: fadeOut 1.2s .5s ease both;
	}


/**
 * Footer
 */


footer {
	position: relative;
	}

footer .nav-list .active {
	font-weight: bold;
	}

footer .nav-list .nav-item {
	display: inline-block;
	padding: 0.25rem 0.7rem 0.25rem 0;
	font-size: 1.15rem;
	}

footer a,
footer .nav-list .nav-item a {
	color: rgba(255,255,255,0.7);
	background-color: transparent;
	transition: color 0.3s linear;
	}
.dark footer a,
.dark footer .nav-list .nav-item a {
	color: rgba(255,255,255,0.6);
	}

footer a:hover,
footer .nav-list .nav-item a:hover {
	color: rgba(255,255,255,1);
	text-decoration: none;
	}
.dark footer a:hover,
.dark footer .nav-list .nav-item a:hover {
	color: rgba(255,255,255,1);
	}

footer.dark .powered-by.linkline a {
	color: rgba(255,255,255,.45);
	background-color: transparent;
	}

footer.dark .powered-by.linkline a:hover {
	color: rgba(255,255,255,.7);
	}

footer .social a {
	opacity: 1;
	color: rgba(255,255,255,0.7);
	background-color: transparent;
	transition: color 0.5s ease;
	}
.dark footer .social a {
	color: rgba(255,255,255,0.7);
	transition: color 0.3s ease;
	}

footer .social a:hover {
	color: rgba(255,255,255,1);
	background-color: transparent;
	}
.dark footer .social a:hover {
	color: rgba(255,255,255,1);
	}

.footer-copyright {
	color: rgba(255,255,255,0.4);
	}


/**
 * Dark
 */

.dark {
	background-color: var(--dark);
	color: var(--white);
	border-color: rgba(255,255,255,0.15);
	}

/**
 * Font Weights
 */

.fw-light {
	font-weight: 300;
	}
.fw-regular {
	font-weight: 400;
	}
.fw-medium {
	font-weight: 500;
	}
.fw-semibold {
	font-weight: 600;
	}
.fw-bold {
	font-weight: 700;
	}
.fw-extrabold {
	font-weight: 800;
	}
.fw-black {
	font-weight: 900;
	}

/**
 * KEYFRAMES
 */

.fadein {
	opacity: 0;
	animation: fadeIn 1.2s .5s ease forwards;
	}

.fadeout {
	animation: fadeOut 1.2s .5s ease forwards;
	}

.fadein-left {
	opacity: 0;
	animation: fadeInLeft 1s .5s ease forwards;
	}

.fadein-right {
	opacity: 0;
	animation: fadeInRight 1s .5s ease forwards;
	}

.fadein-up {
	opacity: 0;
	animation: fadeInUp 1s .5s ease forwards;
	}

.fadein-down {
	opacity: 0;
	animation: fadeInDown 1s .5s ease forwards;
	}

.fadein-down-right {
	opacity: 0;
	animation: fadeInDownRight 1s .5s ease forwards;
	}

.fadein-down-left {
	opacity: 0;
	animation: fadeInDownLeft 1s .5s ease forwards;
	}

.fadein-up-right {
	opacity: 0;
	animation: fadeInUpRight 1s .5s ease forwards;
	}

.fadein-up-left {
	opacity: 0;
	animation: fadeInUpLeft 1s .5s ease forwards;
	}

.animdelay-00 { animation-delay: 0s; }
.animdelay-01 { animation-delay: .1s; }
.animdelay-02 { animation-delay: .2s; }
.animdelay-03 { animation-delay: .3s; }
.animdelay-04 { animation-delay: .4s; }
.animdelay-05 { animation-delay: .5s; }
.animdelay-06 { animation-delay: .6s; }
.animdelay-07 { animation-delay: .7s; }
.animdelay-08 { animation-delay: .8s; }
.animdelay-09 { animation-delay: .9s; }
.animdelay-10 { animation-delay: 1s; }
.animdelay-11 { animation-delay: 1.1s; }
.animdelay-12 { animation-delay: 1.2s; }
.animdelay-13 { animation-delay: 1.3s; }
.animdelay-14 { animation-delay: 1.4s; }
.animdelay-15 { animation-delay: 1.5s; }

.animspeed-02 { animation-duration: .2s; }
.animspeed-03 { animation-duration: .3s; }
.animspeed-04 { animation-duration: .4s; }
.animspeed-05 { animation-duration: .5s; }
.animspeed-06 { animation-duration: .6s; }
.animspeed-07 { animation-duration: .7s; }
.animspeed-08 { animation-duration: .8s; }
.animspeed-09 { animation-duration: .9s; }
.animspeed-10 { animation-duration: 1s; }
.animspeed-11 { animation-duration: 1.1s; }
.animspeed-12 { animation-duration: 1.2s; }
.animspeed-13 { animation-duration: 1.3s; }
.animspeed-14 { animation-duration: 1.4s; }
.animspeed-15 { animation-duration: 1.5s; }

@keyframes fadeIn {
	0% {
    	opacity: 0;
		}
	100% {
    	opacity: 1;
    	}
    }

@keyframes fadeInScale {
	0% {
    	opacity: 0;
    	transform: scale(1.1);
		}
	100% {
    	opacity: 1;
    	transform: scale(1);
    	}
    }

@keyframes fadeOut {
	0% {
    	opacity: 1;
		}
	100% {
    	opacity: 0;
    	}
    }

@keyframes fadeInLeft {
	0% {
    	transform: translateX(50px);
    	opacity: 0;
		}
	100% {
    	transform: translateX(0px);
    	opacity: 1;
    	}
    }

@keyframes fadeInRight {
	0% {
    	transform: translateX(-50px);
    	opacity: 0;
		}
	100% {
    	transform: translateX(0px);
    	opacity: 1;
    	}
    }

@keyframes fadeInUp {
	0% {
    	transform: translateY(50px);
    	opacity: 0;
    	}
	100% {
    	transform: translateY(0px);
    	opacity: 1;
    	}
    }

@keyframes fadeInDown {
	0% {
    	transform: translateY(-50px);
    	opacity: 0;
    	}
	100% {
    	transform: translateY(0px);
    	opacity: 1;
    	}
    }

@keyframes fadeInDownRight {
	0% {
    	transform: translate(-50px, -50px);
    	opacity: 0;
    	}
	100% {
    	transform: translate(0px, 0px);
    	opacity: 1;
    	}
    }

@keyframes fadeInDownLeft {
	0% {
    	transform: translate(50px, -50px);
    	opacity: 0;
    	}
	100% {
    	transform: translate(0px, 0px);
    	opacity: 1;
    	}
    }

@keyframes fadeInUpRight {
	0% {
    	transform: translate(-50px, 50px);
    	opacity: 0;
    	}
	100% {
    	transform: translate(0px, 0px);
    	opacity: 1;
    	}
    }

@keyframes fadeInUpLeft {
	0% {
    	transform: translate(50px, 50px);
    	opacity: 0;
    	}
	100% {
    	transform: translate(0px, 0px);
    	opacity: 1;
    	}
    }
