@charset "utf-8";
/* CSS Document */

/* 	-----------------------------------------------------
	------------------- General Styles ------------------
	----------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {display:block;}
audio, canvas, video {display:inline-block; *display:inline; *zoom:1;}
audio:not([controls]) {display:none;}

* {margin:0; padding:0; outline:none;}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin:0; padding:0; border:0; outline:0; font-size:100%; background:transparent;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after,  {content:''; content:none;}
:focus {outline:0;}
ins {text-decoration:none;}
del {text-decoration:line-through;}
table {border-collapse:collapse; border-spacing:0;}


a, a:hover, a:active, a:focus {outline:none; outline-style:none; outline-width:0; }

img {width:auto\9; height:auto; max-width:100%; vertical-align:middle; border:0; -ms-interpolation-mode:bicubic;}
button, html input[type="button"], input[type="reset"], input[type="submit"] {cursor:pointer; -webkit-appearance:button;}
label, select, button, input[type="button"], input[type="reset"], input[type="submit"], input[type="radio"], input[type="checkbox"] {cursor:pointer;}
input[type="search"] {-webkit-box-sizing:content-box; -moz-box-sizing:content-box; box-sizing:content-box; -webkit-appearance:textfield;}
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {-webkit-appearance:none;}
textarea {overflow:auto; vertical-align:top;}

body {margin:0; padding:0; font-family: 'Lato', sans-serif; font-weight:normal; color:#797979; background:#0f4e13; border-top:7px solid #008549; font-size:14px;}

.clr {font-size:0; height:0; line-height:0; clear:both;}
.left {margin:0; padding:0; width:auto; height:auto; float:left;}
.right {margin:0; padding:0; width:auto; height:auto; float:right;}

.clearfix {

  *zoom: 1;

}




.clearfix:before,

.clearfix:after {

  display: table;

  line-height: 0;

  content: "";

}

i.fa-solid.fa-user-tie {
    color: green;
    margin-right: 5px;
}
i.fa-solid.fa-phone {
    margin-right: 5px;
}



.clearfix:after {

  clear: both;

}

.pull-left{ float:left; }

.pull-right{ float:right; }

.text-right{ text-align:right; }

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

.text-justify{ text-align:justify; }

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

.image-left{ float:left; margin:0px 20px 0px 0px; }

.image-right{ float:right; margin:0px 0px 0px 20px; }



/* 	-----------------------------------------------------
	------------------- Header Styles ------------------
	----------------------------------------------------- */

	.header-section{ background:url(../images/header-section-bg.png) bottom no-repeat #fff; width:100%; margin:0px auto; padding:0px; background-size:auto; }
		.header-section header{ width:1016px; margin:0px auto; }

			.header-section header .logo{ float:left; margin:0px; padding:27px 0px 0px 0px;}

      .topnav {display:none;}

			.right-header{  max-width:750px; float:right; }
			.right-header nav{ background:#008549; padding: 0px 20px; border-radius:0px 0px 50px 50px; -moz-border-radius:0px 0px 50px 50px; -webkit-border-radius:0px 0px 50px 50px;}

			.right-header nav ul{ margin:0px; padding:0px; text-align:center; }
			.right-header nav ul li{ display:inline-block; color:#fff; font-size:15px; font-weight:600; font-style:italic; position:relative; }
			.right-header nav ul li a{ padding:12px 30px; text-decoration:none; color:#fff; text-transform:uppercase; display:block; }


			.right-header nav li ul {background:#57595f; left:-5000px; position:absolute; width:200px; z-index:9999;}
		.right-header nav li ul {left:auto;}

		.right-header nav li ul a {background:none; border:0 none; margin-right:0; width:200px;}

		.right-header nav li li ul {margin:-1px 0 0 200px; -webkit-border-radius:0 10px 10px 10px; -moz-border-radius:0 10px 10px 10px; border-radius:0 10px 10px 10px; visibility:hidden;}
		.right-header nav li li:hover ul {visibility:visible;}
		.right-header nav ul ul li:last-child > a {-moz-border-radius:0 0 10px 10px; -webkit-border-radius:0 0 10px 10px; border-radius:0 0 10px 10px;}
		.right-header nav ul ul ul li:first-child > a {-moz-border-radius:0 10px 0 0; -webkit-border-radius:0 10px 0 0; border-radius:0 10px 0 0;}


			.right-header .question{ color:#231f20; font-size:15px; font-weight:900; line-height:33px; font-style:italic; text-align:right; padding-top: 3px; }
			.right-header .question span{ color:#007842; font-weight:400; }

			.rmm-toggled{ display:none!important; }

			.rmm-main-list{ display:block!important; }

			.tag-line{position:absolute;top:60px;left:42%;color:#000000;font-size:16px;}

	/* 	-----------------------------------------------------
	------------------- Content Styles ------------------
	----------------------------------------------------- */
	.slider-wrapper2 { background:url(../images/inner.png) 0 100% no-repeat; color:#fff; min-height:50px; height:auto; width:100%; float:left; }
	.slider-wrapper2 h1 { color:#ffffff; font-size:30px; font-style:italic; font-weight:900; padding:0px 15px 35px 15px; }
	.content-section{ background:url(../images/content-bg.jpg) top no-repeat; margin:0px auto; }

		.content-section .in-content{ background:#fff; margin:0px auto; padding:8px 0px; width:1018px; min-height: 600px !important;}

		.slide-area{ padding:0px 8px; position:relative; }

		.full-heading{ background:#008549; border-top:6px solid #fff; border-bottom:6px solid #fff; padding:20px 0px; text-align:center; color:#fff; font-size:28px; font-weight:300; }

		.full-service{ margin:0px; padding:0px; width:100%; }
		.full-service .box{ margin:0px; padding:0px; width:50%; float:left; position:relative; }

		.full-service .box .servicename{ margin:0px; padding:0px; position:absolute; left:110px; top:80px; background:url(../images/service-trans.png) left top no-repeat; width:284px; height:284px; color:#fff; font-size:25px; font-weight:700; text-align:center; line-height:280px; }
		.full-service .box .servicename a{ color:#fff; text-decoration:none; }

		.middle-section{ margin:0px; padding:0px; background:url(../images/middle-part.jpg) left top no-repeat; height:342px; width:938px; padding:30px 40px 0px 40px; }

		.middle-section h3{ color:#fff; font-size:24px; font-weight:900; font-style:italic; margin-left:20px; }

		.middle-section p{ color:#fff; font-size:14px; font-weight:400; margin:0px 20px; }
		.middle-section p a{ color:#fff; text-decoration:none; }

		.middle-section ul{ margin:0px; padding:20px 0px 20px 20px; list-style:none; }
		.middle-section ul li{ background:url(../images/arrow.png) left no-repeat; color:#fff; font-size:14px; font-weight:400; padding:0px 0px 0px 23px; margin:0px 0px 10px 0px; }

		.top-section{ margin:0px; padding:10px; }

		.top-section .left{ width:666px; margin-left:20px; float:left; }

		.top-section .left h2{ color:#008549; font-size:26px; font-style:italic; font-weight:900; margin:10px; padding:0px;}
    .top-section .left h3 {
      color: #231f20;
      font-size: 22px;
      font-style: italic;
      font-weight: 400;
      margin: 0px 10px;
      padding: 0px;
    }

		.top-section .left p{ color:#5c595a; font-size:16px; margin:20px 10px; line-height:25px;  padding:0px;}

		.top-section .left p.contact-us{ margin:0px 0px 5px 0px; }
		.top-section .left p.contact-us span, .top-section .left p.contact-us a{ color:#008549;}
    .application {
        margin-left: 10px;
        font-size: 16px;
        line-height: 25px;
    }

		.top-section .imgright{ float:right; margin:0px 0px 20px 20px; padding:0px; display:none;}

		.tag-line b {
    font-size: 15px !important;
    line-height: 19px;
    font-family: 'Lato', 'sans-serif' !important;
    font-weight: 400 !important;
    margin-left:5px;
}

	    img.services {padding: 10px 7px;}
      .bestof {
    width: 200px;
    float: right;
    margin: 30px 40px 0 40px;
}
img.services {
    padding: 7px !important;
}

		.top-section .quoteform{ background:url(../images/quote-form.png) left top no-repeat; width:265px; height: auto; float: right; padding: 6px 15px;}

		.top-section .quoteform h3{ color:#fff; font-size:24px; font-weight:700; font-style:italic; text-align:right; margin:0px; padding:0px; }
		.top-section .quoteform h4{ color:#fff; font-size:16px; font-weight:400; text-align:right; margin-bottom:16px; }
		.top-section .quoteform input[type="text"]{ height:38px; background:#f3f3f3; width:96%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; }
		.top-section .quoteform select{ height:38px; background:#f3f3f3; width:96%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; }
		.top-section .quoteform input[type="email"]{ height:38px; background:#f3f3f3; width:96%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; }
		.top-section .quoteform input[type="password"]{ height:38px; background:#f3f3f3; width:96%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; }

		.top-section .quoteform input[type="text"].sl{ height:38px; background:#f3f3f3; width:36%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; float:left; }
		.top-section .quoteform input[type="text"].rl{ height:38px; background:#f3f3f3; width:53%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; float:right; }

		.top-section .quoteform input[type="submit"]{ height:38px; background:#231f20; width:100%; padding:0px 2%; color:#d9d9d9; font-size:20px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; text-align:center; font-family: 'Lato', sans-serif; font-weight:normal; }
    .top-section .quoteform button {height:38px; background:#231f20; width:100%; padding:0px 2%; color:#d9d9d9; font-size:20px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; text-align:center; font-family: 'Lato', sans-serif; font-weight:normal; border-radius:0px;}
		.top-section .left .quoteform{  width:96%;  padding:15px 2%; background:none; height:auto; }
		.top-section .left .quoteform p{ margin:0px 0px 3px 0px; }
		.top-section .left .quoteform .formrow{ width:100%; display:table; margin:0px; padding:0px 0px 10px 0px; }
		.top-section .left .quoteform .formrow .left{ width:48%; margin:0px; padding:0px; float:left; }
		.top-section .left .quoteform .formrow .right{ width:48%; margin:0px; padding:0px; float:right; }

		.top-section .left .quoteform input, .top-section .left .quoteform select{ border:1px solid #231f20; }

		.top-section .left .quoteform input[type="submit"]{ width:auto; }









		.quoteform h3{ color:#fff; font-size:24px; font-weight:700; font-style:italic; text-align:right; }
		.quoteform h4{ color:#fff; font-size:16px; font-weight:400; text-align:right; margin-bottom:16px; }
		.quoteform input[type="text"], .quoteform input[type="tel"]{ height:38px; background:#f3f3f3; width:96%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:inherit; line-height:38px; border:0px !important; margin-bottom:12px; }

		.quoteform textarea{ height:auto; background:#f3f3f3; width:96%; padding:0px 2%; color:#5c595a; font-size:12px; font-family:Arial, Helvetica, sans-serif; line-height:38px; border:0px !important; margin-bottom:12px; }


		.quoteform select{ height:38px; background:#f3f3f3; width:96%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:0px !important; margin-bottom:12px; }
		.quoteform input[type="email"]{ height:38px; background:#f3f3f3; width:96%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:0px !important; margin-bottom:12px; }
		.quoteform input[type="password"]{ height:38px; background:#f3f3f3; width:96%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:0px !important; margin-bottom:12px; }

		.quoteform input[type="text"].sl{ height:38px; background:#f3f3f3; width:36%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; float:left; }
		.quoteform input[type="text"].rl{ height:38px; background:#f3f3f3; width:53%; padding:0px 2%; color:#5c595a; font-size:12px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; float:right; }

		.quoteform input[type="submit"]{ height:38px; background:#231f20; width:100%; padding:0px 2%; color:#d9d9d9; font-size:20px; text-transform:uppercase; line-height:38px; border:none; margin-bottom:12px; text-align:center; font-family: 'Lato', sans-serif; font-weight:normal; }

		.left .quoteform{  width:96%;  padding:15px 2%; background:none; height:auto; }
		.left .quoteform p{ margin:0px 0px 3px 0px; }
		.left .quoteform .formrow{ width:100%; display:table; margin:0px; padding:0px 0px 10px 0px; }
		.left .quoteform .formrow .left{ width:48%; margin:0px; padding:0px; float:left; }
		.left .quoteform .formrow .right{ width:48%; margin:0px; padding:0px; float:right; }

		.left .quoteform input, .left .quoteform select{ border:1px solid #231f20; }

		.left .quoteform input[type="submit"]{ width:auto; }

    .ready {
      text-align:center;
      margin:40px 0;
    }
    .ready h2 {
      margin: 10px 10px 10px 12px !important;
      color: #008549;
      font-size: 26px;
      font-style: italic;
      font-weight: 900;
      padding: 0;
    }



			/* 	-----------------------------------------------------
	------------------- Footer Styles ------------------
	----------------------------------------------------- */

	.footer-section{ background:url(../images/footer-bg.jpg) top no-repeat #0f4e13;  width:980px; margin:0px auto; padding:30px 20px 50px 20px; }

	.footer-section .fleft{ margin:0px; padding:0px; float:left; width:580px; }
	.footer-section .copyright{ color:#fff; font-size:13px; font-weight:400; }

	.footer-section .footernav{ margin:0px; padding:0px; }
	.footer-section .footernav ul{ margin:0px; padding:20px 0 0 0; list-style:none; }
	.footer-section .footernav ul li{ float:left; background:url(../images/foot-sep.png) right no-repeat; color:#fff; font-size:13px; font-weight:400; }
	.footer-section .footernav ul li:last-child{ background:none; }
	.footer-section .footernav ul li a{ padding:0px 12px; color:#fff; text-decoration:none; }
	.footer-section .footernav ul li:first-child a{ padding-left:0px; }

	.footer-section .fright{ margin:0px; padding:0px; float:left; width:226px; }
	.footer-section .fright .socialnav{ margin:0px; padding:0px; }
	.footer-section .fright .socialnav ul{ margin:0px; padding:0px; list-style:none; }
	.footer-section .fright .socialnav ul li{ margin:0px 6px 0px 0px; padding:0px; float:left; }

    © {text-decoration: none; color: #008549;}

.designed p {
    color: #fff;
    margin-top: 62px;
    float: right;
}
.designed p a {
    color:#009452;
}

img.mini-1 {
  width: 31%;
  max-height: 225px;
  margin-left: -2px;
}
img.mini-2 {
  width: 31%;
  max-height: 225px;
  margin-left: 20px;
}
img.mini-3 {
  width: 31%;
  max-height: 225px;
  margin-left: 20px;
  min-height: 225px;
}
p.question a span {
    margin-right: 30px;
}

.landscaping-section {
     color: #ffffff;
     padding: 0px;
     font-family: sans-serif;
     overflow: hidden;
     background: linear-gradient(0deg, #0c1706cc, #038549), url(https://davidslawn.com/images/landscaping-davids-lawn-service-11.jpg);
     background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
}

.landscaping-container {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    gap: 40px;
}

.landscaping-image {
    flex: 1;
    position: relative;
}

/* This creates the "flipped" curve effect */
.landscaping-image img {
    width: 100%;
    height: auto;
    display: block;
    clip-path: ellipse(90% 100% at 10% 50%);
    border-right: 5px solid #ffffff; /* Matches the white divider line */
}

.landscaping-content {
    flex: 1;
    padding-right: 20px;
}

.landscaping-content h2 {
    font-size: 25px;
    margin-bottom: 20px;
    font-weight: bold;
    font-family:'Lato';
}

.services-list {
    list-style: none;
    padding: 0;
}

.services-list li {
    font-size: 16px;
    margin-bottom: 12px;
    padding-left: 25px;
    position: relative;
}

/* Diamond/Arrow bullet points to match your top section */
.services-list li::before {
    content: "✦";
    position: absolute;
    left: 0;
    color: #ffffff;
}

.snow-removal-section {
    background-color: #0e17067a; /* Cool slate blue/grey for winter vibes */
    color: #ffffff;
    padding: 40px 0px;
    font-family: sans-serif;
    border-top: 6px solid #ffffff; /* Divider line between sections */
    overflow: hidden;
    background: linear-gradient(0deg, #0c1706cc, #0c1706cc),
            url('https://davidslawn.com/images/Commercial-Snow-Removal-Davids-Lawn-Minnesota3.jpg');
    background-size: cover;
    background-position: center;
}

.snow-container {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    gap: 40px;
}

.snow-content {
    flex: 1;
    padding-left: 60px;
}
.top-section .left h1 {
    color: #009653;
    font-size: 28px;
    font-style: italic;
    font-weight: 900;
    margin: 10px;
    padding: 0px;
}

.snow-content h2 {
    font-size: 25px;
    margin-bottom: 10px;
    color: #ecf0f1;
    font-family: 'Lato';
}

.snow-list {
    list-style: none;
    padding: 0;
    margin-top: 20px;
}

.snow-list li {
    font-size: 16px;
    margin-bottom: 12px;
    padding-left: 25px;
    position: relative;
}

/* Snowflake or Arrow bullet point */
.snow-list li::before {
    content: "❄";
    position: absolute;
    left: 0;
    color: #3498db; /* Ice blue accent */
}

.snow-image {
    flex: 1;
}

/* Returns to the original curve from your first section */
.snow-image img {
    width: 100%;
    height: auto;
    display: block;
    clip-path: ellipse(90% 100% at 90% 50%);
    border-left: 5px solid #ffffff;
}

.snow-removal-section {
    /* Use a solid dark green background for the whole section */
    background-color: #0c1706;
    color: #ffffff;
    padding: 0; /* Ensures no white gaps at top/bottom */
    overflow: hidden;
    display: flex;
}

.snow-container {
    display: flex;
    align-items: stretch; /* Forces image to full height */
    width: 100%;
}

.snow-content {
    flex: 1.2; /* Gives slightly more room for text */
    padding: 40px 60px; /* Adjust padding for text breathing room */
    background-color: #0c1706; /* Matches the section background */
}

.snow-image {
    flex: 1;
    position: relative;
    /* This is the ONLY place the truck image should be called */
    background-image: url('https://davidslawn.com/images/davids-snow-services.webp');
    background-size: cover;
    background-position: center;

    /* The Half-Circle Curve matching your top section */
    clip-path: ellipse(100% 100% at 100% 50%);
    border-left: 6px solid #ffffff;

    /* Pulls the image left to overlap the green side */
    margin-left: -120px;
}

@media (max-width: 768px) {
    .landscaping-container {
        flex-direction: column; /* Stacks the image on top */
        display: flex;
    }

    .landscaping-image {
        width: 100% !important;
        margin: 0 !important; /* Removes the desktop overlap margin */
        clip-path: none !important; /* Removes the curve */
        border-right: none !important;
        border-bottom: 5px solid #ffffff; /* Divider between image and text */
    }

    .landscaping-image img {
        width: 100%;
        height: auto;
        display: block;
    }

    .landscaping-content {
        width: 100% !important;
        padding: 40px 20px !important; /* Adds breathing room for text */
        text-align: center; /* Optional: centers text for mobile */
    }

    .services-list, .snow-list {
        text-align: left; /* Keeps the bullets aligned left while parent is centered */
        display: inline-block;
    }
}

/* Mobile Fix to stack them */
@media (max-width: 900px) {
    .snow-container {
        flex-direction: column;
        text-align: center; /* Optional: centers text for mobile */
    }
    .snow-image {
        height: 300px;
        clip-path: none;
        margin-left: 0;
        border-left: none;
        border-top: 6px solid #ffffff;
    }
}


@media (max-width: 768px) {

  .slider-wrapper2 h1 {
    margin-left: 30px;
}

  .top-section .left h3 {
    color: #231f20;
    font-size: 22px;
    font-style: italic;
    font-weight: 400;
    margin: 0px 10px 0px 20px;
    padding: 0px;
  }

  .tag-line b {
  font-size: 13px !important;
  }

  h1 {
    font-size:26px !important;
  }

  .blog-post ul li {
    padding:0px 20px;
  }

  .slide-area {
    padding:0px !important;
  }
  .theme-default .nivo-controlNav {
    text-align: center;
    padding: 0 0;
    position: absolute;
    z-index: 9999;
    bottom: -25px !important;
    left: 20px;
}
  img.mini-1 {
    width: 30%;
    max-height: 125px;
    margin-left: 0px;
  }
  img.mini-2 {
    width: 30%;
    max-height: 125px;
    margin-left: 10px;
  }
  img.mini-3 {
    width: 30%;
    margin-left: 10px;
    max-height: 125px;
    min-height: 125px;
  }

  .right-header .question {
    top: 95px;
    position: absolute;
    left: 99px;
  }
  .slider-wrapper2 h1 {
    padding:10px 5px !important;
    height:70px;
    font-size:28px;
    margin:0px;
  }
  .top-section .left h2 {
    color: #008549;
    font-size: 23px !important;
    font-style: italic;
    font-weight: 900;
    margin: 0px 30px !important;
    padding: 10px 0px !important;
    font-size: 24px !important;

  }
  .top-section .left h3 {
    margin: 10px !important;
    padding: 10px 20px !important;
    font-size:20px !important;
  }

  .top-section .left p {
    color: #5c595a;
      font-size: 14px;
      line-height: 20px;
      margin: 0px 30px;
      padding: 0px 0px 10px;
  }

  .top-section {
      margin: 0;
      padding: 0px;
  }
  button.bottom {
      background: #008549;
      padding: 10px;
      border-radius: 50px;
      margin: 10px;
      color: white;
      width: 95%;
  }
}
@media (max-width: 480px) {
  .right {
    display:none;
  }
}
