/*
Theme Name: Blocks (2017)
Theme URI: http://www.dcthomson.co.uk
Author: DC Thomson
Author URI: http://www.dcthomson.co.uk
Description: Plugin CSS for the Blocks theme (2017).
*/

/***************
Plugin: DCT CTAs
***************/

.cms + .dct-cta {
	margin-top: 20px;
	margin-bottom: 20px;
}

/***************
Plugin: DCT FAQs
***************/

.dct-faq,
.dct-faq__section {
	margin: 0 !important;
}

.dct-faq__section:not(:last-child) {
	border-bottom-color: #ddd;
}

.dct-faq__title-btn-icon {
	margin-top: .25rem;
	padding: .25rem;
	background-color: #000;
	border-radius: 50%;
}

.dct-faq__icon--arrow {
	border-left-color: #fff;
	-webkit-transform: scale(.6);
	transform: scale(.6);
}

.dct-faq__title-btn[aria-expanded="true"] .dct-faq__icon--arrow {
	-webkit-transform: scale(.6) rotate(90deg);
	transform: scale(.6) rotate(90deg);
}

/*********************
Plugin: Contact Form 7
*********************/

.wpcf7-form {
	margin: 20px auto;
	padding: 20px;
	max-width: 620px;
	background-color: #fcfcfc;
}

.wpcf7-form:hover {
	background-color: #f8f8f8;
}

.wpcf7-form > p {
	margin-bottom: 20px;
}

.wpcf7-form > p:last-of-type {
	margin-bottom: 0;
}

.wpcf7-form > p:after {
	content: '';
	display: block;
	clear: both;
}

.wpcf7-form label {
	display: block;
	line-height: 120%;
	font-size: 87.5%;
}

.wpcf7-form label > br {
	display: none;
}

.wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 10px;
}

.wpcf7-form label .required {
	display: inline;
	margin-left: .5em;
	font-weight: bold;
	color: red;
}

.wpcf7-form input[type='text'],
.wpcf7-form input[type='email'],
.wpcf7-form select {
	padding-left: 10px;
	padding-right: 10px;
	line-height: 40px;
	font-size: 100%;
}

.wpcf7-form select {
	padding-top: 10px;
	padding-bottom: 10px;
}

.wpcf7-form textarea {
	padding: 10px;
}

.wpcf7-form input[type='text'],
.wpcf7-form input[type='email'],
.wpcf7-form select,
.wpcf7-form textarea {
	display: block;
	margin: 0;
	width: 100%;
	max-width: 100%;
	border: 1px solid #ddd;
	border-radius: 3px;
	box-sizing: border-box;
}

.wpcf7-form input[type='text']:hover,
.wpcf7-form input[type='email']:hover,
.wpcf7-form textarea:hover {
	border-color: #aaa;
}

.wpcf7-submit {
	display: inline-block;
	padding: 10px 16px;
	border: 0 none;
	background-color: #4a4;
	font: 400 100%/100% 'Arial', sans-serif;
	color: #fff;
	border-radius: 3px;
	box-sizing: border-box;
}

.wpcf7-submit:hover {
	background-color: #222;
	cursor: pointer;
}

/* Plugin: Contact Form 7 > Success */
div.wpcf7-mail-sent-ok {
	border: 1px solid #8da;
	background-color: #dfd;
	color: #4a4;
}

/* Plugin: Contact Form 7 > Error */
span.wpcf7-not-valid-tip,
div.wpcf7-validation-errors {
	border: 1px solid #faa;
	background-color: #fee;
	color: #903;
}

/* Plugin: Contact Form 7 > Shared */
div.wpcf7-mail-sent-ok,
div.wpcf7-validation-errors {
	margin: 20px 0 0 0 !important;
}

span.wpcf7-not-valid-tip,
div.wpcf7-mail-sent-ok,
div.wpcf7-validation-errors {
	padding: 6px;
	width: 100%;
	font-size: 87.25% !important;
	text-align: center;
	border-radius: 3px;
	box-sizing: border-box;
}

.wpcf7 form .wpcf7-response-output {
	margin: .5rem 0 !important;
	padding: .75rem !important;
	border-width: 1px !important;
	line-height: 1.3;
	font-weight: 500;
	text-align: center;
	border-radius: .25rem;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #b6d9c2;
	background-color: #f2fff2 !important;
	color: #044 !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: #faa !important;
	background-color: #fee !important;
	color: #903 !important;
}

/********************
Plugin: Elastic Press
********************/

.ep-search__results {
	border-left: 1px solid #e5e5e5;
}

.ep-search__filters.js-on {
	display: block;
}

.ep-search .results__title {
	line-height: 120%;
}

.ep-search .results__title--small {
	margin-bottom: .8em;
}

.results__search-form-container .results__title--small,
.ep-search__results .results__title--small {
	padding-top: 10px;
}

.ep-search .results__search-form-container p {
	margin-bottom: 1.2em;
}

/* Plugin: Elastic Press > Filter Button */
.filter-btn {
	margin: 20px auto;
	width: 160px;
	color: #fff;
}

.filter-btn:before {
	content: '\f510';
	display: block;
	float: left;
	margin-right: 4px;
	font-family: 'Genericons', sans-serif;
}

.filter-btn.js-on:before {
	content: '\f50e';
}

/* Plugin: Elastic Press > Filters */
.ep-search__filter-title {
	display: block;
	margin-bottom: 10px;
	padding-bottom: 4px;
	border-bottom: 1px dashed #e5e5e5;
	line-height: 20px;
	font-weight: 600;
}

.ep-search__filter {
	margin-top: 20px;
	margin-bottom: 20px;
}

.ep-search__filter-list {
	list-style: none;
	font-size: 87.5%;
}

.ep-search__filter-item {
	margin-bottom: 10px;
}

.ep-search__filter-link:hover {
	text-decoration: underline;
}

/* Plugin: Elastic Press > Filter aggregations */
.ep-search__agg-count--empty {
	display: inline-block;
	margin-left: 4px;
	padding-left: 4px;
	padding-right: 4px;
	width: 8px;
	height: 16px;
	background-color: #e6e6e6;
	font: 600 15px/16px 'Arial', sans-serif;
	color: #bbb;
	border-radius: 8px;
}

.ep-search__agg-count--empty:after {
	vertical-align: top;
	font-size: 11px;
	font-weight: 400;
}

.ep-search__filter-link:hover > .ep-search__agg-count--empty {
	width: 64px;
	background-color: #555;
	color: #fff;
}

.ep-search__filter-link:hover > .ep-search__agg-count--empty:after {
	content: 'Remove?';
	margin-left: 4px;
}

/* Plugin: ElasticSearch > Widget */
.elas-widget-related-posts {
	list-style: none;
}

.elas-widget-related-posts li {
	padding-left: 0;
	padding-right: 0;
	border-top: 0;
	border-bottom: 1px solid #e5e5e5;
}

.elas-widget-related-posts li:last-child {
	border: 0;
}

.elas-widget-related-posts a {
	display: block;
	line-height: 130%;
	font-size: 87.5%;
}

/* Plugin: ElasticSearch > Related Posts (content) */
.related-posts {
	padding: 15px;
	background-color: #f9f9f9;
}

.entry-content .related-posts {
	z-index: 1 !important;
}

.related-posts__title {
	margin-bottom: 1em;
	color: #000;
}

/****************
Plugin: Socialize
****************/

.socialize {
	list-style: none;
}

.socialize li {
	display: inline-block;
	vertical-align: middle;
}

.socialize-icon {
	display: block;
	width: 32px;
	height: 32px;
	line-height: 32px;
	font-family: 'Genericons', sans-serif;
	text-align: center;
	color: #fff;
	border-radius: 3px;
}

.socialize-icon:hover {
	background-color: #333;
}

.socialize-icon--email {
	background-color: #e5e5e5;
	color:#666;
}

.socialize-icon--email:hover {
	color: #fff;
}

.socialize-icon--email:after {
	content: '\f410';
}

/* Plugin: Socialize > Email form */
.socialize-email-form {
	padding: 10px;
	font-size: 100%;
	box-shadow: 0 2px 5px rgba(0,0,0,.1);
	box-sizing: border-box;
}

.socialize-email-form .text-field {
	margin-bottom: 16px;
	padding-left: 10px;
	padding-right: 10px;
	border: 1px solid #ddd;
	line-height: 32px;
	border-radius: 3px;
}

.socialize-email-form .text-field:hover {
	border-color: #aaa;
}

.socialize-email-form label {
	margin-bottom: 8px;
	line-height: 120%;
	font-size: 81.25%;
	font-weight: 400;
}

.socialize-email-form button {
	display: inline-block;
	padding: 10px 16px;
	border: 0 none;
	background-color: #4a4;
	font: 400 100%/100% 'Arial', sans-serif;
	color: #fff;
	border-radius: 3px;
}

.socialize-email-form button:hover {
	background-color: #222;
	cursor: pointer;
}

.socialize-email-form .socialize-cancel-button {
	display: inline-block;
	padding: 10px;
	font-size: 81.25%;
	color: #777;
}

.socialize-email-form .socialize-cancel-button:hover {
	color: #000;
}

.socialize-email-form p:after {
	content: '';
	display: block;
	clear: both;
}

.socialize-email-form p.socialize-error {
	margin-bottom: 16px;
	padding: 10px;
	border: 1px solid #faa;
	background-color: #fee;
	font-size: 81.25%;
	font-weight: 400;
	text-align: center;
	color: #f00;
	border-radius: 3px;
}

.socialize-email-form p.socialize-error:empty {
	margin: 0;
	padding: 0;
	border: 0;
}

/******************
Plugin: OpenWeather
******************/

div.openweather-widget {
	margin: 0;
	padding: 10px 0;
	font-family: inherit;
	box-sizing: border-box;
}

.changelocation {
	margin: 0;
	padding-left: 10px;
	padding-right: 10px;
	height: 40px;
	line-height: 40px;
	border-radius: 3px;
}

.weather-location {
	margin-bottom: 10px;
}

.ow-type {
	margin: 0;
	width: 40px;
	height: 40px;
}

.widget-wind {
	float: none;
	width: auto;
	text-align: left;
}

.ow-temp {
	margin: 0;
}

.ow-temp,
.ow-windspeed {
	display: block;
	float: left;
	margin-left: 10px;
	height: 40px;
	line-height: 32px;
	font-size: 100%;
}

.ow-windspeed span {
	line-height: inherit;
}

.openweather-widget:after,
.widget-wind:after {
	content: '';
	display: block;
	clear: both;
}

/****************
Plugin: PollDaddy
****************/

/* Plugin: PollDaddy > Loading */
.js-loading .PDS_Poll {
	margin-left: auto;
	margin-right: auto;
	width: 270px;
	height: 270px;
	background: #f6f6f6 url('../images/icons/poll-loader.gif') center center no-repeat;
	overflow: hidden;
}

.js-loading .PDS_Poll div,
.js-loading .PDS_Poll span,
.js-loading .PDS_Poll input,
.js-loading .PDS_Poll label,
.js-loading .PDS_Poll a {
	opacity: 0 !important;
}

/* Plugin: PollDaddy > Styles */
.PDS_Poll {
	display: block !important;
}

.pds-question-top {
	margin-bottom: 1.5em;
	line-height: 120%;
	font-weight: 600;
}

.pds-answer {
	margin-bottom: 1em;
}

.pds-answer-group {
	position: relative;
	display: block;
	margin-bottom: 1em;
	padding-left: 32px;
}

.pds-answer-input {
	position: absolute;
	top: 0;
	left: 0;
	margin-right: .25em;
}

.pds-answer-span {
	line-height: 125%;
}

.pds-vote-button {
	display: block;
	height: 40px;
	line-height: 40px;
	text-align: center;
}

.pds-vote-button:hover {
	cursor: pointer;
}

.pds-links,
.pds-links-back {
	display: block;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #ddd;
	font-size: 81.25%;
}

.pds-links:after,
.pds-links-back:after {
	content: '';
	display: block;
	clear: both;
}

.pds-view-results {
	display: block;
	float: left;
}

.pds-pd-link {
	display: block;
	float: right;
}

.pds-links br {
	display: none;
}

/* Plugin: PollDaddy > Results */
.pds-feedback-group {
	margin-bottom: 1em;
}

.pds-answer-feedback {
	margin-top: 10px;
	background-color: #ddd;
}

.pds-feedback-result {
	display: block;
	margin-top: 10px;
	font-size: 87.5%;
	font-weight: 600;
}

.pds-answer-feedback-bar {
	height: 10px;
}

/* Plugin: PollDaddy > Premium template */
.entry--premium .cms .PDS_Poll {
	margin-left: auto;
	margin-right: auto;
	padding: 15px;
	width: 300px;
	background-color: #f6f6f6;
	box-sizing: border-box;
}

/***************
Plugin: Qualifio
***************/

.qualifio_iframe_wrapper {
	background-color: #fafafa;
}

/****************
Plugin: Yoast SEO
****************/

/* Plugin: Yoast SEO > Breadcrumbs */
.breadcrumb {
	margin-bottom: 10px;
	color: #ddd;
}

.breadcrumb > span {
	margin-left: -.25em;
}

.breadcrumb > span a {
	display: inline-block;
	margin-left: .25em;
	margin-right: .25em;
}

.breadcrumb > span a:hover {
	color: #000;
}

.breadcrumb__label {
	margin-right: 10px;
	padding: 2px 6px;
	background-color: #000;
	color: #fff !important;
	border-radius: 3px;
}

/***********************
Plugin: Jobs in Scotland
***********************/

.widget_jobsinscotland {
	padding: 15px;
	background-color: #f6f6f6;
}

.jobs__header {
	margin-bottom: 20px;
}

.jobs__logo {
	display: block;
	margin: 0 auto;
	width: 200px;
}

.jobs__header + ul {
	list-style: none;
}

.jobs__job {
	padding-top: 10px;
	padding-bottom: 10px;
	border-top: 1px dashed #ccc;
}

.job__link {
	position: relative;
	padding-right: 40px;
}

.job__link .genericon {
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -16px;
	width: 32px;
	height: 32px;
	line-height: 32px;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
}

.job__title {
	margin-bottom: 5px;
	line-height: 120%;
	font-size: 100%;
}

.job__location,
.job__salary {
	line-height: 130%;
	font-size: 87.5%;
	color: #555;
}

.job__link,
.job__link > span {
	display: block;
}

/**************
Plugin: Taboola
**************/

.trc_related_container {
	margin-top: 20px;
	margin-bottom: 20px;
}

/**************
Plugin: Bloomberg
**************/

.suggestv-header {
	line-height: 110%;
}

/**************
Plugin: 24LiveBlogging
**************/
#LB24 .lb24-theme-block .lb24-base-news-container {
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: 2px solid !important;
	border-radius: 0 !important;
	padding-bottom: 2em !important;
}

#LB24 .lb24-theme-block .lb24-base-news-container.lb24-base-news-top .lb24-base-news-editor,
#LB24 .lb24-theme-block .lb24-base-news-container.lb24-base-news-top .lb24-base-news-date {
	display: none;
}

#LB24 .lb24-theme-block .lb24-base-news-container .lb24-base-news-editor .lb24-base-news-editor-name {
	margin-top: 0 !important;
	font-size: 14px !important;
	padding-left: 0 !important;
}

#LB24 .lb24-theme-block .lb24-base-news-container .lb24-base-news-body .lb24-base-news-title i {
	float: left;
}

#LB24 .lb24-theme-block .lb24-base-news-container .lb24-base-news-head .lb24-base-news-date {
	padding-left: 0 !important;
	font-size: 14px !important;
}

#LB24 .lb24-theme-block .lb24-base-news-container .lb24-base-news-body {
	padding: 0 !important;
}

#LB24 .lb24-theme-block .lb24-base-news-container .lb24-base-news-body .lb24-component-content p {
	font-size: 16px; !important;
	margin-bottom: 1em !important;
}

#LB24 .lb24-component-content img {
	max-width: 100% !important;
}

#LB24 .lb24-base-news-footer {
	padding-left: 0 !important;
	padding-right: 0 !important;
	clear: both;
}

#LB24 .lb24-base-news-footer li {
	margin: 0 !important;
}

#LB24 .lb24-base-news-footer li:before {
	display: none;
}

#LB24 .lb24-base-news-footer li:last-child {
	text-align: right !important;
}

#LB24 .lb24-theme-block .lb24-base-news-container > .lb24-list-item-highlight:hover {
	background: none !important;
}

/**************
Puzzle Elements
**************/

.puzzle-list--item {
	border: 1px solid #333;
}

.puzzle-list--item .puzzle-list--date {
	font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	text-transform: uppercase;
	font-weight: 800;
}

.puzzle-list--item .puzzle-list--link {
	color: white;
	background-color: black;
	font-size: 100%;
	font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	text-align: center;
	border-radius: 2px;
}

.puzzle-list--item .puzzle-list--link:hover,
.puzzle-list--item .puzzle-list--link:active {
	background-color: white;
	color: black;
}

.puzzle-list--item .puzzle-list--link:focus {
	outline: 2px dotted white;
}

.page-template-page-puzzle-single .site-header .back-to-puzzles {
	color: white;
}

.page-template-page-puzzle-single .site-header .back-to-puzzles:hover,
.page-template-page-puzzle-single .site-header .back-to-puzzles:active {
	text-decoration: underline;
}

.puzzle-list {
	width: 100%;
	list-style: none;
	margin-bottom: 2em;
}

.puzzle-list--item {
	width: 48.666%;
	float: left;
	margin-right: 1em;
	position: relative;
	min-height: 185px;
}

.puzzle-list--item:nth-of-type(2n) {
	margin-right: 0;
}

.puzzle-list--item .puzzle-list--title {
	padding: .5em .75em 1em .7em;
}

.puzzle-list--item .puzzle-list--date {
	padding: 0 0 1em 1em;
	display: block;
}

.puzzle-list--item .puzzle-list--description {
	padding: 0 1em 1em 1em;
}

.puzzle-list--item .puzzle-list--description {
	line-height: 1.4;
}

.puzzle-list--item .puzzle-list--img {
	width: 35%;
	height: auto;
	position: absolute;
	top: 1em;
	left: 1em;
}

.puzzle-list--item .puzzle-list--link {
	padding: .75em;
	position: relative;
	display: inline-block;
	float: left;
	margin-left: 40%;
	margin-bottom: 1em;
}

.puzzle-list--item .puzzle-list--title,
.puzzle-list--item .puzzle-list--date,
.puzzle-list--item .puzzle-list--description {
	float: left;
	text-align: left;
	width: 55%;
	margin-left: 37%;
}

.page-template-page-puzzle-single .site-header .logo {
	height: 30px;
}

.page-template-page-puzzle-single .site-header .back-to-puzzles {
	position: absolute;
	bottom: 0;
	top: 20px;
	right: 0;
}

/*************
Media: <=767px
*************/

@media only screen and (max-width: 767px) {

	/* Plugin: Elastic Press */
	.ep-search__results {
		border-left: 0;
	}

	.ep-search__filters {
		display: none;
	}

	/* Plugin: Yoast SEO */
	.breadcrumb {
		line-height: 150%;
	}

	/* Puzzler */
	.page-template-page-puzzle-single {
		padding-top: 0;
	}

	.puzzle-list .puzzle-list--item {
		width: 97%;
		margin-bottom: 2em;
		text-align: center;
	}

	.puzzle-list--item .puzzle-list--img {
		width: auto;
		position: relative;
		top: 0;
		left: 0;
		display: block;
		max-width: 290px;
		margin: 1em auto;
	}

	.puzzle-list--item .puzzle-list--link {
		padding: .75em;
		position: relative;
		display: inline-block;
		float: none;
		margin-left: 0;
		margin-bottom: 1em;
	}

	.puzzle-list--item .puzzle-list--title,
	.puzzle-list--item .puzzle-list--date,
	.puzzle-list--item .puzzle-list--description {
		float: left;
		text-align: center;
		width: 95%;
		margin-left: 0;
	}

	.page-template-page-puzzle-single .site-header .logo {
		position: absolute;
		left: 0;
		text-align: left;
		-webkit-box-pack: left;
		justify-content: left;
		width: 60%;
	}

	.page-template-page-puzzle-single .site-header .back-to-puzzles {
		right: 1em;
	}
}

/*************
Media: >=768px
*************/

@media only screen and (min-width: 768px) {

	/* Puzzler */
	.page-template-page-puzzle-single {
		padding-top: 0;
	}

	/* Plugin: 24LiveBlog */
	#LB24 .lb24-theme-block .lb24-base-news-container:not(.lb24-base-news-top) {
		display: grid;
		grid-template: 1em 1em 1fr / 1fr 3fr;
		grid-column-gap: 1em;
	}

	#LB24 .lb24-base-news-editor {
		grid-row: 1;
		grid-column: 1;
		align-self: start;
	}

	#LB24 .lb24-base-news-head.lb24-base-head-has-editor {
		grid-row: 2;
		grid-column: 1;
		align-self: start;
	}

	#LB24 .lb24-theme-block .lb24-base-news-container .lb24-base-news-head .lb24-base-news-date {
		margin: 0;
		padding: 0;
		align-self: start;
	}

	#LB24 .lb24-base-news-body {
		grid-column: 2 / -1;
		grid-row: 1 / -1;
	}

	#LB24 .lb24-base-news-footer {
		grid-row: 3;
		grid-column: 1;
		align-self: end;
	}

	#LB24 .lb24-base-news-footer li {
		display: block !important;
		width: 100% !important;
	}
}

/*************************
Media: >=768px && <=1024px
*************************/

@media only screen and (min-width: 768px) and (max-width: 1024px) {

	/* Plugin: Puzzler */
	.puzzle-list--item {
		width: 45%;
	}
}

/***********
Media: Print
***********/

@media print {

	.PDS_Poll,
	.jw-player,
	.jw-wrapper,
	.blaize-verticals,
	.blaize-mobile-dropdown,
	.dct-cta-wrap,
	.dct-cta {
		display: none !important;
	}
}
