/*
Theme Name: MJ Kennedy Solicitors
Theme URI: http://www.mjksolicitors.ie/
Author: Hilmon Arts
Author URI: http://www.hilmonarts.com
Description: Responsive Wordpress theme
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Text Domain: mjk

*/


* { box-sizing:border-box; -moz-box-sizing:border-box; } 

html { height:100%; }

body { height:100%; background-color:#fff; font-family:'Open Sans',Helvetica,Arial,sans-serif; font-size:10px; font-weight:300; color:#707274; }

.push-wrapper { min-height:100%; height:auto !important; height:100%; margin:0 auto -150px; }
.footer-wrapper, .push { height:150px; }

img { width:100%; height:auto; box-sizing:content-box; -moz-box-sizing:content-box; }

.mobile-break { display:none; }

.wrapper { max-width:1140px; width:100%; margin:0 auto; padding:0 20px; position:relative; }

.header { padding:18px 0 10px; background:#000; border-bottom:4px solid #fff; }
.header .logo { float:left; width:35%; max-width:346px; min-width:270px; padding:5px 0 10px; }
.header .contact { float:right; text-align:right; position:relative; overflow:hidden; clear:right; font-weight:300; }
.header .contact span { float:right; clear:right; font-size:2.2em; line-height:1.5em; white-space:nowrap; }
.header .contact span a { color:#fff; text-decoration:none; }
.header .contact span.email { font-size:1.8em; }
.header .contact span.email a { color:#ccc; }


.main-nav { background-color:#7b1e79; border-bottom:10px solid #943792; position:relative; z-index:999; margin-bottom:40px; }
.home .main-nav { margin-bottom:0; }

.main-nav .wrapper { text-align:center; }
.main-nav .wrapper > ul { display:inline; font-weight:300; font-size:1.6em; line-height:1.5em; letter-spacing:0.05em; text-transform:uppercase; }
.main-nav .wrapper > ul > li { display:inline-block; padding:15px 2.5%; white-space:nowrap; position:relative; }
.main-nav .wrapper > ul > li:first-of-type { padding-left:0; }
.main-nav .wrapper > ul > li:last-of-type { padding-right:0; }
.main-nav .wrapper > ul > li > a { color:#e4c8e3; text-decoration:none; opacity:1; transition:opacity 300ms; }
.main-nav .wrapper > ul > li > a:hover { opacity:0.7; }
.main-nav .wrapper > ul > li.current-menu-item > a { color:#fff; border-bottom:2px solid #fff; }

.main-nav ul ul { display:none; position:absolute; top:55px; left:22px; font-size:0.75em; width:auto; text-align:left; background-color:#ffaa00; z-index:+1; }
.main-nav .wrapper > ul > li:first-child ul { left:-20px; }
.main-nav ul li:hover ul { display:block; }
.main-nav ul ul a { color:#fff; text-decoration:none; display:block; padding:0 23px; transition:background-color 300ms; }
.main-nav ul ul a:hover { background-color:rgba(0,0,0,0.1); }
.main-nav .wrapper ul ul > li.current-menu-item > a { color:#000; }




/*** CONTAINERS ***/

/*** Page with Sidebar ***/
.container-outer { overflow:visible; margin-bottom:40px; }
.container-inner { max-width:66%; float:left; margin-right:33%; overflow:visible; position:relative; z-index:10; border-right:1px solid #e4e4e4;  }
.container-inner .content { float:left; padding-right:6%; width:100%; }
.sidebar { float:right; width:47%; position:relative; margin-right:-52%; }

/*** Page without Sidebar ***/
.container-inner.full { max-width:100%; float:none; margin-right:0; border-right:none; }
.container-inner.full .content { float:none; padding-right:0; }

/*** Content Clearfix ***/

.content:before, .content:after { content: "\0020"; display: block; height: 0; overflow: hidden; }  
.content:after { clear: both; }  
.content { zoom: 1; }  

/*** GRID ***/

div.col { float:left; margin:0 0 5% 0; }

.col-1 > div.col { width:100%; margin-right:0; }

.col-2 > div.col { width:47.5%; margin-right:5%; }
.col-2 > div.col:nth-of-type(2n+2) { margin-right:0; }

.col-3 > div.col { width:30%; margin-right:5%; }
.col-3 > div.col:nth-of-type(3n+3) { margin-right:0; }
.col-3 > div.col:nth-of-type(3n+4) { clear:left; }

.col-4 > div.col { width:21.25%; margin-right:5%; }
.col-4 > div.col:nth-of-type(4n+4) { margin-right:0; }

.col-1-2 > div.col:nth-of-type(odd) { width:30%; margin-right:5%; }
.col-1-2 > div.col:nth-of-type(even) { width:65%; margin-right:0; }

.col-2-1 > div.col:nth-of-type(odd) { width:65%; margin-right:5%; }
.col-2-1 > div.col:nth-of-type(even) { width:30%; margin-right:0; }

.col-3-1 > div.col:nth-of-type(odd) { width:73.75%; margin-right:5%; }
.col-3-1 > div.col:nth-of-type(even) { width:21.25%; margin-right:0; }


.col-2 > div.col:nth-of-type(1),
.col-3 > div.col:nth-of-type(1),
.col-4 > div.col:nth-of-type(1),
.col-1-2 > div.col:nth-of-type(1),
.col-2-1 > div.col:nth-of-type(1),
.col-3-1 > div.col:nth-of-type(1) { clear:left; } 

.grey-bg { background-color:#f5f5f5; padding-top:40px; }



/*** H ***/

h1, h2, h3, h4 { font-family:'Cinzel','Times New Roman', Times, serif; letter-spacing:0.025em; font-weight:400; color:#1d1d1d; line-height:1em; border-bottom:1px solid #ddd; }

h1.clear, h2.clear, h3.clear, h4.clear { clear:both; padding-top:1em; }

h1 { font-size:3.2em;  padding:0 0 0.5em; margin-bottom:1em;  } 

h2 { font-size:3em; margin-bottom:0.75em; border-bottom:none; }

h3 { font-size:2.7em; margin-bottom:0.5em; border-bottom:none; }

h4 { font-size:2.2em; margin-bottom:0.5em; border-bottom:none;  }

h2.h1, h3.h1, h4.h1 { font-size:3.2em;  padding:0 0 0.5em; margin-bottom:1em; border-bottom:1px solid #ddd;  } 


.quote-text { font:italic 3em/1.5em 'Cinzel','Times New Roman', Times, serif; border-bottom:none; padding:0; }

.center { text-align:center; }

.col-3 img { width:100%; }

/*** PAGES ***/

.content p { font-size:1.6em; line-height:1.6em; margin:0 2px 1.75em; text-align:justify; }

.col-3 .col p { text-align:left; }

.content strong { font-size:105%; }

.content a { color:#1f75b8; transition:color 300ms; }
.content a:hover { color:#00457a; }


/*** LISTS ***/

.content ul { font-size:1.6em; line-height:1.5em; margin:0 2px 1.5em 0; overflow:hidden; }
.content ul li { list-style-type:disc; margin:0 0 1em 30px; } 

.content ul li .fa-check { color:#a0bc3e; }

.content ul.arrow-list { overflow:visible; }
.content ul.arrow-list li:before { content:"\f0da"; font-family:'FontAwesome'; font-style:normal; font-size:1.5em; color:#ffaa00; position:absolute; top:0.015em; left:-1em; transition:left 300ms; }
.content ul.arrow-list li:hover:before { left:-0.75em; }
.content ul.arrow-list li { position:relative; list-style-type:none; }

.content ul.arrow-link-list { overflow:visible; font-size:1.8em; }
.content ul.arrow-link-list li { list-style-type:none; }
.content ul.arrow-link-list li a:before { content:"\f0da"; font-family:'FontAwesome'; font-style:normal; font-size:1.5em; color:#ffaa00; position:absolute; top:0.015em; left:-1em; transition:left 300ms; }
.content ul.arrow-link-list li a:hover:before { left:-0.75em; }
.content ul.arrow-link-list li a { position:relative; text-decoration:none; }

.content ul.tick-list { overflow:visible; }
.content ul.tick-list li:before { content:"\f00c"; font-family:'FontAwesome'; font-style:normal; color:#ffaa00; position:absolute; top:0.15em; left:-1.5em; }
.content ul.tick-list li { position:relative; list-style-type:none; }

.content ul.pdf-list { margin-left:5em; }
.content ul.pdf-list li:before { content:"\f1c1 "; font-family:'FontAwesome'; font-style:normal; color:#bc3e3e; font-size:2em; position:absolute; top:0.15em; left:-1em; }
.content ul.pdf-list li { position:relative; list-style-type:none; padding-top:0.25em; margin-bottom:1.5em; font-size:1.125em; }

.sidebar ul { list-style-type:disc; margin:0 0 45px 25px; font-size:1.4em; }
.sidebar ul li { margin-bottom:1em; }

/*** HOMEPAGE ****/

.home .header { margin-bottom:0; }

.home-page-banner { position:relative; margin-bottom:3%; border-bottom:30px solid #000; background-color:#e9e9e9; background:linear-gradient(top, #f1f1f1 0%,#a5a5a5 100%); background:linear-gradient(to bottom, #f1f1f1 0%,#a5a5a5 100%);  }

.home-page-banner .wrapper { background-image:url(images/people.png); background-position:right 550px top; background-repeat:no-repeat; position:absolute; bottom:0; left:0; right:0; top:0; }

.home-page-banner .content { max-width:1140px; width:100%; margin:0 auto; padding:0 20px; }

.home-page-banner .col-right { width:480px; float:right; margin:60px 0 20px; }

.home-page-banner .col-right span { font:normal 3.2em/1.5em "Cinzel", "Times New Roman", Times, serif; color:#7f7f7f; text-align:left; }

.home-page-banner .line-1,
.home-page-banner .line-2,
.home-page-banner .line-3 { display:block; }

.home-page-banner .line-1 { }
.home-page-banner .line-2 { margin-left:40px; }
.home-page-banner .line-3 { margin-left:60px; margin-bottom:20px; }

.home-page-banner .col-right ul { margin-left:75px; color:#333; }
.home-page-banner .col-right ul li { width:165px; float:left; margin-bottom:1.5em; }


/*** INNER PAGES ***/

.inner-page-banner { margin-bottom:40px; }

.inner-page-banner .col { margin-bottom:0; }

a.anchor-link{ display:block; padding:1px 0; }

/*** Buttons ***/

.button-wrapper { margin:0 auto 30px; max-width:500px; }

a.more-button { display:block; background-color:#1f75b8; color:#fff; text-align:center; text-decoration:none; font-weight:300; border-radius:5px; font-size:2.2em; padding:0.5em 5px; transition:background-color 300ms; }
a.more-button:hover { background-color:#00457a; color:#fff; }
.button-wrapper a.more-button { font-size:1.9em; padding:0.75em 5px; float:left; width:47.5%; margin-right:5%; margin-bottom:3%; }
.button-wrapper a.more-button:nth-of-type(2n) { margin-right:0; }

a.dark-blue { background-color:#00447A; }

.home .news li { color:#1f75b8; margin-bottom:1.5em; }
.home .news li a { color:#1f75b8; }

/*** ABOUT PAGE ***/

.about h2 { margin-top:-1em; }

/*** Testimonials ***/

.testimonial { text-align:left; margin-bottom:20px; padding-top:40px; border-top:2px solid #E5E1D2; }

.testimonial blockquote p { font:300 italic 1.6em/1.5 'Cinzel','Times New Roman', Times, serif; }

.content .testimonial > p { text-align:right; line-height:1.5em; margin-top:1em; color:#9f9a85 }



/** GOOGLE MAP **/

.map-frame { width:100%; height:auto; }
#map_canvas_baldoyle,
#map_canvas_donabate { width:100%; height:400px; }
#map_canvas_baldoyle img,
#map_canvas_donabate img { max-width:none; }
.map-frame h3 { font-size:1em !important; text-align:center; line-height:1em; }
.map-frame .info-box { display:block; text-align:center; }
.map-frame .instructions { margin-top:15px; }
.map-frame .instructions p { display:block !important; text-align:center; color:#999; font-size:1.2em; }

.map-frame .gm-err-container { display:none; }

/*** FORMS ***/

input, textarea, select {
  /* -webkit-appearance: none; */
  -webkit-border-radius: 0;
}

select { -webkit-appearance: none; }

/*** FORMS ***/

div.wpcf7 { margin:10px auto; padding:20px 0 70px; width:70%; position:relative; }

.wpcf7 form:before, .wpcf7 form:after { content: "\0020"; display: block; height: 0; overflow: hidden; }  
.wpcf7 form:after { clear: both; }  
.wpcf7 form { zoom:1; position:relative; } 

.screen-reader-response { display:none !important; } 

.wpcf7 p.notice { float:none; width:96%; font-size:1.1em; display:block; text-align:center; }

.content .wpcf7 p { float:left; width:45%; margin:0 2% 2.5%; }

.wpcf7 p.full { float:none; width:94%; }
.wpcf7 label { display:inline-block; line-height:2.5em; display:none; }
.wpcf7 input, 
.wpcf7 textarea,
.wpcf7 select { width:100%; border:1px solid #bbb; background-color:#fff; background-color:rgba(255,255,255,0.7); border-radius:4px; padding:10px; font-family: 'Open Sans', Helvetica,Arial,sans-serif; font-size:15px; color:#999; }
.wpcf7 textarea { height:120px; resize:vertical; }
.wpcf7 input.short { width:50%; }
.wpcf7 p.captcha { background:#fafafa; }
.wpcf7 img.wpcf7-captchac { float:right; margin-right:10px; position:relative; top:10px; width:auto; max-width:40%; }
input.wpcf7-submit {
    text-transform:uppercase; color:#fff;
    font-size: 1.3em;
		padding:6px 0;
		background-color:#7b1e79;
		border:none;
		cursor:pointer;
		transition: background-color 300ms;
		-webkit-appearance:none;
}
input.wpcf7-submit:hover { background-color:#000;  }

.wpcf7 span.wpcf7-not-valid-tip,
.wpcf7 span.wpcf7-not-valid-tip-no-ajax { display:none !important; }

.wpcf7-response-output {
		background:none;
		border:none !important;
		margin:0 !important;
		padding: 0 !important;
		z-index: 999;
		font-size:15px;
		text-align:center;
		position:absolute;
		bottom:-25px;
		right:0;
		width:100%;
		color:#000;
}

div.wpcf7 span.ajax-loader { position:absolute; display:none; left:50%; margin:0; padding:0; margin-left:-80px; top:auto; bottom:-30px; width:160px; height:20px; background:url(images/ajax-loader.gif); }
div.wpcf7 span.ajax-loader.is-active { display:block !important; }

.wpcf7-not-valid { border-color:#b15852 !important; }

span.wpcf7-form-control-wrap { display:inline !important; }

/** Homepage Contact **/

.home div.wpcf7 { margin:0px auto; padding:0px 0 30px; width:100%; max-width:550px; position:relative; }
.home .content .wpcf7 p { width: 46%; }
.home .content .wpcf7 p.full { width:96%; }
.home .wpcf7 input { padding:7px; }


/*** VIDO PAGE ***/

.videowrapper { float:none; clear:both; width:100%; position:relative; padding-bottom:56.25%; padding-top:25px; height:0; margin-bottom:20px; }
.videowrapper iframe { position:absolute; top:0; left:0; width:100%; height:100%; }


.footer {  position:relative; padding:5px 0; color:#fff; background:#7b1e79; min-height:100px; border-top:5px solid #f2f2f2;  }
.footer .wrapper { text-align:center; }
.social-wrapper { text-align:center; max-width:500px; margin:10px auto; }
.social-wrapper a { display:inline-block; margin:3% 2.5%; text-decoration:none; }
.social { max-width:50px; height:auto; border-radius:50%; background-color:#222; background-color:rgba(255,255,255,0.2); transition:background-color 400ms; }
.social:hover { background-color:#444; background-color:rgba(255,255,255,0.4); }
.social .fa { display:block; width:50px; height:50px; color:#fff; line-height:50px; }

.sub-footer { background-color:#000; border-top:1px solid #fff; min-height:50px; padding-top:14px; color:#999; font-size:1.3em; }
.sub-footer span { white-space:nowrap; }
.sub-footer small { font-size:95%; float:left; }
.sub-footer a { color:#666; transition:color 300ms; }
.sub-footer a:hover { color:#333; }

.sub-footer .hilmon { float:right; line-height:1.75em; }



/*** TABLES ***/

table.holiday { font-size:1.4em; }

table.holiday th,
table.holiday td { text-align:left; padding:5px; border:1px solid #ccc; }



/*** Go Top ***/

.go-top {
    position: fixed;
    bottom: 0.75em;
    right: 0.5em;
    text-decoration: none;
    color: white;
    background-color: rgba(0, 0, 0, 0.7);
    font-size: 2em;
    padding:0.5em 0.66em;
    display: none;
    margin: 0;
		z-index:9999;
		cursor:pointer;
}

.go-top:hover {
    background-color: rgba(0, 0, 0, 0.9);
    color: white;
    text-decoration: none;
}



/*** MISC ***/

img.alignleft { float:left; margin:3px 5% 5px 0; width:auto; max-width:40%; }
img.alignright { float:right; margin:3px 0 5px 5%; width:auto; max-width:40%; }
img.aligncenter { display:block; margin:5px auto 25px; width:auto; }

.line { line-height:2em; margin-bottom:2em; border-bottom:1px solid #e4e4e4; }

.overflow { overflow:hidden; }

.clear { clear:both; padding:2% 0; }

.text-center { text-align:center !important; }

.text-left { text-align:left !important; }

.nowrap { white-space:nowrap !important; }

.white { color:#fff !important; }



@media only screen and (max-width: 1100px) {
	
	.main-nav .wrapper > ul { font-size: 1.4em; }
	
}
@media only screen and (max-width: 1060px) {

	.homepage-boxes h3 { font-size:2.4em; }
	
	.sub-footer { text-align:center; }
	
	.sub-footer small { display:block; padding:10px 0; float:none; }
	
	.sub-footer .hilmon { display:block; float:none; }

}


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

	
	.header { padding-bottom:0; border-bottom:none; }
	.header .wrapper { padding:0; }
	.header .logo { padding-left:10px; margin-bottom:20px; }
	.header .contact { padding-right:20px; }
	
	.main-nav .wrapper > ul > li { padding: 15px 2%; }
	
	.col h1, 
	.col h2, 
	.col h3 { font-size:2.6em; }
	
	.homepage-boxes h3 { font-size:2em; }
	
	.home-page-banner .fadein p  { font-size:3.2em; }
	
	
}

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

	.header .contact { font-size:90%; }
	
	.main-nav .wrapper > ul { font-size: 1.3em; }
	.main-nav .wrapper > ul > li { padding: 15px 1.5%; }

}

@media only screen and (max-width: 768px) {
	
	.content p { text-align:left; }
	
	.col-2 > div.col,
	.col-3 > div.col:nth-of-type(n),
	.col-4 > div.col:nth-of-type(n),
	.col-2-1 > div.col:nth-of-type(n),
	.col-3-1 > div.col:nth-of-type(n),
	.gallery-size-thumbnail figure.gallery-item:nth-of-type(n) { width:47.5%; margin-right:5%; }
	
	.col-2 > div.col:nth-of-type(2n+2),
	.col-3 > div.col:nth-of-type(2n+2),
	.col-4 > div.col:nth-of-type(2n+2),
	.col-2-1 > div.col:nth-of-type(2n+2),
	.col-3-1 > div.col:nth-of-type(2n+2),
	.gallery-size-thumbnail figure.gallery-item:nth-of-type(2n+2) { margin-right:0; }
	
	.gallery-wrapper-home .col-3 > div:nth-of-type(4) h2 { color:#fff; }
	
	.col-3 > div.col:nth-of-type(2n+3) { clear:left; }
	.col-3 > div.col:nth-of-type(3n+4) { clear:none; }
	.homepage-boxes h3 { font-size:2.5em; }
	
	.home-page-banner .wrapper { background-size:auto 280px; background-position: right 420px top; }
	.home-page-banner .col-right { font-size:0.8em; margin:30px 0 0; width:400px; }
	.home-page-banner .col-right ul { margin-left: 40px; }
	.home-page-banner .col-right ul li { width:120px; }

}

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

	
	.push-wrapper { margin:0 auto; }
	.push { height:0;  }
	.footer { height:auto; padding-bottom:35px; }
	.footer .col-3 { width:100%; max-width:400px; margin:0 auto 8% !important; float:none; }
	
	div.wpcf7 { margin:10px 0 10px 2%; width:98%; }
	
	
	h1{ font-size:3em; } 

	h2, .home h1, .home h2.h1 { font-size:2.4em; }

	h3 { font-size:2.2em; }

	h4 { font-size:1.8em;}

	h2.h1, h3.h1, h4.h1 { font-size:3em;} 
	
	.homepage-boxes h3 { font-size:2.4em; }
	
}

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

	
	.col-2 > div.col:nth-of-type(n),
	.col-1-2 > div.col:nth-of-type(n) { width:100%; margin-right:0; }
	
	.col-1-2 > div.col img.alignnone { display:block; max-width:200px; margin:0 auto; }
		
	.testimonial blockquote { margin:0 1em; font-size:2em; }
	
	.wpcf7 form p, 
	.wpcf7 form p.full { float:none; width:98%; margin:0 0 5%; }
	
	h4.light { font-size:1.5em; text-align:center; letter-spacing:normal; }
	
	.home-page-banner .wrapper { background-size:auto 180px; background-position: right 300px top; }
	.home-page-banner .col-right { font-size:0.6em; margin:30px 0 0; width:300px; }
	.home-page-banner .col-right ul { display:none; }

}

@media only screen and (max-width: 520px) {
	
	.header .logo { padding:0 0 15px 0; margin:0 auto; float:none; display:block; width:100%;  }
	.header .contact { display:none; }
	.tel-mobile { display:block !important; position:absolute; top:-34px; right:10px; z-index:999; font-size:1.6em; color:#fff;  }
	.tel-mobile a {  color:#fff; text-decoration:none; }

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

	.contact .mobile-break { display:inline; }

	a.col-3 { width:100%; margin:0 0 3%; }
	
	.col-3 > div.col:nth-of-type(n),
	.col-4 > div.col:nth-of-type(n),
	.col-2-1 > div.col:nth-of-type(n),
	.col-3-1 > div.col:nth-of-type(n),
	.gallery-size-thumbnail .gallery-item,
	.gallery-size-thumbnail dl:nth-of-type(3n+2) { width:86%; margin:0 7% 5%; }
	
	.content p { text-align:left; }
	
	.wpcf7 p { float:none; width:94%; }
	
	
	
	.homepage-boxes img { max-width:100%; }
	

	
}

@media only screen and (max-width: 470px) {
	
	.home-page-banner .wrapper { background-position: right 220px top; background-size: auto 120px; }
	.home-page-banner .col-right { font-size: 0.5em; margin: 20px 0 0; width: 200px; }
	.home-page-banner .col-right span { margin-left:0; }

}
@media only screen and (max-width: 380px) {
	
	.header { padding-top:20px; }
	.header .contact p,
	.header .contact span { font-size:1.6em; font-weight:400; padding:0 10px; }
	
	.col-3 > div.col:nth-of-type(n),
	.col-4 > div.col:nth-of-type(n),
	.col-2-1 > div.col:nth-of-type(n),
	.col-3-1 > div.col:nth-of-type(n),
	.gallery-size-thumbnail .gallery-item,
	.gallery-size-thumbnail dl:nth-of-type(3n+2) { width:100%; margin:0 0 5%; }

}

