/*
Theme Name: JohnnyoTheme
Theme URI: https://johnnyodesign.com/
Author: Johnnyo Design
Author URI: https://johnnyodesign.com/
Description: Sensible design solutions.
*/

/* Import the necessary CSS additions */
@import url( inc/bootstrap.css );
@import url("https://use.typekit.net/ipi5tun.css");
/* Content */

html {
	scroll-behavior:smooth;
}
body {
    font-family: "merriweatherultrabold", sans-serif;
    font-weight: normal;
    background: #fff;
    position: relative;
    overflow-x: hidden;
    background-size: 1707px;
    z-index: 0;
}

:focus {
    outline: none;
}

a {
color: inherit;
	text-decoration: underline;
}
p a {
   color: inherit;
	text-decoration: underline;
}
a:hover, a:focus {
	   color: inherit;
	font-weight: bold;
    text-decoration: underline;
}
p a:hover, p a:focus {
	   color: inherit;
font-weight: bold;
    text-decoration: underline;
}
.home .site-content {
    position: relative;
    width: 100%;
	margin-top: 0;
	margin-bottom: 0;
}
.site-content {
	margin-bottom: 0;
}
p {
    margin: 0px 0px 20px 0px;
    padding: 0px 0px 0px 0px;
    font-size: 20px;
    line-height: 30px;
    color: #282927;
}
.page-id-144 p, .page-id-146 p {
	font-size: 16px;
}
p:last-of-type {
	margin: 0px 0px 0px 0px;
}
h1 {
    font-family: "barlow-condensed", sans-serif;
    font-size: 64px;
	font-weight: bold;
    color: #222457;
    margin: 0px 0px 20px 0px;
	text-transform: uppercase;
}

h2 {
	font-family: "barlow-condensed", sans-serif;
    font-size: 58px;
    color: #222457;
	font-weight: Bold;
    margin: 0px 0px 20px 0px;
	text-transform: uppercase;
}
h3 {
	font-family: "barlow-condensed", sans-serif;
    font-size: 48px;
	font-weight: Bold;
    color: #222457;
    margin: 0px 0px 20px 0px;
	text-transform: uppercase;
}
h4 {
	font-family: "barlow-condensed", sans-serif;
    font-size: 24px;
    color: #222457;
	font-weight: Bold;
    margin: 0px 0px 0px 0px;
	text-transform: uppercase;
}
h5 {
	font-family: "barlow-condensed", sans-serif;
    font-size: 32px;
    color: #222457;
	font-weight: Bold;
    margin: 0px 0px 20px 0px;
	text-transform: uppercase;
}
.alttext h1, .alttext h2, .alttext h3, .alttext h4, .alttext h5, .alttext p, .alttext li , .alttext i, .alttext .redicons1 i {
	color: #fff;
}
.alttext i {
	color: #fff !important;
}
.redtext h2, .redtext h3, .redtext h4, .redtext h5 {
    color: #C12032;
    padding: 10px 10px 0 10px;
    margin: 0;
}

.steps h5 {
	    font-size: 38px;
    background-color: #222457;
    color: #fff;
    text-align: center;
    border-radius: 10px;
    padding: 8px 10px 10px 10px;
}
.icon1 .sow-image-container {
	height: 125px !important;
    width: 125px !important;
    background-color: #222457;
    padding: 25px;
    border-radius: 100px;
}
.icon2 .sow-image-container {
	height: 125px !important;
    width: 125px !important;
    background-color: #C12032;
    padding: 25px;
    border-radius: 100px;
	    margin: auto;
}
ul {
	    padding: 0 0 0 30px;
    font-size: 20px;
    line-height: 30px;
    color: #282927;
}
.navbar {
    position: relative;
    height: 145px;
    background-color: #EDE9E2;
	border-bottom: 2px solid #C8C2B8;
}
.site-branding {
	    position: absolute;
	z-index: 10;

}

.main-navigation {

}
.mega-menu-link {
	font-family: "barlow-condensed", sans-serif !important;

}
.site-footer {
	background-color: #EDE9E2;
	border-top: 20px solid #222457;
}
.site-info  {
	background-color: #DDD8CF;
}
.siteinfo p {
    color: #232120;
    font-size: 14px;
    padding: 20px 0 20px 0;
    font-weight: normal !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.btn {
    background-color: #C12032;
    color: #fff;
    padding: 10px 32px 12px 32px;
    display: inline-block;
    margin-bottom: 10px;
    border-radius: 10px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 24px;
    white-space: break-spaces;
    font-family: "barlow-condensed", sans-serif;
    font-weight: bold;
}
.btn:hover {
	background-color: #222457;
	color: #fff;
}
.phn {
	text-decoration: none !important;
}
.redleft, .beigelightright, .beigedarkleft, #pg-2-5, .repairreplacebg {
	position: relative;
}
.redleft:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
	width: 90vw;
	    background-color: #c12032;
	    z-index: -1;
}
.beigelightright:after {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
	width: 90vw;
	    background-color: #ede9e2;
	    z-index: -1;
}
.beigedarkleft:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
	width: 90vw;
	    background-color: #ddd8cf;
	    z-index: -1;
}
.repairreplacebg:before {
	content: "";
    position: absolute;
    background-image: url(/wp-content/uploads/2026/05/Johnnyo-Design-Allegiance-Roofing-Katy-Roofer-928554809.jpg);
	background-size: cover;
    top: 0;
    right: 0;
    height: 100%;
    width: 51vw;
    z-index: -1;
}
.additionalbg:before {
	content: "";
    position: absolute;
    background-image: url(/wp-content/uploads/2026/05/Johnnyo-Design-Allegiance-Roofing-Katy-Roofer-918406591.jpg);
	background-size: cover;
    top: 0;
    left: 0;
    height: 100%;
    width: 52vw;
    z-index: -1;
}
.additionalbg:after {
	content: "";
    position: absolute;
    background-color: #EDE9E2;
	background-size: cover;
    top: 0;
    right: 0;
    height: 100%;
    width: 48vw;
    z-index: -1;
}

.headlogo img{
	    height: 145px;
    padding: 25px;
}
.headerbutton {
	    position: absolute;
    top: 42px;
    right: 40px;
}
.redicons1 p {
	font-size: 16px;
	line-height: 26px;
}
.redicons1 i {
	    font-size: 24px;
	color: #c12032;
}
.redicons1 h4 {
	padding-bottom: 20px;
	font-size: 20px;
}
.redicons2 i {
	font-size: 38px;
	color: #c12032;
}
.redicons2 h4{
	    font-size: 20px;
	padding-top: 20px;
}
.redlink {
	color: #c12032;
	text-transform: uppercase;
	font-size: 20px;
	font-family: "barlow-condensed", sans-serif;
	text-decoration: none;
	font-weight: bold;
}
.signs h5 {
	    color: #c12032;
	font-size: 20px;
	margin: 0px 0px 10px 0px;
}
.signs .steps h5 {
	    color: #fff;
	font-size: 20px;
	    padding: 18px 10px 20px 10px;
}
.sow-accordion-title {
	    font-family: "barlow-condensed", sans-serif !important;
    font-size: 24px !important;
	text-transform: uppercase;
	font-weight: bold !important;
}
.testimonia p {
	font-style: italic !important;
}
.text-yellow-400 {
	color: #fdc700 !important;
}
.testimonia .fa-star {
	margin-right: 2px;
}
.testimonialcredit .textwidget {
	display: flex;
    align-items: center;
}
.testinitials {
    background-color: #222457;
    border-radius: 100px;
    color: #fff;
    height: 36px;
    width: 36px;
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    font-family: "barlow-condensed", sans-serif;
    font-size: 14px;
    font-weight: bold;
	margin-right: 10px;
}
.testimonialright {
	display: flex;
    flex-direction: column;
}
.testiname {
	font-family: "barlow-condensed", sans-serif;
    font-size: 14px;
    font-weight: bold;
	color: #222457;
	text-transform: uppercase;
}
.testireview {
	color: #57534e;
	font-size: 14px;
}
.testimonia .panel-cell-style{
	display: flex;
    align-content: space-between;
    flex-wrap: wrap;
}
.heroredicons i {
	font-size: 48px;
	margin-right: 10px;
}
.heroredicons .textwidget {
	    display: flex;
	align-items: center;
}
.heroredicons p {
	color: #222457;
	line-height: 20px;
	
}
.text-accent {
	color: #c12032 !important;
}
.herorow .btn {
	width: 100%;
	margin-bottom: 0px;
}
.herorow .frm_button_submit {
	width: 100% !important;
	background-color: #C12032;
    color: #fff;
    display: inline-block;
    margin-bottom: 0px;
    border-radius: 10px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 24px;
    white-space: break-spaces;
    font-family: "barlow-condensed", sans-serif;
    font-weight: bold;
}
.herorow .form-field {
	margin-bottom: 0px !important;
}
.herorow fieldset {
	padding-bottom: 0px !important;
}
.herorow .widget-title{
	    font-size: 38px;
}
.heroform {
	margin: 60px 60px 60px 0;
}
@media (min-width: 1300px) {
  .container {
    width: 1280px;
  }
}
@media screen and (max-width: 1200px) {
	.main-navigation {
    	display: none;
	}
}
@media screen and (max-width: 991px) {
	h1 {
    	font-size: 54px;
	}
	h2 {
    	font-size: 48px;
	}
	h3 {
    	font-size: 38px;
	}
	h5 {
    	font-size: 26px;
	}
}
@media screen and (max-width: 991px) {
	.redtext {
	    border-radius: 0 !important;
		    text-align: center;
	}	
}
@media screen and (max-width: 740px) {
	.site-branding {
    	position: relative;
	}
	.headerbutton {
    	position: relative;
    	width: calc(100% - 40px);
    	margin: 10px 20px 20px 20px;
		right: initial;
        top: initial;
	}
	.navbar {
    	height: inherit;
	}
}
@media screen and (max-width: 600px) {
	h1 {
    	font-size: 44px;
	}
	h2 {
    	font-size: 38px;
	}
	h3 {
    	font-size: 28px;
	}
	h5 {
    	font-size: 26px;
	}
}
@media screen and (max-width: 385px) {
	.headlogo img {
    	max-width: 100%;
    	height: auto;
	}
}