/*
Theme Name: Dani Chambers
Theme URI: https://danidchambers.com
Author: Doug Levine
Author URI: https://dlevine.us/
Description: Custome theme designed for Dani Chambers voice actor portfolio.
Version: 1.0
Tags: 
Text Domain: DaniDChambers
*/
*{
	margin:0;
	padding: 0;
	-webkit-box-sizing:content-box;
	/*border: red 1px dashed;*/
}

html, body {
  box-sizing: border-box;
  height: 100%;
  padding: 0;
  margin: 0;
}

.wrapper {
  box-sizing: border-box;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.page-body {
  flex-grow: 1;
}

footer {
  flex-grow: 0;
  flex-shrink: 0;
}

html {
  overflow-y: scroll;
}

body {
	font-family: 'Poppins', sans-serif;
}

header{
	background-color: rgba(127,158,200,0.95);
	position: fixed;
	float: left;
	width: 100%;
	min-height: 80px;
	z-index: 1;
}

#menu{
	width:100%;
	height: 80px;
}

#menu>ul{
	color: #FFF;
	list-style: none;
}

#menu>ul>li{

}

.menuButton {
    float: right;
    transform: rotate(90deg);
    height: 100%;
    font-size: 30px;
    font-family: sans-serif;
    font-weight: 400;
    clear: right;
    margin-top: calc(40px - 18px);
    margin-right: 40px;
    color: #ffffff;
    cursor: pointer;
    box-sizing: border-box;
}

h1 {
	font-family: 'Playfair Display', serif;
	color: #294978;
	font-size: 11vw;
	font-weight: 100;
}

h2{
	font-size: 1.4em;
	font-weight: 500;
	margin-bottom: 40px;
	color: #8f98aa;
	text-transform: uppercase;
	letter-spacing: 7px;
}

h2.subheader{
	font-weight: bold;
	font-size: 5vw;
}

section{
	width: 100%;
	min-height: 100px;
	padding: 50px 5%;
	box-sizing: border-box;
}

section#info{
	background-position: -100px -100px !important;
/*	position: relative;*/
}

section:first-of-type .container{
	box-sizing: border-box;
	margin-top: 80px;
}

section#setup h2{
	color: #051941;
}

section#setup{
	background:#d8e2ee;
}

#setup h3,
#setup p{
	margin: 19px 0 -19px;
}

#setup div{
	box-sizing: border-box;
}
.setupInfo p{
	font-size: .9em;
}
p.bold{
	color: #051941;
}

table#homeSetup{
	margin: 0 auto;
}
table#homeSetup td{
	padding-left: 15px;
}
#setup p {
    margin: 0 !important;
}

.setupImg>img{
	height: 48px;
}

.socials{
	margin: 15px 0 60px 0;
	position: relative;
}

.socials img{
	width: 10%;
	max-width: 45px;
	margin-right: 1%
} .socials a:last-of-type>img{max-width: 79px; width: 18%;} /*fix for IMDB image*/

.audiojs .play-pause {
    width: 20px !important;
    border-right: 0 !important;
    padding: 4px 0 !important;
}

.audioTitle{
	font-size: 1.3em;
	letter-spacing: 5px;
	margin: 0.3em auto;
	font-family: poppins,sans-serif;
	/*max-width: 520px;*/
}

.audiojs{
	margin: 30px auto 0;
	max-width: 600px;
	border-radius: 5px;
	background-image: none;
	background-color: #fff;
	webkit-box-shadow: none;
	    -moz-box-shadow: none;
	    -o-box-shadow: none;
	    box-shadow: none;
}

.audiojs .time,
.audiojs .time em,
.audiojs .duration,
.audiojs .time strong {
	color: #000;
	text-shadow: none;
	font-weight: bold;
	text-align: center;
}

.audiojs .scrubber {
    margin: 5px -8px 0 5px;
	overflow: visible;
	border-top: 0;
	background: 0;
}

/*.scrubber,
.played,
.duration*/
.progress,
.loaded{
	display: none;
}

.plyr{
	width: 100%;
	margin: 0 auto;
	/*z-index: -1;*/
}

button:hover {
    border-style: inset;
}

#characters button,
#about button,
#appearances button{
	padding: 0 5px;
	margin: 45px auto 0;
	font-size: 5vw;
	font-weight: 500;
	width: 100%;
	height: 48px;
	border-color: rgb(127,158,200);
	border-radius: 35px;
	border-width: 3px;
	color: #051941;
	background: #ffffff;
	box-sizing: border-box;
}

#characters button{
	margin: 0 auto;
}

footer{
	margin-top: 30px;
	padding-top: calc(40px - 1em/2);
	box-sizing:border-box;
	color: #FFF;
	text-align: center;
	min-height: 80px;
	background:#051941;
	font-size: 0.9em;
}

.fg-default.fg-gutter-10 {
     margin-bottom: 30px !important;
     margin-top: 40px;
}

.clearfix {
  overflow: auto;
}

.audiojs .played,
.audiojs strong{
	/*display: none;*/
}

.download {
	height: 100%;
    margin: 0 7px;
}

.foogallery{
	z-index: 0 !important;
}

.fg-default.fg-gutter-10 {
    padding-left: 0 !important;
    margin-bottom: -10px;
    margin-top: 0;
}

.container{
	box-sizing: border-box;
}

#characters button,
#about button,
#appearances button{
	display: block;
	width: 100%;
}

.pageText{
	font-size: 1.2em;
}

.bold{
	font-weight: bold;
}

/* --- Event Calendar --- */

.event-divider {
	border: none;
	border-top: 1px solid #d0d8e4;
	margin: 30px 0;
}

.event-calendar {
	margin-top: 0;
}

.event-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 30px;
}


.event-nav__controls {
	display: flex;
	align-items: center;
	gap: 16px;
}

.event-nav__month {
	font-size: 1.2em;
	font-weight: 500;
	color: #051941;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin: 0;
	min-width: 240px;
	text-align: center;
}

.event-nav__arrow-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: #7f9ec8;
	font-size: 1.1em;
	text-decoration: none;
	border: 1px solid #7f9ec8;
	border-radius: 4px;
	background: none;
	line-height: 1;
}

.event-nav__arrow-link:hover {
	color: #051941;
	border-color: #051941;
	text-decoration: none;
}

.event-nav__arrow-disabled {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: #ccc;
	font-size: 1.1em;
	border: 1px solid #ddd;
	border-radius: 4px;
	line-height: 1;
}

.event-nav__return {
	font-size: 0.85em;
	letter-spacing: 1px;
	color: #7f9ec8;
	text-decoration: none;
}

.event-nav__return:hover {
	color: #051941;
	text-decoration: none;
}

.event-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.event-card {
	background: #d9e2ef;
	display: flex;
	flex-direction: row;
	align-items: center;
	border-left: 10px solid #98b7e3;
	min-height: 120px;
}

.event-card__image {
	flex: 0 0 160px;
	height: 120px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	padding: 10px;
	box-sizing: border-box;
}

.event-card__image img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.event-card__details {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex: 1;
	padding: 15px;
	gap: 20px;
}

.event-card__date {
	text-align: center;
	min-width: 50px;
}

.event-card__day {
	display: block;
	font-size: 2.6em;
	line-height: 1;
	color: #051941;
}

.event-card__month {
	display: block;
	font-size: 1em;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #051941;
}

.event-card__info {
	flex: 1;
}

.event-card__title {
	font-size: 1.2em;
	line-height: 1.3;
	margin: 0 0 4px;
	color: #000;
}

.event-card__location {
	font-size: 0.95em;
	color: #333;
	margin: 0;
}

.event-empty {
	font-size: 1.1em;
	color: #8f98aa;
	margin-top: 20px;
}

.contactsocials{
	margin: 0 auto;
	text-align: center;
}

#audiojs_wrapper2 > .scrubber,
#audiojs_wrapper2 > div.time > div.download,
#audiojs_wrapper3 > .scrubber,
#audiojs_wrapper3 > div.time > div.download,
#audiojs_wrapper4 > .scrubber,
#audiojs_wrapper4 > div.time > div.download{
	display:none;
}

#audiojs_wrapper2,
#audiojs_wrapper3,
#audiojs_wrapper4{
	margin: 0 auto 0;
	background-color: #d8e2ee;
}

.flex-container-hor{
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.flex-container-vert{
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.item-quarterwidth{
	flex: 25%;
}

.align-center{
	text-align: center;
	margin: 0 auto;
}

.item-halfwidth{
	flex: 50%;
}

.item-fullwidth{
	flex:100%;
}

#item-featChar{
	margin: 0 1em 5em;
	padding: 0.5em;
	min-width: 0;
	font-size: 13px;
}

img.featuredCharImg{
	height:100%;
}

.charFrame{
	width: 100%;
	max-width: 200px;
	height: 200px;
	overflow: hidden;
	border-radius: 10px;
	margin: 0 auto 15px;
	/* Magic */
	display: flex;
	align-items: center; /* vertical */
	justify-content: center; /* horizontal */
}

.charDesc{
	text-align: center;
	color:black;
}

.auto {
  flex: auto;
}

.setupImg{
	float: left;
	width: 25%;
	margin:20px 0 0 0;
}

.descText{
	float: left;
	width: calc(75% - 10px);
	margin:10px 0 10px 10px;
}

.client_icons{
	width: 100%;
}

.item-client{
	min-height: 80px;
}

.nav-link{
	font-size: 13px;
}

#homeSetup{
	margin-top: 20px;
}
#twitchHeader{
	display: none;
}

#twitchLogo img{
	width:100px;
}

#twitchLogo{
	display: inline;
}

a:hover{
	text-decoration: none;
}

.vert-helper{
	padding: 10px;
	height: 130px;
	max-width: 180px;
	display: flex;
    align-items: center;
}

@media only screen and (min-width: 555px){
	#characters button,
	#about button,
	#appearances button{
		font-size: 1.6em;
	}
 	.item-client{
		min-height: initial;
	}
}

@media only screen and (min-width: 664px){
	h1{
		font-size: 8vw;
	}
	h2,h2.subheader{
		font-size: 3vw;
	}
	.plyr{
		width: 80%;
		margin: 0 auto;
	}
	.flex-container-vert{

	}
	#item-featChar{
		margin: 0 1em;
		padding: 0.5em;
	}
	.item-quarterwidth,
	.item-halfwidth,
	.item-fullwidth{
/*	  margin: 0 1em; */
	  /*5em*/
	}
	#characters button{
		margin: 45px auto 0;
	}
	#homeSetup{
		margin: 20px 0 0 20px;
	}
}

@media only screen and (min-width: 768px){
	.flex-container-hor {
	  flex-direction: row;
	}

	h1{font-size: 4em;}
	h2,h2.subheader{font-size: 1.5em;}
	section{
		padding: 50px 15%;
	}
	header{
		background-color: rgba(127,158,200,0.65);
	}
	.audiojs .scrubber {
	    margin: 5px 0 0 15px;
	}
	.contactsocials{
		margin: -109px 0 0 75px;
		text-align: right;
	}
	section#info{
		background-position: 0 -100px !important;
	}
}
@media only screen and (min-width: 1000px){
	.nav-link{
			font-size: initial;
		}
}

@media only screen and (min-width: 826px){
	#twitchLogo{
    	display: block;
    	position: absolute;
        top: -54px;
        right: 8%;
        text-align: center;
        transform: rotate(7deg);
	}
	#twitchHeader{
		display: inline;
	}
	#twitchLogo img{
		width:160px !important;
		max-width: unset;
	}
}

@media only screen and (min-width: 1024px){
	section{
		padding: 50px 20%;
	}
	.audioTitle{
		font-size: 1.6em;
		max-width: 520px;
		margin: 0.1em auto;
	}

	.container{
		margin: 0 auto;
		max-width: 1024px;
	}
	#characters button,
	#about button,
	#appearances button{
		display: block;
		width: 400px;
	}

	.setupImg{width: 17%;}

	#appearances table{
		width: 70%;
		margin: 0 auto;
	}
}