@charset "utf-8";
/*
Theme Name: Dave Doherty Insurance
Theme URI: https://davedohertyinsurance.ie/
Author: Flo Web Design
Author URI: https://flowebdesign.ie/
Description: Bespoke WordPress theme for Dave Doherty (Insurance Brokers) Ltd, ported pixel for pixel from the original static HTML site. Fixed 970px layout, custom logo carousel, no page builder. Site content is edited through Advanced Custom Fields Pro (Appearance > Site Content); the theme falls back to the original wording if ACF is unavailable, so the front end never shows empty gaps.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ddi
Tags: custom-menu, featured-images, translation-ready
*/

/* =========================================================================
   1. ORIGINAL STYLES (ported from css/web-style.css)
   Image paths changed from ../images/ to images/ because this stylesheet
   now sits in the theme root rather than in a /css/ subfolder.
   ========================================================================= */

/***** Reset! Modified From: http://developer.yahoo.com/yui/reset *****/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {  margin: 0; padding: 0;
}
hr{ border:none; background:#d6d6d6; color:#d6d6d6; height:1px; margin:15px 0; padding:0; width:100%; float:left;}
table { border-collapse: collapse; border-spacing: 0; }
fieldset,img { border: 0; }
address,caption,cite,code,dfn,em,th,var { font-style: normal; font-weight: normal; }
ol,ul { list-style:inside;  }
caption,th { text-align: left; }
h1,h2,h3,h4,h5,h6 { font-size: 100%; font-weight: normal; }
q:before,q:after { content: ''; }
abbr,acronym { border: 0; }
a { outline: none; text-decoration: none; color:#cc212d;}
a:hover{ text-decoration: underline; color:#ed2231;}
a img { border: none; }
.clear { clear: both; font-size: 1px; line-height: 1px; overflow: hidden; visibility: hidden; width: 0; height: 0; }
.texthide { text-indent: -9999em; }
span{ color:#666;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display:block;
}

body {
	background:#dce6f0 url(images/bg.jpg) top repeat-x;
	font-family:Arial, Helvetica, sans-serif;
	color:#666;
}

#wrap {
	margin:0 auto;
	width: 970px;
	padding:0;
	background:#fff;
}

/***** HEADER & NAVIGATION *****/

#main {
	background:#0d0d0d url(images/header.gif) top repeat-x;
	position: relative;
	width:100%;
	}

#logo{
	float: left;
	width: 328px;
	height: 80px;
	margin:23px 0px 25px 10px;
	padding:0px;
	background: url(images/dave-doherty-insurance.png) no-repeat;
	-webkit-transition: opacity .2s ease-in-out;
	-moz-transition: opacity .2s ease-in-out;
	-o-transition: opacity .2s ease-in-out;
	transition: opacity .2s ease-in-out;
}

#logo:hover {
	opacity: .90;
}

#logo a{ display:block; width:100%; height:100%;}

#get-in-touch {
	float: right;
	width: 240px;
	padding:0; margin:30px 10px 0 0;
	text-align:right;
	color:#FFF;
	opacity: 1;
}

#get-in-touch h1 a, #get-in-touch .phone a{ font-size:140%; text-decoration:none; color:#FFF;}
#get-in-touch h2 a, #get-in-touch .address a{ font-size:100%; text-decoration:none; color:#FFF;}
#get-in-touch:hover {
	opacity: 0.9; color:#FFF;
}

#primary {
	float:left;
	width: 100%;
	background:#b60a16 url(images/menu.gif) top repeat-x;
	margin:0;
	padding: 0;
	font-weight:normal;
	text-shadow: 1px 1px 0px #000;
	font-size:100%;
	font-weight:normal;
}

#primary ul{ margin:0; padding:0; list-style:none;}

#primary ul li {
	display: inline;
	list-style:none;
	float:left;
	padding:15px 0;
	background:url(images/div.gif) right repeat-y;
}

#primary li a {
	padding:15px 26px;
	margin:0;
	color: #ffffff;}

#primary li a:hover {
	background:#9b0510 url(images/arrow.gif) bottom center no-repeat; text-decoration:none;

}


/* Drop Down */

#primary ul li ul {
	margin:0; padding:0;
	display: none;
	width:200px; /* Width to help Opera out */
	background:#ff9701;
	z-index:9999;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	}

#primary ul li ul li {
	margin:0; padding:0;

	float:left;}

#primary ul li:hover ul {
	display: block;
	position: absolute;
	border:0;
	top:162px;
	margin: 0;
	padding: 0; }

#primary ul li:hover li {
	float: none; margin:0; padding:0; }

#primary ul li:hover li a {
	float:left;
	color: #ffffff;
	text-transform:uppercase;
	text-shadow: 1px 1px 0px #000;
	margin:0; padding:8px;
	width:184px;
	border-bottom:#ec8b00 1px solid;
	height:auto;
	line-height:110%;
	background:none;
	text-align:left;
	display: inline;
	list-style:none;
	}

#primary ul li ul li a:hover {
	color:#ffffff; background:#ffb242; }

#primary li:hover ul, #primary li.hover ul {
	display: block;
	position: absolute;
	margin: 0;
	padding: 0; }
#primary li:hover li, #primary li.hover li {
	float: none; }
#primary li:hover li a, #primary li.hover li a {
	color: #ffffff;}


#slider-wrapper{ float:left; margin:0; padding:0; width:970px;}
/* Left inline, not display:block, so the ~4px inline descender gap under
   the banner is preserved exactly as the original site rendered it. */
#slider-wrapper img{ width:970px; height:auto; max-width:100%;}

/* NOTE: h1.jpg was never present in the original site either, and no page
   uses .page-title. Rule kept for fidelity. Supply the image before using it. */
.page-title{ background:url(images/h1.jpg) top left no-repeat; float:left; margin:0; padding:20px 0px 20px 20px; width:920px; font-size:160%; color:#FFF; text-shadow: 1px 1px 0px #000;}

.content-text{ float:left; margin:0; width:950px; padding:10px;}
.content-text h1{color:#cc212d; font-size:150%; padding-bottom:10px;}
.content-text h2{ font-size:125%; }
.content-text h3{ font-size:100%; color:#e74954;}
.content-text p, .content-text ul li{ font-size:90%; line-height:140%;}

.homebox{ float:left; margin:0px 0px 14px 0px; padding:0px; width:300px;}
.homebox img{ float:left; margin:0px 10px 30px 0px; padding:0px;}
.homebox h3{ float:right; width:250px; text-transform:uppercase; font-size:120%; line-height:180%;}
.homebox h3 a{  display:block; color:#999999; text-decoration:none;}
.homebox h3 a:hover{ color:#666666; text-decoration:none;}
.homebox p{ float:right; width:250px; font-size:80%; text-align:left; color:#a5a5a5;}
.homemarging{ margin-left:25px;}

.greybox, .side-box{ float:left; width:96%; padding:2%; background:#f5f5f5;}

#cslider{
	width:950px;
	padding:0px;
	margin:0px auto;
	}

#page-left {
	float: left;
	width:265px;
	padding:0 0 20px 0;
	margin:0;
}

#page-right {
	float:right;
	width:650px;
	margin:0;
	background: url(images/border.gif) bottom left no-repeat;
	padding:0 0 20px 20px;
}

.star li{ list-style-image:url(images/star.png); vertical-align:top;}

/***** NEWS *****/

.news-item {
	margin-bottom: 8px; padding-bottom:8px; font-size:95%;
	-webkit-transition: width 0.3s linear, background 0.2s ease;
	-moz-transition: width 0.3s linear, background 0.2s ease;
	-o-transition: width 0.3s linear, background 0.2s ease;
	transition: width 0.3s linear, background 0.2s ease;
	border-bottom:#c5c1c9 1px solid;

}

.news-item:hover {
	background:#fcfcfc;
}

.news-item img{ float:left; margin:0 8px 0 0; background:#FFF; padding:5px; border:#CCC 1px solid;}


/***** FORM *****/
#newsletter{ width:98%; margin:0; padding:0;}
#contactus fieldset { margin: 10px 0 10px 0; }

#contactus label {
	display: block;
	line-height: 1.5em;
	font-size:90%;
}

#contactus fieldset:last-child { margin: 0; }

#contactus fieldset input[type="text"],
#contactus fieldset input[type="tel"],
#contactus fieldset input[type="email"],
#contactus fieldset textarea
{
	width:98%;
	padding: 8px 8px;
	font-size: 12px;
	color: #89897e;
	border: 1px solid #e5e5dd;
	background: #f7f7f7;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px; }


#contactus input[type="submit"] {
	float: right;
	margin-right: 0px;
	padding: 8px 15px;
	text-transform: uppercase;
	line-height: 1;
	color: #fff;
	text-shadow: 1px 1px 1px #999;
	border: none;
	background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#e2323e), to(#cc212d));
	background-image: -moz-linear-gradient(19% 75% 90deg,#cc212d, #e2323e);
	background-image: linear-gradient(to bottom, #e2323e, #cc212d);
	background-color: #e2323e;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-o-border-radius: 8px;
	border-radius: 8px;
	cursor: pointer;
}

#contactus input[type="submit"]:hover {
	-webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, .4);
	-moz-box-shadow: 1px 1px 3px rgba(0, 0, 0, .4);
	box-shadow: 1px 1px 3px rgba(0, 0, 0, .4);
}

/***** FOOTER *****/

#primary-foot {
background:#4d4d4d;
width:96%;
padding:2%;
color:#cccccc;
font-size:80%;
float: left;
}

#primary-foot a{ color:#ededed; text-decoration:none;}
#primary-foot a:hover{ color:#ffffff; text-decoration:none;}

#footer-left{ float:left; width:60%; clear:both;}
#footer-right{ float:right; text-align:right; width:38%;}


#info {
	float: left;
	width: 100%;
}

#info ul{ margin:0; padding:0;}

#info ul li {
	display: inline;
	border-right: 1px solid #999;
	padding: 0 5px 0 1px;
}

#info ul li:last-child {
	border-right: none;
}

#footer-legal{ display:inline;}
#footer-legal ul{ display:inline; margin:0; padding:0; list-style:none;}
#footer-legal ul li{ display:inline; border-right:1px solid #999; padding:0 7px 0 4px;}
#footer-legal ul li:last-child{ border-right:none;}

#sidebox{float:left; margin:0 0 10px 0; width:253px; padding:10px 5px; border:#e5e5dd 1px solid; background:#f7f7f7;}
#sidebox h1{ font-size:90%; margin-bottom:6px;}

#links-menu{
	list-style:none;
	float:left;
	width:100%;
	font-size:90%;
	font-weight:normal;
	font-family:Arial, Helvetica, sans-serif;
}

#links-menu ul li{
	display: block;
	list-style:none;
}

/* NOTE: side-menu.gif is not present in the original site and #links-menu is
   unused. Kept for fidelity. */
#links-menu li a {
	list-style:none;
	float:left;
	padding:4% 0%;
	width: 100%;
	text-indent:10px;
	color: #003400;
	background:#fff url(images/side-menu.gif) bottom left repeat-x;
	margin-bottom:1px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

#links-menu li a:hover {
	text-decoration:none; color:#666;
}

.float-left{ float:left; margin-right:15px;}
.float-right{ float:right; margin-left:15px;}
.imgbrdr{ padding:4px; background:#FFF; border:#CCC 1px solid;}


/* NOTE: quote.png is not present in the original site and .testimonial is
   unused. Kept for fidelity. */
.testimonial{ font-style:italic; padding:25px 20px 25px 80px; background:#f9f9f9 url(images/quote.png) top left no-repeat; border-radius:6px; border:#dedede 1px dashed; margin:0 0 20px 0;}


/* =========================================================================
   2. LOGO CAROUSEL
   Replaces jCarousel 0.2.x / jQuery 1.4.2, which will not run against the
   jQuery bundled with modern WordPress. Geometry is copied exactly from the
   old css/skin.css jcarousel-skin-tango rules so it renders identically:
   850px clip inside a 950px rail, 115x73 items with a 20px gutter, and
   50x73 arrow hit areas either side.
   ========================================================================= */

.ddi-carousel{
	position:relative;
	width:850px;
	height:73px;
	padding:0 50px;
	margin:0;
}

.ddi-carousel__clip{
	position:relative;
	width:850px;
	height:73px;
	overflow:hidden;
}

.ddi-carousel__track{
	list-style:none;
	margin:0;
	padding:0;
	height:73px;
	white-space:nowrap;
	will-change:transform;
}

.ddi-carousel__track li{
	display:inline-block;
	vertical-align:top;
	width:115px;
	height:73px;
	margin:0 20px 0 0;
	padding:0;
	font-size:0;
	line-height:0;
}

.ddi-carousel__track li a,
.ddi-carousel__track li span.ddi-logo{ display:block; width:115px; height:73px;}
.ddi-carousel__track li img{ display:block; width:115px; height:73px; border:0;}

.ddi-carousel__btn{
	position:absolute;
	top:0;
	width:50px;
	height:73px;
	padding:0;
	margin:0;
	border:0;
	cursor:pointer;
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:0 0;
	text-indent:-9999em;
	overflow:hidden;
}

.ddi-carousel__btn--prev{ left:5px; background-image:url(images/back.png);}
.ddi-carousel__btn--next{ right:5px; background-image:url(images/forward.png);}


/* =========================================================================
   3. WORDPRESS HOUSEKEEPING
   Core classes the old hand-written site never needed, plus a few small
   fixes so editor output does not break the fixed-width layout.
   ========================================================================= */

.screen-reader-text{
	border:0;
	clip:rect(1px,1px,1px,1px);
	clip-path:inset(50%);
	height:1px;
	width:1px;
	margin:-1px;
	padding:0;
	overflow:hidden;
	position:absolute !important;
	word-wrap:normal !important;
}

.skip-link:focus{
	background:#fff;
	clip:auto;
	clip-path:none;
	color:#cc212d;
	display:block;
	font-size:14px;
	height:auto;
	left:5px;
	line-height:normal;
	padding:12px 20px;
	text-decoration:none;
	top:5px;
	width:auto;
	z-index:100000;
}

.content-text img{ max-width:100%; height:auto;}
.content-text h4{ font-size:110%;}
.content-text h5, .content-text h6{ font-size:100%;}
.content-text ol li{ font-size:90%; line-height:140%;}
.content-text blockquote{ margin:0 0 15px 20px; font-style:italic;}
.content-text strong, .content-text b{ font-weight:bold;}
.content-text em, .content-text i{ font-style:italic;}

.alignleft{ float:left; margin:0 15px 10px 0;}
.alignright{ float:right; margin:0 0 10px 15px;}
.aligncenter{ display:block; margin:0 auto 10px auto;}
.wp-caption{ max-width:100%;}
.wp-caption-text{ font-size:80%; padding:4px 0;}

/* Feedback messages for the contact form */
.ddi-notice{ float:left; width:96%; padding:2%; margin:0 0 15px 0; font-size:90%; line-height:140%;}
.ddi-notice--error{ background:#fdf0f1; border:1px solid #e8b4b8; color:#8e1b23;}
.ddi-notice--success{ background:#f2f8f2; border:1px solid #b7d7b7; color:#2c6b2c;}
.ddi-notice ul{ margin:6px 0 0 18px; list-style:disc outside;}
.ddi-hp{ position:absolute; left:-9999em; width:1px; height:1px; overflow:hidden;}

/* -------------------------------------------------------------------------
   Contact Form 7
   The form template uses the same fieldset and label structure as the original
   hand-written form, so most of the styling is inherited from the #contactus
   rules in section 1. What follows only covers the extra wrappers, messages and
   spinner that CF7 adds, and matches them to the original look.
   CF7's own stylesheet is left enqueued: it handles hiding the screen reader
   response region and animating the spinner, so there is no need to duplicate it.
   ---------------------------------------------------------------------- */

#newsletter .wpcf7 { margin:0; padding:0;}

#newsletter .wpcf7-form fieldset { margin:10px 0;}
#newsletter .wpcf7-form fieldset:last-of-type { margin:0;}

#newsletter .wpcf7-form label {
	display:block;
	line-height:1.5em;
	font-size:90%;
}

/* CF7 wraps every control in a span, which would otherwise shrink-wrap the
   input and lose the 98% width from the original form. */
#newsletter .wpcf7-form .wpcf7-form-control-wrap { display:block; width:100%;}

#newsletter .wpcf7-form input[type="text"],
#newsletter .wpcf7-form input[type="tel"],
#newsletter .wpcf7-form input[type="email"],
#newsletter .wpcf7-form textarea {
	width:98%;
	padding:8px;
	font-size:12px;
	color:#89897e;
	border:1px solid #e5e5dd;
	background:#f7f7f7;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
}

#newsletter .wpcf7-form textarea { height:auto; resize:vertical;}

#newsletter .wpcf7-form input[type="submit"] {
	float:right;
	margin-right:0;
	padding:8px 15px;
	text-transform:uppercase;
	line-height:1;
	color:#fff;
	text-shadow:1px 1px 1px #999;
	border:none;
	background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#e2323e), to(#cc212d));
	background-image:-moz-linear-gradient(19% 75% 90deg,#cc212d, #e2323e);
	background-image:linear-gradient(to bottom, #e2323e, #cc212d);
	background-color:#e2323e;
	-webkit-border-radius:8px;
	-moz-border-radius:8px;
	border-radius:8px;
	cursor:pointer;
	width:auto;
}

#newsletter .wpcf7-form input[type="submit"]:hover {
	-webkit-box-shadow:1px 1px 3px rgba(0,0,0,.4);
	-moz-box-shadow:1px 1px 3px rgba(0,0,0,.4);
	box-shadow:1px 1px 3px rgba(0,0,0,.4);
}

/* The spinner sits beside the button, so it needs to clear the float. */
#newsletter .wpcf7-spinner { float:right; margin:14px 10px 0 0;}

/* Validation and response messages, matched to the .ddi-notice styling used by
   the fallback form so the two look the same. */
#newsletter .wpcf7-form .wpcf7-response-output {
	clear:both;
	float:left;
	width:96%;
	margin:15px 0 0 0;
	padding:2%;
	border:1px solid #e8b4b8;
	background:#fdf0f1;
	color:#8e1b23;
	font-size:90%;
	line-height:140%;
}

#newsletter .wpcf7-form.sent .wpcf7-response-output {
	border-color:#b7d7b7;
	background:#f2f8f2;
	color:#2c6b2c;
}

#newsletter .wpcf7-not-valid-tip {
	display:block;
	color:#cc212d;
	font-size:80%;
	line-height:140%;
	padding:3px 0 0 0;
}

#newsletter .wpcf7-form input.wpcf7-not-valid,
#newsletter .wpcf7-form textarea.wpcf7-not-valid {
	border-color:#cc212d;
	background:#fdf7f7;
}

/* Honeypot and any hidden field wrapper must not add space. */
#newsletter .wpcf7-form .wpcf7-form-control-wrap[data-name^="honeypot"],
#newsletter .wpcf7-form .screen-reader-response { display:none;}


/* =========================================================================
   4. OPTIONAL SMALL SCREEN RULES
   The original site is a fixed 970px layout with no mobile handling at all.
   Everything below only applies under 990px, so the desktop rendering is
   untouched. Delete this whole block if a byte-for-byte match is wanted.
   ========================================================================= */

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

	body{ background-position:top center;}

	#wrap{ width:100%;}

	#logo{
		float:none;
		margin:18px auto;
		max-width:328px;
		background-size:contain;
	}

	#get-in-touch{
		float:none;
		width:auto;
		margin:0 10px 18px 10px;
		text-align:center;
	}

	#primary ul li{ float:none; display:block; background:none; padding:0;}
	#primary ul li ul{ display:none !important;}
	#primary li a{
		display:block;
		padding:12px 15px;
		border-bottom:1px solid rgba(0,0,0,.25);
	}

	#slider-wrapper{ width:100%;}
	#slider-wrapper img{ width:100%;}

	.content-text{ width:auto; float:none; padding:10px 15px; overflow:hidden;}

	.homebox, .homebox.homemarging{ float:none; width:auto; margin:0 0 20px 0;}
	.homebox h3, .homebox p{ float:none; width:auto;}
	.homebox img{ margin:0 10px 6px 0;}

	#page-left, #page-right{ float:none; width:auto; padding:0 0 20px 0; background:none;}
	#page-left iframe{ max-width:100%;}

	#cslider{ width:100%;}
	.ddi-carousel{ width:auto; padding:0 40px;}
	.ddi-carousel__clip{ width:100%;}
	.ddi-carousel__btn--prev{ left:0;}
	.ddi-carousel__btn--next{ right:0;}

	#footer-left, #footer-right{ float:none; width:auto; text-align:left; margin-bottom:15px;}

	#newsletter .wpcf7-form input[type="text"],
	#newsletter .wpcf7-form input[type="tel"],
	#newsletter .wpcf7-form input[type="email"],
	#newsletter .wpcf7-form textarea{ width:96%;}

	.content-text table{ width:100% !important;}
	.content-text table td{ display:block; width:100%;}
}

@media only screen and (max-width: 600px){
	#get-in-touch .phone a{ font-size:125%;}
}
