/*
Theme Name: Kevin Hartley
Description: A child theme of Themify Ultra
Template: themify-ultra
Author: Themify
*/

:root{
	--theme_accent:#0E355B;
	--theme_accent_hover:#F79738;
	--theme_accent_alt:#F79738;
	--theme_accent_semi:rgba(25,52,88,.8);
	--tb_app_r:1em 0 1em 0; /* button border-radius */
	--theme_rounded:20px;
	--tb_rounded_corner:20px;
}
body{
	color:#777;
	font:500 1.1em/1.6em "Raleway", sans-serif;
}
a {
    color:var(--theme_accent_alt);
}
a:hover {
    color: var(--theme_accent);
	text-decoration:underline
}
#pagewrap :is(button,.button){
	background-color:var(--theme_accent_alt);
}
#pagewrap :is(button,.button):hover{
	background-color:var(--theme_accent);
}
h1,h2,h3,h4,h5,h6{
	font-weight:800;
	line-height:1.2;
	margin-bottom:.5em;
	color:var(--theme_accent);
}
h1,.page-title {
	font-size:3.8em
}
h2{
	font-size:2em
}
h3{
	font-size:1.6em
}
:is(h1,h2,h3,h4,h5,h6) a{
	color:var(--theme_accent)
}
:is(h1,h2,h3,h4,h5,h6) a:hover{
	color:var(--theme_accent_alt);
	text-decoration:none
}
/* sub heading in post-content */
:is(p,ul,ol,br) + h2{
    margin-top:1.4em
}
:is(p,ul,ol,br) + :is(h3,h4,h5,h6),
:is(ul,ol) + :is(p) {
    margin-top:1.2em;
}

/* header */
#headerwrap{
	border:none;
	background:#fff;
	color:var(--theme_accent);
	box-shadow:0 5px 12px rgba(0,0,0,.15)
}
#header {
	width:1400px;
	max-width:96%;
}
/* transparent header */
.transparent-header #headerwrap{
	box-shadow:none;
	color:#fff;
}
.transparent-header #headerwrap.fixed-header {
    background-color: rgba(255,255,255,.9);
	box-shadow:0 5px 12px rgba(0,0,0,.15);
	color:#000	
}

/* menu */
.navbar-wrapper {
	margin-top:1em
}
#main-nav a{
	font-weight:800;
	text-transform:lowercase;
	font-size:1.2em;
	padding:.3em .05em;
	margin:0 .8em;
	text-decoration:none
}
#footer-nav a:after,
#main-nav a:after {
    border-bottom: 2px solid transparent;
    bottom: -2px;
    content: "";
    display: block;
    left:0;
    position: absolute;
    transition: border .3s ease-in-out,width .3s ease-in-out;
    width: 0
}
#footer-nav a:hover:after,
#main-nav a:hover:after {
    border-color: var(--theme_accent_alt);
    width: 100%
}
#main-nav :is(a:hover, ul a:hover, .current-menu-item > a, .current_page_item > a),
.mobile-menu-visible #pagewrap #main-nav :is(a:hover, ul a:hover, .current-menu-item > a, .current_page_item > a){
    color: var(--theme_accent_alt)
}

/* cart icon */
.cart-wrap a span{
	background-color:var(--theme_accent_alt)
}

/* mobile menu */
.mobile_menu_active #headerwrap .header-icons {
    right:22px;
    top: 50%;
}
#menu-icon{
	padding:17px 13px
}
.menu-icon-inner {
	width:28px;
	height:20px
}
.menu-icon-inner,
.menu-icon-inner:after, .menu-icon-inner:before{
	border-width:2px
}
.mobile-menu-visible #pagewrap #main-nav a{
	font-weight:800;
}

/* footer */
#footerwrap {
	background:var(--theme_accent);
	border:none;
	color:rgba(255,255,255,.7)
}
#footer{
	font-size:1em;
}
#footerwrap a{
	color:#fff
}
.footer-right-wrap{
	text-align:right;
}
#footerwrap #footer-nav {
	font-size:1.2em;
	font-weight:800;
	text-transform:lowercase;
	float:none;
	margin:1.8em -.9em 2em 0;
}
#footer-nav li{
	margin:0 0 0 .8em;
}
#footer-nav a{
	padding:.4em .05em;
	margin:0;
	position:relative;
	text-decoration:none
}
#footer-nav :is(a:hover, ul a:hover, .current-menu-item > a, .current_page_item > a){
    color: var(--theme_accent_alt)
}
#footerwrap .social-widget a{
	color:var(--theme_accent_alt);
}
#footerwrap .social-links li em{
	font-size:1.5em
}
#footerwrap .footer-text a{
	color:inherit
}
:is(#footer,#pagewrap) .back-top-float{
	background:#f79738c4
}

/* --- builder styling */
/* hero year number */
.year-xp-text strong{
    font-size:2em;
    font-weight:500;
    margin-right:.2em
}

/* link block */
.module-link-block{
    display:block;
    margin-bottom:2em
}
.module.module-link-block .tb_link_block_container {
    border-radius:20px;
    background:#fff;
    text-align:left;
    place-items: self-start;
    padding:15% 12% 35%;
    border:solid 5px transparent;
    transition:border .3s, transform .3s;
    min-height: 305px;
    box-sizing: border-box;
}
.module.module-link-block .tb_link_block_container:hover{
    border-color:var(--theme_accent_alt)
}
.module.module-link-block .tb_link_block_icon {
    color:#000;
    margin:0 0 .6em;
    font-size:2.5em
}
.module.module-link-block .tb_link_block_heading{
    font-size:1.5em;
    line-height:1.2;
    color:#000;
    text-transform:lowercase;
    margin:0;
    transition:transform .3s;
}
.module.module-link-block .tb_link_block_container:hover .tb_link_block_heading {
    transform:scale(1.1)
}
.module.module-link-block .tb_link_block_blurb {
    padding:.5em 0;
    font-weight:800;
    color:var(--theme_accent_alt);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='%23000' d='M320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM361 417C351.6 426.4 336.4 426.4 327.1 417C317.8 407.6 317.7 392.4 327.1 383.1L366.1 344.1L216 344.1C202.7 344.1 192 333.4 192 320.1C192 306.8 202.7 296.1 216 296.1L366.1 296.1L327.1 257.1C317.7 247.7 317.7 232.5 327.1 223.2C336.5 213.9 351.7 213.8 361 223.2L441 303.2C450.4 312.6 450.4 327.8 441 337.1L361 417.1z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position:right center;
    background-size:35px;
    position:absolute;
    bottom:15%;
    width:70%;
}

/* button */
.module-buttons:has(.module-buttons-item + .module-buttons-item) .module-buttons-item{
	margin:0 1em 1em 0
}
.ui.builder_button{
	color:#000;
	font-weight:800;
	font-size:1.1em;
	text-transform:lowercase;
	padding:.5em 1.8em;
	border:solid 3px transparent;
	transition: .5s ease;
    transition-property: background,font-size,line-height,color,padding,margin,border,border-radius,box-shadow,transform
}
.ui.builder_button:hover{
	transform:scale(1.1)
}
.module-buttons .builder_button.tb_default_color{
	background:#fff;
	color:#000
}
.ui.builder_button.orange{
	background:var(--theme_accent_alt);
	color:#000
}
.ui.builder_button.transparent{
	border:solid 3px var(--theme_accent_alt);
}
.module.module-buttons.outline a.ui{
	border-width:2px;
	color:inherit
}

/* accordion */
.module-accordion .ui{
    background:none;
    border:none;
}
.ui.module-accordion.separate > li{
    background:#ebf2ff;
    border-radius:20px;
    margin-bottom:1em;
    border:none;
}
.accordion-title {
    background:#ebf2ff;
    font-size:1.2em;
    line-height:1.3;
    color:#000;
    border-radius:20px;
    padding:.2em .3em;
}
.ui.module-accordion.separate > li:hover > .accordion-title,
.ui.module-accordion.separate > li:hover{
    background: #cfdcf8;
}
ul.ui.module-accordion .accordion-title a{
	display: flex;
    justify-content: space-between;
	outline:none;
}
.accordion-title i{
	order:2;
	margin: 0;
}
.module-accordion.separate .accordion-content{
    border-radius:20px;
    padding:3% 4%;
    border:solid 1px rgba(0,0,0,.1);
    margin-top:-1px;
}

/* transparent accordion */
.ui.module-accordion.transparent > li{
	border-top:solid 1px rgba(0,0,0,.3);
	border-radius:0
}
.ui.module-accordion.transparent .accordion-title,
.ui.module-accordion.transparent > li:hover > .accordion-title, 
.ui.module-accordion.transparent > li:hover{
	background:0;
	border-radius:0
}
.ui.module-accordion.transparent  .accordion-title{
	padding:0
}
.ui.module-accordion.transparent .accordion-title a{
	color:var(--theme_accent);
	padding:.8em 0;
}
.ui.module-accordion.transparent .accordion-title a:hover{
	color:var(--theme_accent_alt);
}
.ui.module-accordion.transparent  .accordion-content{
	padding:0 0 4%;
	border-radius:0;
	border:0
}

/* post slider */
.module-slider .slide-inner-wrap {
	background:#fff;
	border-radius:20px;
}
.module-slider .slide-image img{
	width:100%;
	border-radius:20px 20px 0 0
}
.module-slider .slide-content{
	padding:5% 12% 10%;
	text-align:left;
	display:flex;
	flex-direction:column
}
.module-slider .slide-title{
	font-size:1.5em;
	line-height:1.2;
	order:2
}
.module-slider .post-date{
	color:var(--theme_accent_alt);
	font-size:.9em
}

/* testimonial slider */
.module-testimonial-slider .testimonial-entry-content{
    font-size:1.8em;
    line-height:1.4;
    font-style:italic;
    color:#000;
	position:relative;
}
.module-testimonial-slider .testimonial-entry-content::before{
	content:'\201C';
	font-family:Georgia, serif;
	font-size:5em;
	line-height:1em;
	font-style:normal;
	color:var(--theme_accent_alt);
	display:block;
	margin:0 0 -.5em
}
.module-testimonial-slider .person-name{
    font-weight:600;
    font-size:1.6em;
    line-height:1.4;
    color:var(--theme_accent);
    margin-left:-30px;
	margin-bottom:.3em
}
.module-testimonial-slider .person-name:before{
    content:'';
    width:25px;
    border-bottom:solid 1px;
    display:inline-block;
    margin-right:10px;
    transform:translateY(-.3em)
}
.module-testimonial-slider .person-position {
    font-weight:500;
    font-size:1.2em;
	line-height:1.3;
    letter-spacing:-.02em;
    padding: 0 20%;
    display: block;
}

/* post */
.loops-wrapper.grid3{
    display:grid;
    grid-template-columns: repeat(3,1fr);
    gap:4% 2%;
    height:auto!important;
}
.loops-wrapper.grid3 > .post{
    position:static !important;
    width:100%;
    margin:0
}
.loops-wrapper.grid3 > .gutter-sizer{
    display:none
}
@media(max-width: 760px) {
    .loops-wrapper.grid3{
        grid-template-columns: repeat(1,1fr);
        gap:1.5% 6%;
    }
}

/* post boxed */
.loops-wrapper.boxed{
	text-align:left;
	--theme_rounded:20px;
}
.loops-wrapper.boxed .post{
	box-shadow:0 5px 15px rgba(0,0,0,.12)
}
.loops-wrapper.boxed .post-content{
	padding:5% 10% 10%;
}
.post-title a{
	color:var(--theme_accent)
}
.post-date,
.post-title a:hover{
	color:var(--theme_accent_alt)
}

/* responsive */
@media (max-width: 680px) {
	h1,.page-title {
		font-size:2.3em
	}
	h2{
		font-size:1.9em
	}
	h3{
		font-size:1.5em
	}
	#site-logo img{
		max-width:130px;
	}
	#footerwrap {
		padding-top:3em
	}
	#footerwrap #footer-nav{
		font-size:.8em;
		margin-right:0;
		margin-left:-.6em
	}
	#footer-nav a{
		padding:.3em .1em;
	}
	.footer-right-wrap{
		text-align:left;
	}
	.footer-text{
		font-size:.8em;
	}

    /* link block */
    .module.module-link-block .tb_link_block_container{
        min-height:0;
        padding:11% 13%;
    }
    .module.module-link-block .tb_link_block_blurb{
        position:static
    }
	
	/* accordion */
	.accordion-title,
	.accordion-content{
		font-size:1em
	}

	/* post slider */
	.module-slider .slide-content{
		padding:3% 10% 8%;
	}
	.module-slider .slide-title{
		font-size:1.3em;
	}

    /* testimonial slider */
    .module-testimonial-slider .testimonial-entry-content{
        font-size:1.25em;
    }
    .module-testimonial-slider .person-name{
        font-size:1.3em
    }
    .module-testimonial-slider .person-position{
        font-size:1.1em;
		padding:0 5%
    }
}

/* gravity forms */
.themify_builder_content .gform_wrapper{
	display:block!important
}