/*
Theme Name: Sunhouse
Theme URI: https://www.stephenramsay.com
Description: Custom theme Code for Sunhouse (2023-) based on design by Holly Gillbank
Version: 1.3
Authors: Holly Gillbank & Stephen Ramsay
Author URI: https://www.stephenramsay.com
*/
@charset "UTF-8";

/* CSS Document */
body {	font-family: 'Open Sans', sans-serif;    font-weight: 300;    padding: 0;    margin: 0;    color: #707070;    font-size: 14px;    line-height: 1.7em;	background:#e8e8e8;	overflow-x: hidden;}
.mainbody {    background: #fff;    margin-left: auto;    margin-right: auto;}
a img {	border:0;}

/* TYPOGRAPHY */a {	color:#003f5e;	text-decoration:none;	transition:0.2s ease all;	-webkit-transition:0.2s ease all;}
a:hover {	color:#666;}
h1 {	font-size:2.3em;	font-weight:700;	margin:25px 0;	line-height:1.2em;}
h2 {	text-align:left; 	line-height: 1.2em;	font-weight: 300;    font-size: 40px;    text-transform: capitalize;	color:#707070;}
h3 {	color: #707070;    line-height: 115%;    text-align: left;    font-family: 'Open Sans';    font-weight: 300;	font-size:32px;}
h4 {    color: #000000;    text-transform: uppercase;    font-size: 0.9em;    font-weight: normal;}
h4 {
    color: #ba2361;
    font-size: 32px;
    font-weight: 300;
    margin-top: 100px;
    margin-bottom: 60px;
	text-transform: inherit;
}
h1,h2,h3,h4,h5,h6{	/*font-family: 'Nunito Sans', sans-serif;*/}
.btn, button{
	font-weight: normal;
    text-align: center;
    white-space: nowrap;    vertical-align: middle;    
	-webkit-user-select: none;    -moz-user-select: none;    -ms-user-select: none;    user-select: none;    
	border: 1px solid transparent;    padding: .375rem .75rem;    
	font-size: 1rem;    line-height: 1.5;    border-radius: .25rem;    transition: color .15s;
	background-color: #007bff;    border-color: #007bff;display: block;   
	margin-left: auto;    margin-right: auto;
}
a {  text-decoration: none;  position: relative;  color: #3366FF;}
/*a:after {  content: '';  position: absolute;  bottom: 0;  left: 0;  width: 0%;  border-bottom:2px solid #f1f1f1;  transition: 0.4s;}*/
a:hover{
    color: #ab3361;
}
a:hover:after {  width: 100%;}
/* BASIC STRUCTURE */.wrapper {	width: 100%;    padding: 0px 0px 0px 0px;    box-sizing: border-box;    -webkit-box-sizing: border-box;    -moz-box-sizing: border-box;}

p.nomobile {
    background: #fff;
    margin-top: 0px;
}

a.rightlink {
    font-size: 16px;
    color: #ba2361;
    text-transform: uppercase;
    float: right;
    margin-top: 15px;
	left: 25px;
	margin-right: 22px;
}
h5.portfolioh5 {
    padding-top: 8px;
}
.portfolioarearight a:hover {
    color: #ab3361;
}

button{
	cursor: pointer;	
}

.arrow-right{
	display: inline-block !important;
    height: 16px;
    top: 2px;
    position: relative;
    margin-left: 15px;
}
.bestofdiv{
    margin-bottom: 85px;
    text-align: right;
    display: flex;
    justify-content: space-between;
    margin-top: 35px;
}
.bestofdiv img {
	width:72px;
}
.pba.portfoliobuttonselected:hover, .pba.portfoliobuttonselected a:hover , .portfolioarearight:hover{
    filter: grayscale(1);
    color: #fff !important;
    border: grey;
}
.current_page_item a {
    color: #ab3361 !important;
}
.gdiv h1, .gdiv h2, .gdiv h3{
	color:#fff;
}
.thumb {
    width: 100%;
    background: no-repeat center;
    background-size: cover;
}
span.titleimage img {
    width: 100%;
    height: auto;
}
.post-entry p{
    margin-bottom: 20px;
}
.post-entry{
	font-size:24px;
	line-height:32px;
}

/* HEADER AND NAVIGATION */
.mainlogo {
    margin-left: 15%;
    height: 133px;
    min-height: 100px;
    display: inline-block;
}
a.mainlogo:hover {
    box-shadow: 0px 0px 10px 1px #000;
}
.mainlogo img{
	width:200px;
}
hr{	width:880px;	max-width:90%;	height:2px;}
.shbutton{    
	background: #ab3361;    
	color: #fff !important;  
	padding: 12px;    
	border-radius: 15px;	
	padding-left: 50px;    padding-right: 50px;    
	font-size: 32px;    
	font-weight: 300 !important;
}
.shbutton:hover{
	background: #fff;
	color: #ab3361 !important;  
	border:solid 1px #ab3361;
}
.gdiv a.button.shbutton:hover {
    background: #fff !important;
    color: #ab3361!important;
    border: solid 1px #ab3361 !important;
}
.topbar{
    z-index: 5;
    background: #fff;
    width: 100%;
    color: #000;
    height: 64px;
	max-height: 64px;
    vertical-align: middle;
	overflow-y:visible;
}
.topbar a{
	color:#fff;
}
.topbar span, .topbar div{
    display: inline-block;
    padding-top: 2px;
}
.header {
    width: 100%;
    background: #fff;
    padding-top: 20px;
    padding-bottom: 20px;
    transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
    z-index: 1998;
    box-shadow: 0 0px 30px rgba(150,150,150,0.2);
    height: 350px;
    z-index: 1;
    background-position-x: 0px;
    background-size: cover;
    background-repeat: no-repeat;
}
.header .logo {
    display: block;
    padding-top: 40px;
    z-index: 999;
}
h5{
	font-size: 1.3em;
}
/*a, p, div, li, ul, td, tr, table, h1, h2, h3, h4, h5, img, span{
	transition:0.2s ease all;
	-webkit-transition:0.2s ease all;
}*/
.header .logo .logo-img {
    width: 140px;
    transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
    top: -10px;
    position: relative;
	left: 50px;
}
.logo h2 {
    color: #fff;
    border-bottom: solid 3px;
}
.header nav {
    display: block;
    vertical-align: top;
    padding-right: 0px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
nav{
	text-align:center;
	font-weight:bold;
	border-radius:0px;
	display:inline-block;
}
nav, .logo{
	transition: 0.35s ease all;
    -webkit-transition:0.35s ease all;
}
nav .menu {
    margin: 0;
    transition:0.2s ease all;
	-webkit-transition:0.2s ease all;
	padding:0px;
}
nav .menu ul {
    margin: 0;
}
nav .menu li {
    list-style: none;
    padding: 0;
    display: inline-block;
	vertical-align:top;
}
nav .menu  li a {
    display: inline-block;
    color: #707070;
    font-size: 1.5em;
    margin-top: 20px;
    padding-right: 5px; padding-left: 5px;
    font-weight: 300;
    text-transform: uppercase;
    font-family: 'Open Sans';
    margin-left: 50px;    margin-right: 50px;
}

.sfsi_responsive_icons {
    max-width: 212px !important;
    margin-left: auto;
    margin-right: auto;
    display: block !important;
}
#mainmenu {
    margin-left: 200px;
    margin-top: 10px;
    vertical-align: top;
}
a.rightlink:hover {
    text-decoration: underline;
    color: #000;
}
body .frontpageslider  .slick-list{
	width: 25vw;
	display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track{	height:inherit;}
body .frontpageslider .slick-list {
    width: 102%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.featuredquote::before {
    content: "";
    width: 62px;
    display: inline-block;
    background-image: url('/wp-content/themes/sunhouse/images/qleft.jpg');
    z-index: 9;
    position: relative;
    height: 51px;
    background-size: cover;
	left: -35px;
    position: relative;
    top: -64px;
}
.featuredquote::after {
    content: "";
    width: 62px;
    display: inline-block;
    background-image: url('/wp-content/themes/sunhouse/images/qright.jpg');
    z-index: 9;
    position: relative;
    height: 51px;
    background-size: cover;
    position: relative;  
	left: 350px;
    position: relative;
    top: 50px;
}
.threeborders .imagecornerright {
    position: relative;
    left: -28px;
}
.picfull{
	margin:0px;
	overflow-y: hidden;
	margin:0px !important;
}
body .wp-block-image figcaption {
    margin-top: 0.1em;
    margin-bottom: 1em;
}
figcaption {
    padding-top: 8px;
}
.picfull img {
    width: 100%;
    height: auto;
}
.flexthree{
	display: flex;
  flex-wrap: wrap;
}
.picthird img {
	width: 100%;
}
.picthird{
	/*float: left;
    width: 33.3333333%;
    max-width: 400px;
    vertical-align: top;
    margin: 0px !important;*/
    max-height: 482px;
    overflow-y: hidden;
	padding-left: 0;
	flex: 0 0 33.333333%;
	margin: 0px !important;
}
.imagecornerright {
    margin-bottom: 0px !important;
	margin: 0px !important;
}
.h5space {
    margin-bottom: 20px !important;
}
.h5leftfix{
	text-align: left !important;
    position: relative;
    top: -43px;
}
.portfolioh5, figcaption{
	float: right;
    width: 100%;
    text-align: right;
	margin-top: 4px; display: block;
	font-size: 24px;
	font-weight: 300;
	color: #707070;
}
.imghalfborder, .imghalfsplit{
	max-width: 576px;
    display: inline-block;
    vertical-align: top;
    overflow-y: hidden;
    width: 48%;
	object-fit: cover;
    max-height: 860px;
}
.secondimg {
	margin-left: 40px !important; 
}
@media (min-width: 1024px) {
	.imghalfborder:nth-child(2) {
		margin-left: 40px !important; 
	}
}
.fpsection{
	max-width: 1200px;
	margin-left:auto;margin-right:auto;
}
#services-initial, .services .post-entry p{
	width: 781px;
    display: block;
    margin-left: auto;
}
#services-initial::after {
    display: inline-block;
    line-height: 10px;
    position: relative;
    border-bottom: 2px solid #ba2361;
    width: 566px;
	content: "";
}
.spacing {
	display:block;
	height:70px;
}
.responsive-menu {
    display: none;
}

/* PAGE STYLES */
.page-title {
    margin-left: auto;
    font-size: 48px;
    color: #707070;
    font-weight: 300;
    font-size: 40px;
    text-transform: uppercase;
}
.frontpageslider .slick-slide{
	background:#fff;
	padding-top: 45px !important;
	padding-bottom: 35px !important;
}

.left {
    width: 75%;
    padding-bottom: 50px;
}
.right {
    width: 25%;
    background: #F1F2F2;
    padding:10px 25px;
}
.page .entry-content img {
    max-width: 100%;
}
.wp-caption {
    max-width: 100%;
}

.right ul li a {
    list-style: none;
    color: #666;
    display: block;
    padding-bottom: 5px;
    margin-bottom: 15px
}
.right ul li.current_page_item a {
    color: #D83140;
}
.right ul li a:hover {
    color: #ccc;
}
.right ul {
    padding: 0;
    list-style: none;
    line-height: 1;
}
.post-entry {
    padding-bottom: 50px;
}
.post-entry img {
    max-width:100%;
    height:auto;
}
.back {
    font-style: italic;
    display: block;
    margin-top: 50px;
}

/* FOOTER */ 
.footer {
	background: #ab3361;
    color: #fff;
    font-size: 0.8em;
    line-height: 1.6em;
    padding-bottom: 15px;
    padding: 10px;
}
.footer p {
    margin: 0;
}
.footer span {
    color: #fff;
    margin: 15px 0;
    line-height: 120%;
}
.socialmedia img {
    height: 32px;
}
/* INPUTS & BUTTONS */
input[type="submit"], 
input[type="button"], 
button {
	border: 2px solid #122124;
    font-weight: 700;
    background: #0e74bf;
    padding: 15px 20px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
    color: #fff;    margin: 20px 0;    border: 0px;
}

button a{	color:#000;}
input[type="submit"]:hover, input[type="button"]:hover, 
button:hover,button.read-more:hover, .slick-slider button.read-more:hover,

/*search*/
input#s {	width:100%;}
input#searchsubmit {	padding:15px 7px;}

.clear {	clear:both;}
.post img {
    max-width: 100%;
}
.fade, .fade-delay-1, .fade-delay-2, .fade-scroll, .fade-scroll-delay, .post, .page {
	opacity:1;
    transition: 0.3s ease all;
    -webkit-transition:0.3s ease all;
}
.headertopimage{
	width: 100%;height: 400px; background-size: cover !important; background-repeat: no-repeat;
}
.portslider .slide {
    max-width: 1042px;    margin-left: auto;    margin-right: auto;
}
.bottommarg{	.margin-bottom: 22px !important;	}
@media all and (max-width:1424px) {
	body .slide2in {
		background-position-y: -0px !important;
	}
	span.nomobile.slidertitle {
		font-size: 20px;
		margin-top: 8px;
	}
	.fp-spacer {
		height: 32px;
	}
	.houzzfp{
		    width: 138px !important;
	}
	.shbutton{
		    font-size: 24px;
		padding-left: 40px;
		padding-right: 40px;
	}
	.fp-hr{
	    width: 100% !important;
		max-width: 100%;
		margin-left: 0px !important;
		margin-bottom: 40px;
	}
	.introptext{
		font-size:20px !important;
		margin-bottom: 88px !important;
	}
	.fp-divright h2 {
		padding-top: 40px;
		margin-top: 0px;
		font-size: 23px !important;
	}
	h2.nomobile{
		font-size:34px !important;
	}
	.fp-headimg{
		margin-right: 70px !important;
		height: 333px !important;
	}
	#services-initial, .page-id-769 .fpsection .post-entry p {
		width: 640px;
	}
	p.featuredquote {
		width: 400px !important;
	}
	.servicestype{
		max-width:708px;
	}
	.frontpageslider.portslider {
		width: 900px;
	}
	p.reviewsp{
		max-width:900px !important;
	}
	.fpsection{
		max-width:900px;
	}
	.bottommarg{	.margin-bottom: 0px !important;	}
	#rightimagesblock {
		max-width: 48%;
		margin-left:29px !important;
	}
	.threeborders .imagecornerright , .portfolioh5, figcaption{
		font-size: 16px;
	}
	.threeborders {
		width:32%
	}
	.notfirst {
		margin-left: 2px !important;
	}
	.secondimg{
		margin-left: 29px !important;
	}
	.fptestimonial{
		width:auto;
		max-width:95%;
	}
	#mainmenu {
		margin-left: 20px;
		margin-top: 15px;
		vertical-align: top;
	}
}
.portslider{
	text-align:center; width:1201px;    border-top: solid 2px #ab3361;    border-bottom: solid 2px #ab3361;
}

@media all and (max-width:850px) {
	.page-template-services-php h4:after {
    content: 'V';
    display: block;
    width: 4px;
    position: relative;
    float: right;
    color: #ba2361;
    top: 23.5px;
    left: 4px;
    transform: scale(1.5, 0.5);
    font-weight: lighter;
	}
	.servicestype{
		max-width:100%;
		display: none !important;
	}
	.flextreewithpadding {
		display: block !important;
	}
	.portfolio-list{
		margin-right:5px !important;
	}
	.introptext{
		font-size: 30px !important;
		margin-bottom: 0px !important;
		line-height: 45px !important;
	}
	.fp-headimg{

	/*	    display: block;
    margin-right: 30px !important;
    object-fit: cover;
    height: 510px !important;
    width: 350px !important;
    margin-bottom: 36px;*/
		
	}
	.imagecornerright,.imagecornerright img{
		margin-left: auto !important;
		margin-right: auto !important;
		display: block !important;
	}
	.secondimg{
		margin-left:0px !important;
	}
	hr {
    width: 100%;	max-width: 100%;
	}
	
	.threeborders{
		margin-left: auto !important;
		margin-right: auto !important;
		display: block !important;
		width: fit-content !important;
		margin-bottom: 10px !important;
		flex: 1 1 100% !important;
	}
	.reviewtitle strong{
		margin-top: 20px;
		margin-bottom: 20px;
	}
	.imghalfborder, .imghalfsplit {
		max-width: 99%;
		margin-left: auto !important;
		margin-right: auto !important;
		display: block;
		width: auto;
	}
	.picfull, .picthird {
		margin: 0px;
		max-height: 1000px;
		overflow-y: hidden;
		margin: 0px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		display: block;
		width: 100%;
		margin-bottom: 25px !important;
		float:none !important;
	}
	.page-template-portfolio .picfull, .page-template-portfolio .picthird{
		margin-bottom:0px !important;
	}
	.notfirst, #rightimagesblock{
		margin-left: auto !important;
		margin-right: auto !important;
		display: block !important;
		max-width: 98%;
		width: auto;
	}
	.portfoliobuttonarea{
		width: 99% !important;
		margin: 20px;
		display: block;
		margin-top: 0px;
	}
	.pba.selleft {
		padding-top: 14px;
	}
	.pba.selright{
		padding-top: 2px;
		padding-bottom: 14px;
	}
	.pba {
		width: 180px !important;
		vertical-align: top;
		padding-left: 8px;
	}
	.wrapper {
		padding-left:12px;
		padding-right:12px;
	}
	.post-entry p{
		max-width:100%;
	}
	p.featuredquote{
	    padding-left: 25px !important;
    padding-right: 25px !important;
    margin-left: 0px !important;
    width: 250px !important;
    float: right;
    font-size: 14px !important;
    line-height: 18px !important;
    height: 167px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    text-align: center !important;
	}
	.featuredquote::after, .featuredquote::before{
	    width: 42px;
		display: inline-block;
		background-image: url(/wp-content/themes/sunhouse/images/qleft.jpg);
		z-index: 9;
		position: relative;
		height: 35px;
		    top: 0px;
    left: 0px;
	}
	#services-initial::after, h4 span,.aboutopenp::after{
		max-width:99%;
		margin-left: 0px !important;
	}
	.footer-box{
		text-align:left !important;
	}
	.frontpageslider {
		max-width: 100%;
	}
	.frontpageslider .slide{
		padding:15px !important;
	}
	.footer{
		padding:10px !important;
	}
	.footer-box {
    display: block !important;
    width: inherit !important;
    padding-left: 6%; padding-right: 6%;
	}
}
	#mobilelogo{
		display:none;
	}
	.mega-toggle-blocks-right{
		right: -180px !important;
		display: block !important;
		position: absolute;
		z-index: 9;
	}


@media all and (max-width:1252px){
	.image75{
		width: 68% !important;
		display: inline-flex !important;
		vertical-align:top;
		max-height:390px;
		overflow:hidden;
	}
	
	.image25{
		width:25% !important;
		display:inline-flex !important;
		margin-left: 5% !important;
		vertical-align:top;
		max-height:390px;
		overflow:hidden;
	}
}
@media all and (max-width:1252px) and (min-width:850px) {
	#mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
		 padding: 0px 32px 0px 32px !important;	
	}	

}

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


@media only screen and (max-width: 850px){
	.nomobile{
		display:none !important;
	}
	.mobileonly{
		display:block !important;
	}
	h3 {
		max-width: 100%;
	}
	#mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item {
    width: 252px !important;
    margin-left: auto!important;
    margin-right: auto!important;
}
	#mobilelogo{
		display: block;
		max-width: 270px !important;
		width: 200px !important;
		padding-right: 65px !important;
	}
	
	
	#mega-menu-wrap-main-menu .mega-menu-toggle.mega-menu-open + #mega-menu-main-menu {
		position: fixed;
		padding-top: 76px;
		top: -50px;
		z-index: 90;
		padding-left: 0;
		width: auto !important;
		min-width: 200%;
		left: -180px !important;
	}
	a.mega-menu-link {
		font-size: 28px !important;
		margin-top: 30px !important;
		margin-bottom: 30px !important;
		padding-left: 28px !important;
	}
	.mega-toggle-blocks-right {
		z-index: 9990;
			position: fixed;
		right: 35px !important;
	}
}
@media all and (max-width:850px) {
	span.meetinfo {
		max-width: 95% !important;
	}
	p.reviewsp {
		max-width: 95% !important;
	}
	.mainbody{
	    width: 94%;
		padding-left: 3%;
		padding-right: 3%;
	}
	nav .menu li {
		width: 150px;
		height: 52px;
		margin: 2px;
	}
	body .slick-list img {
		display: block;
		width: 100%;
	}
	/*responsive header */
	.header .logo{
		padding-top: 62px;
	}
	.header .logo .logo-img{
		width: 150px;
		margin-bottom: 30px;
	}
	.slick-slide{
		width:auto;
		
	}
	.fpslider1 .slide2{
		margin: 0px;
	}
	.page-title{
		border-radius: 0px;
		padding-top: 8px;
		padding-bottom: 8px;
		width: 100%;
		padding-left: 0px;
		padding-right: 0px;
			margin-left: 0px;
	}
	body .slick-list {
		width: 100%; margin: 0px;
	}
	.headertopimage{
		height:144px;
	}
	.mainlogo{
		margin-left: 6%;
	}
	.logoimg{
		width: 120px;
		margin-left: auto;
		margin-right: auto;
		display: block;
	}
	.header nav {
		display: block;
		width: 100%;
		z-index: 80;
		top: -20px;
		margin-top: 20px;
		padding:0px !important;
		position:relative;
		left:0px;
	}
	.page-id-804 p.centerblock {
    font-size: 14px;
    line-height: 20px;
    width: 298px;
}
	.page-template-about .wp-block-spacer{
		display:none;
	}
    .page-title {
        font-size: 2em;
        line-height: 1.2em;
		padding-top: 20px;
		margin-top: 0px;
    }
	section.header{
		height: 100px;
	}
	.wp-block-image .alignright {
		float:none !important;
	}
	.topbar span, .topbar div {
	    max-width: 200px;
	}
}
.logoimg{
	width: 240px;
}
hr{
	border-top: solid 1px #ba2261;
    margin-top: 25px;
    margin-bottom: 25px;
    background: #ba2261;
    border-bottom: 0px;
}
.footer-box{
	display: inline-block;
    vertical-align: top;
	text-align:center;
	width: 824px;
    margin-left: auto;
    margin-right: auto;
    font-size: 18px;
    line-height: 24px;
	padding-top: 40px;
}
.footer-box strong{
	display:block;
}
.footer .container{
	text-align:center;
}
.footer {
	background: #ab3361;
    height: auto;
    padding-top: 50px;
    padding-left: 8%;
    padding-right: 8%;
    padding-bottom: 50px;
}
.fptestimonial{
	width:1201px;
}
.grecaptcha-badge{
	display:none;
}
.sfsi_icons_container.sfsi_responsive_without_counter_icons.sfsi_medium_button_container.sfsi_icons_container_box_fully_container{
    width: 250px !important;
    display: flex;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.mobileonly{
	display:none;
}
.socialmedia{
	font-size: 25px;
    letter-spacing: 10px;
    color: #bfbfbf;
    padding: 5px;
    padding-left: 15px;
    padding-right: 15px;
    width: fit-content;
    display: block;
}
.imghoverreq{
	transition:0.2s ease all;
}
.imghoverreq:hover {
    box-shadow: 0px 0px 10px 1px grey;
}

@media all and (max-width:725px){
	.fp-headimg{
		display: block;
		margin-right: 30px !important;
		object-fit: cover;
		height: 210px !important;
		width: 150px !important;
		margin-bottom: 36px;
	}
	.introptext {
		font-size: 20px !important;
		line-height:30px !important;
	}
}


.page-template-front-page .slide2 img {
    display: block;
    object-fit: cover;
    height: 529px;
}





.groupofthree .wp-block-group__inner-container{
	display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.innerthree {
    display: inline-flex;
    max-width: 30%;
}
.innerthree img {
    max-height: 538px;
    object-fit: cover;
	height: 100% !important;
}