/*Kildare Readers Festival Styling*/


/*===========================*/
/*General Styling & Effects
/*===========================*/

.hide {
	display: none;
}
.gae {
	display: none;
}

.gaeShow {
	display: initial;
}

html {
	scroll-behavior: smooth;
}

body {
	background: #fff;
	}

a, a:hover, i, i:hover {
	-webkit-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
}

.flexColumn {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-direction: column;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	        flex-direction: column;
} /* Flex Box column layout */

.flexRow {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-direction: row;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	        flex-direction: row;
} /* Flex Box row layout */

.container {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	/*-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;*/
} /* Flex Box spacing for container div */

#topBar, header, .content, .footerWrap {
	max-width: 85.375em;}



/*===========================*/
/*Header Styling
/*===========================*/

.headerImg {
	background-image: url('https://kildarecoco.ie/library/kildarereadersfestival/images/bg-waves-header-3.svg');
	background-color: #001220;
	background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
	height: 100%;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
} /* header background image and spacing */

.headerImg a, headerImg i {
	color: white;
}

#topBar {
	padding: 1rem 0;
}

#topBar, header, .content {
	margin-bottom: 2rem;
}

#topBar, header, .footerWrap {
	width: 80%;
	margin: 0 auto;	
}

#topBar .translate {
	float: left;
	width: 50%;
}

#topBar .translate a:hover {
	text-decoration: underline;
}

#topBar .footerSocial {
	float: right;
	width: 50%;
	text-align: right;
	font-size: 1.3em;
}

#topBar .footerSocial i:hover {
	/*color: #FF0066;*/
	text-decoration: underline;
}

#topBar .footerSocial a, footer .footerSocial a {
	padding: 0.25rem;
}

header {
	padding-top: 2rem;
}

#logo {
	display: block;
	/*display: flex;*/
	margin: 0 auto;
	text-align: center;
}

#logoImage {
	width: 40%;
	margin: 0 auto;
}

#logoImage img {
	width: 100%;
}

#logoText {
	color: #FFF;
	margin-top: 1rem;
}

nav {
	display: block;
	width: 100%;
	text-align: center;
	margin-top: 1em;
}


nav ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

nav ul li {
	display: inline-block;
	padding: 1rem;
}

nav ul li a {
	line-height: 1;
	/*border-bottom: 2px solid #f6c724;*/
	text-decoration: none;
	transition: 0s;
	color: #fff!important;
}

nav ul li a:hover {
	border-bottom: 3px solid #fff;
	transition: 0s;
}

/*=== nav styling ends ===*/



/*===========================*/
/*Content Section Styling
/*===========================*/

.content {
	margin: 0 auto;
	width: 80%;	
} /* sets width of main content div and centers it */

.content h1, .content h2 {
	text-align: center;
} /* center header text in content */

.content div {
	-ms-flex-pack: distribute;
	    justify-content: space-around;
	margin: 1.5rem 0 0;
} /* flexbox spacing and top margin */

/*.content div div.flexItem {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
} /* flexbox spacing */

.contentEvents div div.flexItem {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.contentEvents div.flexColumn {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.contentEvents h3, .contentSpeakers h3 {
	position: relative;
}

.contentSpeakers p i {
    font-style:italic;
}

.contentSpeakers p b {
    font-style:bold;
}

/*.contentEvents h3:before {
	position: absolute;
	content: "";
	height: 95%;
	width: 8px;
	background-color: #e80faa;
	left: -12px;
	z-index: -99;
} /*applies accent to event title*/*/


.contentEvents .list i {
	margin-right: .5rem;
}

.contentEvents .list a, .contentEvents  a {
	color: #FF0066;
}

.contentEvents  a {
	padding: 0.3rem 0.5rem 0.2rem 0.3rem;
	text-decoration: none;
}

.contentEvents .flexItem a {
	color: #21201f;
	padding-bottom: 5px;
	padding-top: 0px;
	text-decoration: none;
	border-bottom: 2px solid #FF0066;
	transition: 0.3s;
}

.contentEvents .flexItem a:hover, .contentEvents .flexItem a:focus {
	box-shadow: inset 0 -2em 0 0 var(--hover)!important;
	background-color: #fff;
	text-decoration: none;
	color: #fff;
	border-bottom: none;
	transition: 0.3s;
}/*button styling for event listing links*/

.contentEvents .flexItem a {
	--hover: #FF0066;
}

.directionsLink a, .directionsLink i, .directionsLink i:hover {
	transition:none!important;
}

/*.contentEvents .flexItem a:hover {
	color: #e84e24;
	text-decoration: none;
	border-bottom: 2px solid #e84e24;
}

.contentEvents .directionsLink, .directionsLink a {
	color: #999999;
	text-decoration: none;
	border-bottom: 2px solid #999999;
}

.contentEvents .directionsLink a:hover {
	text-decoration: none;
	border-bottom: 2px solid #c8313b;
}*/

.contentSpeakers h3 {
	margin-bottom: 0!important;
}

.contentSpeakers .flexItem div div {
	margin-top: 0!important;
}
.content div.authorImg {
	width: 50%;
	margin: 0 auto;
} /* sets size of author image and centers in div */

.content div.authorImg img {
	width: 100%;
	border-radius: 5px;
} /* image fills container and rounds corners slightly */

.authorImg img {
	max-width: 100%;
	height: auto;
}

.authorBio.short {
	position: relative;
	height: 125px;
	overflow: hidden;
}

.authorBio.short:after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	height: 100%;
	width: 100%;
	background: linear-gradient(to top, rgba(255,255,255,1), rgba(0,0,0,0));
}

.authorBio.long {
	display: none;
}

.readMore {
	width: 100%;
	margin: 0 0 1rem;
	font-size: 0.9rem;
    cursor: pointer;
    display: inline-block;
	text-decoration: underline;
}

.ellipsis {
    color: black;
    font-weight: bold;
    font-size: 14px;
}
	

.flexItem {
	margin: 0 0 2rem !important;
} /* bottom margin on author sections */

.flexItem h3 {
	margin: 1rem 0;
} /* bottom margin on author names */

.contentSpeakers h3 {
	text-align: center;
}

.contentAbout .sponsors, .contentAbout .prevFest {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.contentAbout .para a {
	color: #21201f;
	border-bottom: 2px solid #c8313b;
}

.contentAbout .para a:hover {
	color: #c8313b;
	border-bottom: 2px solid #c8313b;
}

.sponsors div, .prevFest div {
	width: 50%;
	padding: 0.5rem;
	text-align: center;
}
	
.sponsors div img {
	width: 100%;
}

/*.prevFest div img {
	width: 100%;
}*/

.prevFest .festLand img {
	width: 100%;
}

.contentEvents div.eventsList, .contentSpeakers div.eventsList {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.eventsList a {
	text-decoration: inherit;
}

/*== styling under authors & event page (top) ==*/

.flexItem ul, .list {
	list-style-type: none;
	padding: 0;
	margin: 0;
	text-align: center;
}

.contentEvents .flexItem ul {
	text-align: initial;
}

.flexItem ul li {
	margin: 1rem 0;
}


/*============
/*Content Section Media Queries
=============*/

@media (min-width: 43.75em) {
	
	#logoText {
		text-align: left;
	}
	
	nav {
		margin-top: initial;
	}

	.content div {
		-ms-flex-direction: row;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		        flex-direction: row;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		/*-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;*/
	} /* changes content layout of author section to horizontal */

	.content div div.flexItem {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-direction: column;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		        flex-direction: column;
		/*-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;*/
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		width: 50%;
		padding: 0 1rem 0;
	} /* author section width on medium devices to 1/2 (2 columns) */
	
	.contentEvents div div.flexItem {
		width: 45%;
		margin: 2rem 0!important;
	}
	
	.contentEvents div div.flexItem {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
	
	.contentAbout .sponsors, .contentAbout .prevFest {
		-ms-flex-pack: distribute;
		    justify-content: space-around;
	}
	
	.sponsors div, .prevFest div {
		width: 25%;
	}

	
	.contentAuthor div.authorImg {
		width: 25%;
	}
	
	
}

/* Large screens / 900px+ */

@media (min-width: 56.25em) {
	
	.content h2 {
		font-size: 3rem;
	} /* increases header font size */

	.contentSpeakers div div.flexItem {
		/*width: 33%;*/
		padding: 0 1rem 0;
	} /* sets individual flex sections to width to 1/3 (3 columns) */
	
	.contentAuthor div.authorImg {
		width: 20%;
	}
	
	.sponsors div {
		width: 25%!important;
	}

	.sponsors div img {
		width: 75%;
	}
	
	.prevFest div {
		width: 25%;
	}
	
	/*.prevFest div img {
		width: 100%;
	}*/
}

/*===========================*/
/*Footer Section Styling
/*===========================*/

footer {
	width: 100%!important;
	margin: 2rem auto 0;
	padding-bottom: 1rem;
	color: #fff;
	background-color: #21201f;
}

footer .colophon, footer .footerSocial {
	float: none;
	width: 100%;
	margin-top: 2rem;
	text-align: center;
	line-height: 1.3em;
	font-size:1.3em;
	}

	
footer a, a:hover, i, i:hover {
	text-decoration: none;
}

footer i, footer a {
	color: #fff;
}

footer a:hover :not(i) {
	text-decoration: none;
	color: #FCAF3C;
	border-bottom: 2px solid #FCAF3C;
}


footer .footerSocial i:hover {
	color: #FCAF3C;
}

small {
	font-size: 0.8rem;
}


/*==button styles==*/

.btn, .btn:hover {
	padding: 0.5rem 1rem;
	text-decoration: none;
	border-radius: 2px;
	-webkit-transition: 0.25s;
	-o-transition: 0.25s;
	transition: 0.25s;
}

.btn-green {
	background-color: #009473;
	color: #fff;
}/*main button style--may not be green!*/

.btn-green:hover {
	background-color: #cc1178;
	text-decoration: none;
	color: #fff;
}

.btn-color2 {
	background-color: #FCAF3C;
	color: #001220;
}/*main button style--may not be green!*/

.btn-color2:hover, .btn-color2:focus {
	box-shadow: inset 0 -3em 0 0 var(--hover)!important;
	background-color: #FCAF3C;
	text-decoration: none;
	color: #001220;
}

.btn-color2 {
  --hover: #fcbf62;
}

.btn-outline {
	background-color: transparent;
	-webkit-box-shadow:inset 0px 0px 0px 2px #FF1696;
	        box-shadow:inset 0px 0px 0px 2px #FF1696;
	color: #FF1696;
}

.btn-outline:hover {
	background-color: #FF1696;
	color: #fff;
}

.btn-outline-white {
	background-color: transparent;
    box-shadow:inset 0px 0px 0px 2px #fff;
	color: #fff;
}

.btn-outline-white:hover, .btn-outline-white:focus {
	box-shadow: inset 0 -2em 0 0 var(--hover)!important;
	background-color: #fff;
	text-decoration: none;
	color: #e80faa;
}

.btn-outline-white {
  --hover: #fff;
}

/*
.btn-outline-white {
	background-color: transparent;
	-webkit-box-shadow:inset 0px 0px 0px 2px #fff;
	        box-shadow:inset 0px 0px 0px 2px #fff;
	color: #fff;
}

.btn-outline-white:hover {
	background-color: #fff;
	-webkit-box-shadow:inset 0px 0px 0px 2px #fff;
	        box-shadow:inset 0px 0px 0px 2px #fff;
	color: #e80faa;;
}
*/

.btn-outline-color {
	background-color: transparent;
	-webkit-box-shadow:inset 0px 0px 0px 2px #f6c724;
	        box-shadow:inset 0px 0px 0px 2px #f6c724;
	color: #f6c724;
}

.btn-outline-color:hover {
	background-color: #f6c724;
	-webkit-box-shadow:inset 0px 0px 0px 2px #f6c724;
	        box-shadow:inset 0px 0px 0px 2px #f6c724;
	color: #21201f;
}

.btn-transparent {
	background-color: #fff;
	color: #939393 !important;
}

.btn-transparent:hover {
	background-color: #dcdcdc;
}

.btn-white {
	background-color: #f5f5f5;
	color: #21201f;
}

.btn-white:hover {
	background-color: #dcdcdc;
	color: #21201f;
	border: none;
}

@media (min-width:43.75em) {

		header {
		display: flex;
		align-items: center;
		}
		
		.headerImg {
		/*background-size: 60%;*/
		}
		
		#logo {
		float: left;
		display: flex;
		align-items: center;
		width: 60%;
		}

		#logoImage {
		width: 15%;
		margin: 0;
		}
		
		#logoText {
		margin-top: 0;
		margin-left: 2rem;
		}
		
		nav {
		float: right;
		width: 40%;
		text-align: right;
		margin-top: 0;
		}
		
		nav ul li {
		padding-right: 0;
		}
		
		footer {
		background-size: 60%;
		padding-top: 1rem;
		background-color: #21201f;
		}

		footer, footer a, footer i {
		color: #fff;
		}
		
		footer a, a:hover, i, i:hover {
		text-decoration: none;
		}

		/*footer a :not(i) {
		color: #76787a;
		}

		footer a:hover :not(i) {
		text-decoration: none;
		color: #e84e24;
		border-bottom: 2px solid #e84e24;
		}*/

		
		footer .footerSocial i:hover {
		color: #FCAF3C;
		}
		
		footer .colophon {
		float: left;
		width: 50%;
		text-align: initial;
		margin-top: 0;
		}

		footer .footerSocial {
		float: right;
		width: 50%;
		text-align: right;
		margin-top: 0;
		}
}

/* IE 10-11 flexbox fix */

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	
	.headerHome, .headerImg, .authorImg, footer {
		flex-shrink: 0;
	}
	
	.content, .contentAuthor {
		flex: 1 0 auto;
	}
	
	.contentEvents div div.flexItem * {
	width: 100%;
	text-align: left;
	}
	
	.directionsLink i {
		display: inline;
	}
	

	#logoImage {
		height: 100%;
	}

}