/*
Theme Name: Drywall Hamilton
Theme URI: https://www.drywallhamilton.com
Author: Drywall Hamilton
Author URI: https://www.drywallhamilton.com/about-us/
Description: A super lightweight theme built for speed and comfort.
Version: 2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: carbonate
Tags: flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/


/*********************************************************
    RESET
*********************************************************/
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section{display: block;}
[tabindex="-1"]:focus{outline: 0 !important;}
input[type="radio"], input[type="checkbox"]{box-sizing: border-box; padding: 0;}
input, button, select, optgroup, textarea{margin: 0; font-family: inherit; font-size: inherit; line-height: inherit;}
table{border-collapse: collapse;}
fieldset{border: none; padding: 0;}
input[type="text"], input[type="password"], textarea, select {outline: none;}

/* Added this for smooth scrolling */
html {
    scroll-behavior: smooth;
}


/*********************************************************
    GLOBAL
*********************************************************/
html{font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -ms-overflow-style: scrollbar; -webkit-tap-highlight-color: transparent; margin: 0; padding: 0; width: 100%; min-height: 100%; height: 100%;}
body{font-family: var(--body); font-size: 1.15rem; line-height: 1.6; color: var(--text); text-align: left; background-color: var(--background); -webkit-font-smoothing: antialiased; text-shadow: 1px 1px 1px rgba(0,0,0,0.004); position: relative; text-rendering: optimizelegibility; -moz-osx-font-smoothing: grayscale; -moz-font-feature-settings: "liga"; min-height: 100%; height: 100%; padding: 0; margin: 0;}
@-ms-viewport{width: device-width;}


/*********************************************************
    ASSETS
*********************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6{font-family: var(--headline); font-weight: 800; line-height: 1.25; margin-top: 0; margin-bottom: 0.5rem;}
h1, .h1{font-size: 3.5rem; letter-spacing: -2px;}
h2, .h2{font-size: 2.75rem; letter-spacing: -2px;}
h3, .h3{font-size: 2rem; letter-spacing: -1px;}
h4, .h4{font-size: 1.25rem; letter-spacing: -1px;}
a{color: var(--link); outline: none; transition: 0.2s ease; text-decoration: none;}
.underline{text-decoration: underline !important;}
.no-underline{text-decoration: none !important;}
.text-left{text-align: left !important;}
.text-right{text-align: right !important;}
.text-center{text-align: center !important;}
.small{font-size: 0.9rem !important; line-height: 1.5 !important;}
.circle{border-radius: 50rem !important;}
.border{border: 1px solid var(--gray) !important;}
.muted{opacity: 0.75;}
.shadow{box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.20);}
.rounded{border-radius: 0.25rem !important;}

/*********************************************************
    COLORS
*********************************************************/
:root{
    --black: #222222;
    --white: #FFFFFF;
    --gray: #DDDDDD;
    --dark-gray: #666666;
    --red: #CC3333;
    --orange: #F6BD60;
    --yellow: #FFD700;
    --green: #33CC99 ;
    --blue: #2074d5;
    --purple: #5E36CA;
    --pink: #FF3399;
}

.black .black a{color: var(--black) !important;}
.black-bg{background-color: var(--black) !important;}

.white, .white a{color: var(--white) !important;}
.white-bg{background-color: var(--white) !important;}

.gray, .gray a{color: var(--gray) !important;}
.gray-bg{background-color: var(--gray) !important;}

.dark-gray, .dark-gray a{color: var(--dark-gray) !important;}
.dark-gray-bg{background-color: var(--dark-gray) !important;}

.red, .red a{color: var(--red) !important;}
.red-bg{background-color: var(--red) !important;}

.red2, .red2 a { color: #d1242b !important; }
.red2-bg { background-color: #d1242b !important; }

.orange, .orange a{color: var(--orange) !important;}
.orange-bg{background-color: var(--orange) !important;}

.yellow, .yellow a{color: var(--yellow) !important;}
.yellow-bg{background-color: var(--yellow) !important;}

.green, .green a{color: var(--green) !important;}
.green-bg{background-color: var(--green) !important;}

.blue, .green a{color: var(--blue) !important;}
.blue-bg{background-color: var(--blue) !important;}

.purple, .purple a{color: var(--purple) !important;}
.purple-bg{background-color: var(--purple) !important;}

.pink, .pink a{color: var(--pink) !important;}
.pink-bg{background-color: var(--pink) !important;}

.primary, .primary a{color: var(--primary) !important;}
.primary-bg{background-color: var(--primary) !important;}

.secondary, .secondary a{color: var(--secondary) !important;}
.secondary-bg{background-color: var(--secondary) !important;}

.btn-text, .btn-text a{color: var(--button-text) !important;}
.nav-text, .nav-text a{color: var(--nav-text);}
.body-text, .body-text a{color: var(--text);}

/*********************************************************
    HOVERS
*********************************************************/
.hover-mute:hover{opacity: 0.75;}
.hover-dip:hover{transform: translateY(5px);}
.hover-glow:hover{text-shadow: 0 0 10px #fff!important;}


/*********************************************************
    HELPERS
*********************************************************/
.img-fluid{max-width: 100%; height: auto;}
.min-height{min-height: 1000px;}
.container-800{max-width: 800px; margin: auto;}
.w-100{width: 100%;}
.w-50{width: 50%;}

.p-0{padding: 0rem !important;}
.p-1{padding: 0.25rem !important;}
.p-2{padding: 0.5rem !important;}
.p-3{padding: 1rem !important;}
.p-4{padding: 2rem !important;}
.p-5{padding: 3rem !important;}

.px-0{padding-left: 0rem !important; padding-right: 0rem !important;}
.px-1{padding-left: 0.25rem !important; padding-right: 0.25rem !important;}
.px-2{padding-left: 0.5rem !important; padding-right: 0.5rem !important;}
.px-3{padding-left: 1rem !important; padding-right: 1rem !important;}
.px-4{padding-left: 2rem !important; padding-right: 2rem !important;}
.px-5{padding-left: 3rem !important; padding-right: 3rem !important;}

.py-0{padding-top: 0rem !important; padding-bottom: 0rem !important;}
.py-1{padding-top: 0.25rem !important; padding-bottom: 0.25rem !important;}
.py-2{padding-top: 0.5rem !important; padding-bottom: 0.5rem !important;}
.py-3{padding-top: 1rem !important; padding-bottom: 1rem !important;}
.py-4{padding-top: 2rem !important; padding-bottom: 2rem !important;}
.py-5{padding-top: 3rem !important; padding-bottom: 3rem !important;}

.pb-0{padding-bottom: 0rem !important;}
.pb-1{padding-bottom: 0.25rem !important;}
.pb-2{padding-bottom: 0.5rem !important;}
.pb-3{padding-bottom: 1rem !important;}
.pb-4{padding-bottom: 2rem !important;}
.pb-5{padding-bottom: 3rem !important;}

.pt-0{padding-top: 0rem !important;}
.pt-1{padding-top: 0.25rem !important;}
.pt-2{padding-top: 0.5rem !important;}
.pt-3{padding-top: 1rem !important;}
.pt-4{padding-top: 2rem !important;}
.pt-5{padding-top: 3rem !important;}

.m-0{margin: 0rem !important;}
.m-1{margin: 0.25rem !important;}
.m-2{margin: 0.5rem !important;}
.m-3{margin: 1rem !important;}
.m-4{margin: 2rem !important;}
.m-5{margin: 3rem !important;}

.mx-0{margin-left: 0rem !important; margin-right: 0rem !important;}
.mx-1{margin-left: 0.25rem !important; margin-right: 0.25rem !important;}
.mx-2{margin-left: 0.5rem !important; margin-right: 0.5rem !important;}
.mx-3{margin-left: 1rem !important; margin-right: 1rem !important;}
.mx-4{margin-left: 2rem !important; margin-right: 2rem !important;}
.mx-5{margin-left: 3rem !important; margin-right: 3rem !important;}

.my-0{margin-top: 0rem !important; margin-bottom: 0rem !important;}
.my-1{margin-top: 0.25rem !important; margin-bottom: 0.25rem !important;}
.my-2{margin-top: 0.5rem !important; margin-bottom: 0.5rem !important;}
.my-3{margin-top: 1rem !important; margin-bottom: 1rem !important;}
.my-4{margin-top: 2rem !important; margin-bottom: 2rem !important;}
.my-5{margin-top: 3rem !important; margin-bottom: 3rem !important;}

.mb-0{margin-bottom: 0rem !important;}
.mb-1{margin-bottom: 0.25rem !important;}
.mb-2{margin-bottom: 0.5rem !important;}
.mb-3{margin-bottom: 1rem !important;}
.mb-4{margin-bottom: 2rem !important;}
.mb-5{margin-bottom: 3rem !important;}

.mt-0{margin-top: 0rem !important;}
.mt-1{margin-top: 0.25rem !important;}
.mt-2{margin-top: 0.5rem !important;}
.mt-3{margin-top: 1rem !important;}
.mt-4{margin-top: 2rem !important;}
.mt-5{margin-top: 3rem !important;}


/*********************************************************
    FORMS
*********************************************************/
.btn{display: inline-block; font-weight: 800; text-align: center; white-space: normal; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; border: 1px solid transparent; padding: 1.25rem 1.5rem; font-size: 1.5rem; line-height: 1; transition: 0.2s ease; margin: 0 0 0.5rem 0; text-decoration: none; letter-spacing: -0.04rem; cursor: pointer; font-family: var(--headline); font-weight: 800; -webkit-appearance: none; background-color: var(--secondary); color: var(--button-text);}
.btn:hover, .btn:focus{box-shadow: none; opacity: 1 !important;}
.btn-sm{font-size: 0.9rem; padding: 0.75rem 1rem; margin: 0;}
.btn-md{font-size: 1.2rem; padding: 0.90rem 1rem; margin: 0;}
.form-control{display: block; width: 100%; padding: 0.3rem 0.75rem; color: var(--text); background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;}
.form-group{margin-bottom: 1rem;}


/*********************************************************
    HEADER
*********************************************************/
.header{padding: 0.5rem 0; font-size: 1rem; font-family: var(--headline); font-weight: 800;}
/* .header .logo{width: 100%; max-width: 200px;} */
.header .menu{list-style: none; margin: 0; padding: 0;}
.header .menu li{display: inline-flex; padding: 0 1rem;}
.header .menu li:first-child{padding-left: 0;}
.header .menu li:last-child{padding-right: 0;}


/*********************************************************
    HOMEPAGE
*********************************************************/
.post-card{position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; min-width: 0; word-wrap: break-word; background-clip: border-box; padding: 1rem; transition: 0.2s ease;}
.post-card:hover{transform: translateY(5px);}


/*********************************************************
    ARTICLE
*********************************************************/
.article{width: 100%; max-width: 800px; margin: auto;}
.article a{text-decoration: underline;}
.article p{margin-top: 0; margin-bottom: 2.5rem;}
.article ol,ul,dl{margin-top: 0; margin-bottom: 2rem;}
.article ol ol,ul ul,ol ul,ul ol{margin-bottom: 0;}
.article li{margin-bottom: 0.25rem;}
.article iframe{margin-bottom: 2rem; width: 100%; max-width: 100%;}
.article blockquote{padding-left: 2.5rem; margin: 0; color: var(--body); opacity: 0.75; border-left: 5px solid var(--primary); font-style: italic; font-family: var(--text);}

/*********************************************************
    WORDPRESS
*********************************************************/
.alignnone{margin: 0; max-width: 100%; height: auto;}
.aligncenter, div.aligncenter{display: block; margin: auto; max-width: 100%; height: auto;}
.alignright{float: right; margin: 0 0 20px 20px; max-width: 100%; height: auto;}
.alignleft{float:left; margin: 0 20px 20px 0; max-width: 100%; height: auto;}
a img.alignright{float: right; margin: 0 0 20px 20px; max-width: 100%; height: auto;}
a img.alignnone{max-width: 100%; width: 100%; height: auto;}
a img.alignleft{float: left; margin: 0 20px 20px 0; max-width: 100%; height: auto;}
a img.aligncenter{display: block; margin: auto; max-width: 100%; height: auto;}
.wp-caption{background: none; border: none; max-width: 100%; text-align: left; margin: 0 0 40px 0 !important;}
.wp-caption.alignnone{margin: 0 0 40px 0;}
.wp-caption.alignleft{margin: 5px 20px 20px 0;}
.wp-caption.alignright{margin: 5px 0 20px 20px;}
.wp-caption img{border: 0 none; height: auto; margin: 0; max-width: 100%; padding: 0; width: 100%;}
.wp-caption p.wp-caption-text{font-size: 11px; line-height: 11px; padding: 0;  margin: 0px !important;}
.wp-block-image{margin: 0 0 2.5rem 0;}
.wp-block-image img{max-width: 100%; width: 100%; height: auto;}


/*********************************************************
    RESPONSIVE
*********************************************************/
@media (max-width: 1199.98px){ 
}

@media (max-width: 991.99px){
  .container{max-width: 100%;}
  .text-lg-center{text-align: center !important;}
}

@media (max-width: 767.98px){
  .text-md-center{text-align: center !important;}
  h1, .h1{font-size: 2.5rem;}
  h2, .h2{font-size: 2rem;}
  h3, .h3{font-size: 1.5rem;}
  .btn{font-size: 1rem; line-height: 1;}
}

@media (max-width: 575.99px){
  .header{font-size: 0.75rem;}
}

/*********************************************************
    CUSTOM CSS
*********************************************************/
/*********************************************************
    HEADER NAV SHADOW
*********************************************************/
header.header {
    background-color: #fff;
    padding: 16px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,.1);
}

/*********************************************************
    HERO
*********************************************************/
.hero-bg {
    background-color: #000000; /* Background color */
	
}

/*********************************************************
    HERO BOTTOM
*********************************************************/
.hero-bottom {
border-bottom:#fff solid 1px;
border-radius:48% / 5%;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
background-size:0px 4000px;
}

/*********************************************************
    SECTION BG
*********************************************************/
.sec-bg {
    background-color: #f7f7f7; /* Background color */
	
}

/*********************************************************
    FAQ
*********************************************************/
.faq-section {
    background-color: #f7f7f7; /* Background color */
    padding: 3rem 0; 
}

.section-header-title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: #000;
}

.section-header-subtitle {
    font-size: 1rem;
    color: #282828 /* Grey text color */
}

.accordion {
    background-color: #ffffff; /* White background */
    color: #000; /* Black color for question text */
    cursor: pointer;
    padding: 1.5rem;
    width: 100%;
    text-align: left;
    border: none;
    outline: none;
    transition: 0.4s;
    margin-bottom: 1.5rem; /* Space between items */
    border-radius: 0.25rem; /* Slightly rounded corners */
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); /* Light shadow */
}

.active, .accordion:hover {
    background-color: #ccc; /* Grey background color when active or hovered */
}

.accordion span {
    float: right;
}

.panel {
    padding: 0 18px;
    background-color: white;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    margin-top: -1.5rem; /* Offset the margin-bottom of accordion */
}

.panel p {
    font-size: 1rem; /* Font size for answer */
    color: #282828; /* Grey text color */
    margin-top: 1rem;
}

/*********************************************************
    MAP EMBED
*********************************************************/
.google-map iframe {
     width: 100%;
     left: 0;
     top: 0;
     position: relative;
}

/*********************************************************
    ESTIMATE FORM
*********************************************************/
.estimate-section {
    background-color: rgba(250, 250, 250, 0.8); /* Background transparency */
}

/* Padding for fields */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 textarea,
.wpcf7 select {
	width: 100%; /* Width of the form fields */
    padding: 7px; /* Textfield padding */
    margin-bottom: 1px; /* Space between fields */
    border: 1px solid #ddd; /* Border style */
    border-radius: 4px; /* Rounded corners */
    box-sizing: border-box; /* Include padding in width */
}

.wpcf7 label {
    margin-bottom: 5px; /* Space between label and field */
    display: block; /* Ensure labels are block elements */
    font-weight: bold; /* Make labels bold */
}

/* Submit button */
.wpcf7 input[type="submit"] {
    background-color: #002247; /* Button background color */
    color: #fff; /* Button text color */
    padding: 0.75rem 1.5rem; /* Padding for the button */
    text-decoration: none; /* No underline */
    border: none; /* No border */
    cursor: pointer; /* Pointer cursor on hover */
    transition: background-color 0.3s; /* Smooth transition */
    font-family: var(--headline); /* Font family */
    font-weight: 800; /* Font weight */
    border-radius: 4px; /* Rounded corners */
}

.wpcf7 input[type="submit"]:hover {
    background-color: #001b3b; /* Darker background color on hover */
}

.wpcf7-response-output {
    background: #f8f8f8;
    border: 1px solid #4CAF50 !important;
    padding: 1rem; /* Add some padding for better appearance */
    border-radius: 1px; /* Optional: add rounded corners */
    margin: 0 auto; /* Center the message box */
    text-align: center; /* Center-align the text */
	
}

/*********************************************************
    LIST ITEMS
*********************************************************/
.list-unstyled {
    list-style-type: none; /* Removes bullets */
    padding-left: 0; /* Left padding */
    margin-left: 0; /* Left margin */
}

.check-mark {
    color: #1d407c !important; /* Checkmark color */
	margin-right: 0.7rem; /* Spacing between checkmark and text */
    vertical-align: middle; /* Aligns the icon with the text */
}

.circle-mark {
    color: #002247 !important; /* Circle color */
	margin-right: 0.7rem; /* Spacing between checkmark and text */
    vertical-align: middle; /* Aligns the icon with the text */
}

/*********************************************************
    STARS
*********************************************************/
.stars {
    color: #ffc107; /* Bootstrap's yellow */
}

/*********************************************************
    SOCIAL MEDIA ICONS
*********************************************************/
.singleCol {
	max-width: 750px;
	margin: 0 auto;
}

.social-media-icons-white a {
	color: white;
	font-size: 1.7rem;
}

/*********************************************************
    TEST ONLY
*********************************************************/
.container{position: relative;}

