/*
Theme Name: DCD Rights
Author: Pipe Media
Author URI: https://pipemedia.co.uk
Description: Responsive WordPress Theme for DCD Rights
Version: 1.0
*/

/* Basic Styles
------------------------------------------- */

	body {
		background-color: #FFFFFF;
		font-family: "proxima-nova", Helvetica, Arial sans-serif; 
		font-size: 16px;
		line-height: 22px;
		color: #333333;
		font-weight: 300;
	}

/* Typography
------------------------------------------- */

	h1, h2, h3, h4, h5, h6 {
		font-family: "tuna", sans-serif;
		font-weight: 400;
		color: #111111;
		margin: 0 0 20px; }
	h1 { font-size: 60px; line-height: 68px; margin: 0; font-family: "almaq-refined", sans-serif; text-transform: uppercase; }
	h2 { font-size: 26px; line-height: 32px; margin: 40px 0 25px; }
	h3 { font-size: 20px; line-height: 26px; margin: 40px 0 25px; }
	h4 { font-size: 18px; line-height: 22px; }
	h5 { font-size: 16px; line-height: 20px; }
	h6 { font-size: 14px; line-height: 18px; }
	
	h1.smaller, h2.smaller {
		font-family: "almaq-refined", sans-serif;
		text-transform: uppercase;
		margin: 0 0 30px;
		font-size: 36px;
		line-height: 40px;
	}
	
	p { margin: 0 0 20px; font-weight: 300; }
	p.text-muted { color: #666666; }
	p img { margin: 0; }

	em { font-style: italic; }
	strong { font-weight: 500; }
	small { font-size: 80%; }

/*	Blockquotes  */
	blockquote, blockquote p { line-height: 36px; font-size: 26px; font-style: italic; color: #555555; }
	blockquote { margin: 40px 0 0; }
	blockquote p:last-child { margin: 0; }
	
/*	Horizontal Line  */
	hr { border: solid #111111; border-width: 2px 0 0; clear: both; margin: 20px 0; height: 0; }

/*	Text alignment  */

	.text-center { text-align: center; }
	.text-right { text-align: right; }

/* Misc Utilities
------------------------------------------- */

/*	Display None  */
	.d-none { display: none; }

/*	Margins  */
	.m-0 { margin: 0; }
	.mb-10 { margin-bottom: 10px; }
	.mb-20 { margin-bottom: 20px; }
	.mb-30 { margin-bottom: 30px; }
	.mb-40 { margin-bottom: 40px; }
	.mb-60 { margin-bottom: 60px; }
	.mt-20 { margin-top: 20px; }
	.mt-40 { margin-top: 40px; }
	.mt-60 { margin-top: 60px; }
	.ml-20 { margin-left: 20px; }
	.mr-20 { margin-right: 20px; }
	.m-auto { margin: 0 auto; }

/*	Floats  */

	.float-left { float: left; }
	.float-right { float: right; }

/* Links
------------------------------------------- */

	a { color: #FF0000; text-decoration: underline; }
	a:hover { color: #FF0000; }
	
	h1 a, h2 a, h3 a, h4 a { text-decoration: none; color: #333333; }
	
	a.btn,
	button.btn,
	form .frm_submit button,
	form .frm_submit input {
		display: inline-block;
		border: 1px solid #FF0000;
		background-color: #FF0000;
		padding: 10px 15px;
		text-decoration: none;
		font-weight: 500;
		font-size: 18px;
		line-height: 18px;
		color: #FFFFFF;
	}
	
	a.btn:hover,
	form .frm_submit button:hover,
	form .frm_submit input:hover {
		background-color: #FFFFFF;
		color: #FF0000;
	}

/* Lists
------------------------------------------- */

	ul {
		list-style: disc;
		padding: 0 0 0 22px;
	}
	
	ul li, ol li {
		margin: 0 0 8px;
		padding-left: 3px;
	}

/* Images
------------------------------------------- */

	img {
		max-width: 100%;
		height: auto;
	}

	img.alignleft {
		float: left;
		margin: 0 25px 25px 0;
	}
	
	img.alignright {
		float: right;
		margin: 0 0 25px 25px;
	}
	
	img.aligncenter {
		margin: 40px auto;
		display: block;
	}

/* Forms
------------------------------------------- */
	
	input[type="text"], input[type="email"], input[type="password"], textarea {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border-radius: 0;
	}
	
	select {
		border: 1px solid #DDDDDD;
		padding: 5px;
	}

	form .frm_submit button {
		margin-top: 20px;
	}

/* Table
------------------------------------------- */

	table {
		border-collapse: collapse;
		margin: 0;
		width: 100%;
		text-align: left;
	}

	table tr td {
		border-bottom: 1px solid #DDDDDD;
		padding: 10px;
	}
	
/* Colour Utilities
------------------------------------------- */

	

/* Sections
------------------------------------------- */

	section {
		position: relative;
		padding: 60px 0;
	}
	
	section.page-header {
		border-bottom: 4px solid #111111;
		padding: 40px 0;
	}
	
	section.page-header p {
		font-family: "tuna", sans-serif;
		font-weight: 400;
		line-height: 24px;
	}

	section h2.section-title {
		line-height: 42px;
		font-size: 42px;
		color: #454545;
		border: none;
		padding: 0;
	}

	section h2:first-child {
		margin-top: 0;
	}

/* Cookie Consent
------------------------------------------- */

	#cookie-law {
	    background-color: #555555;
		padding: 15px 0;
		width: 100%;
	}

	#cookie-law p {
	    font-size: 18px;
	    color: #FFFFFF;
		margin: 0;
	}

	#cookie-law p a {
		color: #FFFFFF;
	}

	#cookie-law p a.close-cookie-banner {
		background: url('images/close.svg') no-repeat;
		background-size: 15px 15px;
		float: right;
		width: 15px;
		height: 15px;
		display: block;
		text-indent: -9999px;
		margin: 6px 0 0;
	}

/* Header
------------------------------------------- */
	
	header {
		border-bottom: 2px solid #111111;
		padding: 25px 0;
		position: relative;
	}
	
	header #logo img {
		float: left;
		margin-right: 20px;
	}
	
	header #logo p {
		text-transform: uppercase;
		font-size: 12px;
		line-height: 13px;
		float: left;
		margin: 0;
		color: #FF0000;
		font-weight: 500;
	}
	
/* Pre-Header
------------------------------------------- */
	
	section.pre-header {
		border-bottom: 2px solid #111111;
		padding: 15px 0;
	}
	
	section.pre-header ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	
	section.pre-header ul.social li {
		background: url('images/twitter.svg') no-repeat;
		background-size: 25px auto;
		width: 25px;
		height: 25px;
		margin: 0 7px 0 0;
		padding: 0;
		float: left;
	}
	
	section.pre-header ul.social li.facebook {
		background: url('images/facebook.svg') no-repeat;
		background-size: 25px auto;
	}
	
	section.pre-header ul.social li.linkedin {
		background: url('images/linkedin.svg') no-repeat;
		background-size: 25px auto;
	}
	
	section.pre-header ul.social li a {
		text-indent: -9999px;
		display: block;
		width: 100%;
		height: 100%;
	}
	
	section.pre-header ul.account {
		float: right;
	}
	
	section.pre-header ul.account li {
		border-right: 1px solid #CCCCCC;
		margin: 0;
		padding: 0 7px;
		float: left;
		line-height: 16px;
		font-size: 16px;
	}
	
	section.pre-header ul.account li:last-child {
		border: none;
		padding-right: 0;
	}
	
	section.pre-header ul.account li a {
		text-decoration: none;
		color: #333333;
	}
	
	section.pre-header ul.account li a:hover {
		text-decoration: underline;
	}
	
/* Navigation
------------------------------------------- */
	
	nav {
		position: absolute;
		bottom: 20px;
		right: 0;
	}
	
	nav ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	
	nav ul li {
		float: left;
		margin: 0;
		padding: 0;
		font-weight: 500;
	}
	
	nav ul li a {
		text-decoration: none;
		color: #FF0000;
		display: block;
		padding: 0 15px;
	}
	
	nav ul li.current_page_item a,
	nav ul li a:hover {
		text-decoration: underline;
	}

/* Footer
------------------------------------------- */

	footer {
		border-top: 2px solid #111111;
		padding: 20px 0 30px;
		font-size: 16px;
		line-height: 21px;
	}
	
	footer p {
		margin-bottom: 15px;
		font-size: 14px;
		line-height: 21px;
	}
	
	footer p a {
		color: #333333;
	}
	
	footer ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	
	footer ul li {
		float: left;
		border-right: 1px solid #CCCCCC;
		padding: 0 10px;
		margin: 0;
		font-size: 14px;
		line-height: 14px;
	}
	
	footer ul li:first-child {
		padding-left: 0;
	}
	
	footer ul li:last-child {
		border: none;
	}
	
	footer ul li a {
		text-decoration: none;
		color: #333333;
	}

/* Page
------------------------------------------- */	
	
	.row {
		max-width: 1100px;
	}


/* Sidebar
------------------------------------------- */

	aside ul {
		margin: 0 0 20px;
		padding: 0;
		list-style: none;
	}

	aside ul li a {
		color: #333333;
	}
	
	#news-archive {
		max-height: 1100px;
		overflow: scroll;
	}

/* Pagination
------------------------------------------- */

	.pagination {
		margin-bottom: 20px;
	}

	.pagination span,
	.pagination a {
		display: inline-block;
		background-color: #EEEEEE;
		width: 35px;
		text-align: center;
		text-decoration: none;
		padding: 5px 0;
		margin-right: 5px;
		color: #333333;
	}

	.pagination span:hover,
	.pagination a:hover,
	.pagination span.current {
		background-color: #FF0000;
		color: #FFFFFF;
	}

	.pagination span.current {
		font-weight: 500;
	}

/* Home
------------------------------------------- */
	
	.catalogue-carousel {
		margin-bottom: 40px;
	}

	.catalogue-carousel .slide {
		position: relative;
	}
	
	.catalogue-carousel .slide .caption {
		background: rgba(0, 0, 0, 0.7);
		padding: 15px;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	
	.catalogue-carousel .slide .caption h4 {
		margin: 0;
	}
	
	.catalogue-carousel .slide .caption h4 a {
		color: #FFFFFF;
	}
	
	.catalogue-carousel .owl-dots {
		position: absolute;
		bottom: 15px;
		right: 15px;
	}
	
	.catalogue-carousel .owl-dots button.owl-dot {
		background: rgba(255, 255, 255, 0.5);
		width: 15px;
		height: 15px;
		margin-left: 5px;
	}
	
	.catalogue-carousel .owl-dots button.owl-dot.active {
		background-color: #FFFFFF;
	}
	
	#twitter-feed {
		border: 1px solid #DDDDDD;
	}

/* Catalogue
------------------------------------------- */

	#filter {
		border: 1px solid #DDDDDD;
		padding: 15px;
		margin-bottom: 40px;
	}
	
	#filter h3 {
		margin: 0 0 15px;
	}

	#filter p.sub-title {
		font-weight: 500;
		margin-bottom: 10px;
	}
	
	#filter input,
	#filter select {
		border: 1px solid #DDDDDD;
		padding: 5px;
		box-sizing: border-box;
		width: 100%;
	}
	
	#filter label {
		display: block;
	}
	
	#filter label input {
		width: auto;
		margin-right: 10px;
	}
	
	#filter button {
		margin: 0;
		width: 100%;
	}
	
	ul.sub-menu {
		list-style: none;
		margin: 0 0 20px;
		padding: 0;
	}
	
	ul.sub-menu li {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #DDDDDD;
	}
	
	ul.sub-menu li a {
		text-decoration: none;
		padding: 10px 0;
		display: block;
		color: #333333;
	}
	
	ul.sub-menu li a:hover {
		color: #FF0000;
	}
	
	.login-prompt {
		background-color: #DDDDDD;
		margin: 30px 0;
		position: relative;
	}
	
	.login-prompt img {
		width: 100%;
		height: auto;
	}
	
	.login-prompt-overlay {
		background: rgba(0, 0, 0, 0.7);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
	.login-prompt-overlay .login-prompt-inner {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		color: #FFFFFF;
		width: 90%;
	}
	
	#episode-tabs .episode {
		padding: 20px 0 30px;
	}
	
	#episode-tabs .episode.hide {
		display: none;
	}
	
	#episode-tabs .episode h3 {
		margin-top: 0;
	}

/* Media Queries
------------------------------------------- */

@media screen and (max-width: 63.9375em) {

	nav {
		position: static;
		margin: 20px 0 0 -15px;
	}

}

/* Small only */
@media screen and (max-width: 39.9375em) {
	
	h1 {
		line-height: 58px;
		font-size: 50px;
	}
	
	.mobile-menu {
		background: url('images/menu.svg') no-repeat;
		background-size: 30px auto;
		width: 30px;
		height: 30px;
		position: absolute;
		right: 0;
		top: 30px;
	}
	
	nav {
		position: static;
		display: none;
		margin: 20px 0 0;
	}
	
	nav ul li {
		float: none;
	}
	
	nav ul li a {
		padding: 10px 0;
	}
	
	section.page-header {
		padding: 30px 0;
	}
	
	section {
		padding: 40px 0;
	}
	
	footer,
	footer p.text-right {
		text-align: center;
	}
	
	footer ul li {
		border: none;
		float: none;
		margin-top: 10px;
	}
	
	#filter {
		margin-bottom: 20px;
		padding: 10px;
	}
	
	#filter h3 {
		position: relative;
		margin: 0;
	}
	
	#filter h3::after {
		position: absolute;
		right: 0;
		top: 2px;
		content: "+";
		display: inline-block;
	}
	
	#filter h3.open::after {
		content: "-";
	}
	
	#filter form {
		display: none;
		margin-top: 15px;
	}
	
	#episode-tabs ul {
		padding-top: 1px;
	}
	
	#episode-tabs ul li {
		display: block;
		margin-top: 5px;
	}
	
	video {
		width: 100%;
		height: auto;
	}
	
}

/* Medium and up */
@media screen and (min-width: 40em) {}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
	
	h1 {
		line-height: 68px;
		font-size: 60px;
	}
	
	#filter {
		padding: 10px;
	}
	
	video {
		width: 100%;
		height: auto;
	}
	
}

/* Large and up */
@media screen and (min-width: 64em) {}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {}