*{ margin:0; padding:0; }
img{ border:0 none; outline:none; max-width:100%; }
ul,li{ list-style:none; }
a{ text-decoration:none; outline:none; }

/* Font Faces */
@font-face {
    font-family: 'proxima_novalight';
    src: url('/fonts/proximanova-light-webfont.eot');
    src: url('/fonts/proximanova-light-webfont.eot#iefix') format('embedded-opentype'),
         url('/fonts/proximanova-light-webfont.woff') format('woff'),
         url('/fonts/proximanova-light-webfont.ttf') format('truetype'),
         url('/fonts/proximanova-light-webfont.svg#proxima_novalight') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'proxima_nova_rgregular';
    src: url('/fonts/proximanova-regular-webfont.eot');
    src: url('/fonts/proximanova-regular-webfont.eot#iefix') format('embedded-opentype'),
         url('/fonts/proximanova-regular-webfont.woff') format('woff'),
         url('/fonts/proximanova-regular-webfont.ttf') format('truetype'),
         url('/fonts/proximanova-regular-webfont.svg#proxima_nova_rgregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'proxima_novasemibold';
    src: url('/fonts/proximanova-semibold-webfont.eot');
    src: url('/fonts/proximanova-semibold-webfont.eot#iefix') format('embedded-opentype'),
         url('/fonts/proximanova-semibold-webfont.woff') format('woff'),
         url('/fonts/proximanova-semibold-webfont.ttf') format('truetype'),
         url('/fonts/proximanova-semibold-webfont.svg#proxima_novasemibold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'proxima_nova_rgbold';
    src: url('/fonts/proximanova-bold-webfont.eot');
    src: url('/fonts/proximanova-bold-webfont.eot#iefix') format('embedded-opentype'),
         url('/fonts/proximanova-bold-webfont.woff') format('woff'),
         url('/fonts/proximanova-bold-webfont.ttf') format('truetype'),
         url('/fonts/proximanova-bold-webfont.svg#proxima_nova_rgbold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'proxima_novaextrabold';
    src: url('/fonts/proximanova-extrabold-webfont.eot');
    src: url('/fonts/proximanova-extrabold-webfont.eot#iefix') format('embedded-opentype'),
         url('/fonts/proximanova-extrabold-webfont.woff') format('woff'),
         url('/fonts/proximanova-extrabold-webfont.ttf') format('truetype'),
         url('/fonts/proximanova-extrabold-webfont.svg#proxima_novaextrabold') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* Global Typography Fallbacks (Forces Sans-Serif Everywhere) */
body, h1, h2, h3, h4, p, a, span, li { 
    font-family: 'proxima_nova_rgregular', Arial, Helvetica, sans-serif !important; 
}

body{ margin:0; padding:0; }
.wrapper{ width:1085px; margin:0 auto; }
h1, h2, h3, h4, h5, h6 { font-weight: normal; }

/* CSS Buttons (Replacing Missing Images) */
.btn-order-online {
    display: inline-block;
    background-color: #fbd25f;
    color: #000;
    padding: 10px 20px;
    text-decoration: none;
    font-family: 'proxima_nova_rgbold', Arial, Helvetica, sans-serif !important;
    font-size: 14px;
    font-weight: bold;
    box-shadow: 1px 1px 4px rgba(0,0,0,0.2);
}

.btn-learn-more {
    display: inline-block;
    padding: 12px 30px;
    color: #000;
    text-decoration: none;
    font-family: 'proxima_nova_rgbold', Arial, Helvetica, sans-serif !important;
    font-size: 15px;
    font-weight: bold;
    box-shadow: 1px 1px 4px rgba(0,0,0,0.2);
}

.btn-learn-more.orange { background-color: #ee8f2e; }
.btn-learn-more.white { background-color: #ffffff; }

/* Header Styles - Flexbox Layout */
.header-back{ width:100%; float:left; background-size:100% 109px; }
.header{ 
    display: flex;
    align-items: stretch;
    width: 100%;
}
.header .logo{ 
    flex: 0 0 350px; 
    background: #ff8900; 
    border-bottom: 4px solid #c46900;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    position: relative; /* Needed for the slant to attach properly */
    z-index: 10; /* Keeps the orange box above the green nav */
}

/* Creates the slanted angle on the right side of the logo */
.header .logo::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: -4px; /* Pulls down to perfectly cover the bottom border */
    right: -15px; /* Pushes the angle out to the right */
    width: 40px;
    background: #ff8900;
    border-bottom: 4px solid #c46900;
    transform: skewX(-15deg); /* Creates the slant */
    z-index: -1; /* Puts the angle behind the logo content, but above the nav */
}

.header .right-header{ 
    flex: 1; 
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.header .right-header .top-area{ 
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 20px 20px 10px 20px;
    gap: 25px;
}
.header .right-header .top-area h1{ 
    font-size: 18px; 
    color: #575d60; 
    margin: 0;
}
.header .right-header .top-area h1 span{
    color: #ff8900; 
    font-weight: bold;
}
.header .right-header nav{ 
    background: #449557; 
    padding: 12px 20px; 
    margin-top: auto;
    position: relative; 
    z-index: 1; /* Forces the nav under the orange slanted box */
    margin-left: -20px; /* Tucks the nav slightly to the left under the angle */
}
.header .menu{ 
    width:100%; 
    text-align: left; 
    margin:0; 
    padding:0; 
    display: flex;
    gap: 40px;
    justify-content: center;
}
.header .menu li{ 
    display: inline-block; 
}
.header .menu li a{ 
    font-family: 'proxima_nova_rgbold', Arial, Helvetica, sans-serif !important; 
    font-size:16px; 
    text-transform:uppercase; 
    color:#fff; 
}
.header nav a#pull { display:none; }

/* Banner Styles */
.banner-back{ width:100%; float:left; }
.banner{ width:99%; float:left; position:relative; box-shadow:0 0 4px #909090; background:#fff; padding:0.5%; }
.banner .banner-text{ 
    width: 45%; 
    position: absolute; 
    left: 8%; 
    top: 25%; 
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}
.banner .banner-image{ float:left; width:100%; }
.banner .bot-banner{ width:100%; float:left; background:#378a48; padding: 20px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between;}
.banner .bot-banner .bot-image{ float:left; margin-right:2%; width: 250px;}
.banner .bot-banner p{ font-size:20px; line-height:30px; margin:0 20px; color:#000; flex: 1; }

.banner h1 { 
    font-size: 45px; 
    margin-bottom: 15px; 
    line-height: 1.1; 
    color: #ffffff; 
    text-shadow: 2px 2px 4px rgba(0,0,0,0.7); 
}

.banner h2 { 
    line-height: 1; 
    margin-bottom: 15px; 
    font-size: 90px; 
    color: #000000; 
    font-weight: bold;
    text-shadow: 
        -2px -2px 0 #fff,  
         2px -2px 0 #fff,
        -2px  2px 0 #fff,
         2px  2px 0 #fff,
         3px  4px 2px rgba(0,0,0,0.3); 
}

/* Layout Blocks */
.threebox{ width:100%; float:left; margin:0; padding:24px 0; display: flex; justify-content: space-between;}
.threebox li{ list-style:none; width:31%; background:#e6e6e6; text-align:center; padding:2%; min-height:253px; box-sizing: border-box;}
.threebox li p{ font-size:20px; color:#3c3c3c; margin-top:15px; }
.threebox li p:nth-child(2){ font-size:15px; line-height:22px; color:#252525; margin-top:15px; }
.threebox li strong { font-family: 'proxima_nova_rgbold', Arial, sans-serif !important; font-weight: normal; color: #414141; }
.threebox li .learn-btn{ width:100%; float:left; text-align:center; margin-top:18px; }

/* Main Container Area */
.container-back{ width:100%; float:left; }
.container{ width:100%; float:left; }
.container .second-panel{ width:98%; padding:30px 1% 4px 1%; float:left; background:#ad9b76; }
.container p.second{ width:100%; font-size:17px; margin-bottom:20px; float:left; color:#fff; text-align:center; }
.container p.four{ width:100%; font-size:15px; color:#fff; margin-bottom:10px; float:left; text-align:left; line-height:44px; }
.container h1{ width:100%; font-family: 'proxima_novaextrabold', Arial, sans-serif !important; font-size:25px; color:#fff; float:left; text-align:center; margin-bottom: 15px;}

/* Pricing Table Styles */
.table-zone{ width:100%; float:left; padding-top:10px; }
.table-zone h1{ font-size:21px; margin:35px 0 0 0; color:#292929; width:100%; float:left; text-align:center; }
.table-zone p{ font-size:17px; color:#292929; margin-bottom:10px; width:100%; float:left; text-align:center; }
.table-zone .main-tab{ width:100%; float:left; padding:0; margin:0; background:#ad9b76; }
.table-zone .main-tab ul{margin-bottom:8px; }
.table-zone .main-tab li{ width:100%; float:left; }
.table-zone .main-tab li .inner-ul{ width:100%; float:left; background:#FFFFFF; }
.table-zone .main-tab li .inner-ul li{ width:42%; float:left; }
.table-zone .main-tab li .inner-ul li+li{ width:20%; margin-left:0.6%; margin-bottom:0; border-radius:0; background:none; }
.table-zone .main-tab li .inner-ul li+li+li{ width:12%; margin-bottom:0; }
.table-zone .main-tab li .inner-ul li+li+li+li{ width:24%; float:right; margin-bottom:0; }
.table-zone .main-tab li h2{ text-transform:uppercase; width:100%; float:left; text-align:center; font-family: 'proxima_novaextrabold', Arial, sans-serif !important; line-height:42px; background:#378a48; font-size:17px; color:#FFFFFF;}
.table-zone .main-tab li+li{ margin-bottom:3px; border-radius:0px; }
.table-zone .main-tab li h3{ width:100%; float:left; text-align:center; font-size:16px; color:#000; line-height:42px; }
.table-zone .main-tab li .btn{ width:100%; float:left; text-align:right; }
.table-zone .main-tab li .btn a{ width:100%; font-size:0px; background-size: 100% 100%; height:43px; float:right; }
.table-zone .main-tab li+li+li+li+li{ margin-bottom:6px; }

/* FIX FOR ORDER BUTTONS */
li .button { width: 100%; float: left; margin: 0; text-align: center; }
li .button a.newBtn {
    background-color: #ff8900; 
    color: #ffffff; 
    display: block;
    width: 100%;
    height: 42px;
    line-height: 42px;
    text-decoration: none;
    font-family: 'proxima_nova_rgbold', Arial, sans-serif !important;
    font-size: 16px;
    text-transform: uppercase;
    text-indent: 0; 
    transition: background-color 0.2s ease;
}
li .button a.newBtn:hover {
    background-color: #c46900; 
}

/* Secondary Container Boxes */
.container .dotted-box{ width:100%; float:left; padding:37px 0 22px 0; margin-bottom:20px; border-bottom:1px solid #7f7f7f; }
.container .dotted-box p{ color:#252525; margin-bottom:20px; font-size:15px; width:100%; text-align:left; }
.container .dotted-box h1{ color:#022336; font-size:27px; margin-bottom:15px; width:100%; text-align:left; font-family: 'proxima_novaextrabold', Arial, sans-serif !important; text-transform:uppercase; }
.container .dotted-box .left-dotted{ width:44%; padding:0 2%; float:left; }
.container .dotted-box .right-dotted{ width:45%; padding:0 3%; border-left:1px solid #7f7f7f; float:left; }

.container .bot{ width:100%; float:left; }
.container .bot h1{ color:#022336; text-transform:uppercase; font-size:27px; margin-bottom:15px; width:100%; text-align:left; font-family: 'proxima_novaextrabold', Arial, sans-serif !important; }
.container .bot p{ color:#252525; margin-bottom:20px; font-size:15px; width:100%; text-align:left; }
.container .bot .left-bot{ width:47%; float:left; padding-right:3%; }
.container .bot .right-bot{ width:50%; float:right; }
.container .bot ul{ width:100%; float:left; padding-left: 20px;}
.container .bot ul li{ list-style:disc; float:left; width:100%; color:#252525; font-size:15px; margin-bottom: 5px;}

/* 3-Column Footer Styles */
.footer-back{ width:100%; float:left; background-size:100% 109px; margin:10px 0 0 0; background-color: #378a48; }
.footer{ 
    float:left; 
    width:100%; 
    padding:30px 0; 
    display: flex; 
    justify-content: space-around; 
    align-items: flex-start;
}
.footer div{ 
    width: 30%; 
    min-height: auto; 
}
.footer h1{ 
    width:100%; 
    text-align:center; 
    font-family: 'proxima_novaextrabold', Arial, sans-serif !important; 
    text-transform:uppercase; 
    font-size:16px; 
    color:#002510; 
    margin-bottom: 15px;
}
.footer p{ 
    color:#fff; 
    font-size:14px; 
    line-height:26px; 
    width:100%; 
    text-align:center; 
}
.footer a { 
    color:#FFFFFF; 
    text-decoration: none; 
}
.footer a:hover {
    text-decoration: underline;
}

.main-footer-back{ width:100%; float:left; background: #e09c3a; }
.main-footer{ width:100%; float:left; padding:27px 0; }
.main-footer p{ color:#252525; font-size:15px; line-height:20px; width:100%; text-align:center; }

/* Responsive Base */
@media( min-width:980px ) and ( max-width:1350px ){
    .wrapper{ width:980px; }
}

@media( min-width:768px ) and ( max-width:979px ){
    .wrapper{ width:724px; }
    .threebox li{ min-height:436px; }
    .footer { flex-wrap: wrap; }
}

@media ( max-width:767px ){
    .wrapper{ width:auto; padding: 0 15px;}	
    .header { flex-direction: column; }
    .header .logo { flex: 0 0 auto; }
    .header .logo::after { display: none; } /* Hide the slant on mobile */
    .header .right-header nav{ margin-left: 0; } /* Reset nav margin on mobile */
    .header .right-header .menu{ display: none; }
    .header nav a#pull { display:block; width:100%; text-align: center; color: #fff; padding: 10px;}
    .banner .banner-text { left: 2%; top: 10%; width: 90%; }
    .banner h2 { font-size: 50px; }
    .banner .bot-banner { flex-direction: column; text-align: center;}
    .banner .bot-banner .bot-image { width: 100%; margin-bottom: 15px;}
    .banner .bot-banner p { margin: 0 0 15px 0;}
    .threebox { flex-direction: column; }
    .threebox li { width: 100%; margin-bottom: 15px; }
    .container .dotted-box .left-dotted, .container .dotted-box .right-dotted { width: 100%; border: none; padding: 0;}
    .container .bot .left-bot, .container .bot .right-bot { width: 100%; }
    .footer { flex-direction: column; text-align: center; }
    .footer div { width: 100%; min-height: auto; margin-bottom: 20px;}
}