
:root {
    --content_width: 48%;
}

@media (max-width: 600px) {
    :root {
        --content_width: 98%;
    }
}

@media (min-width: 601px ) and ( max-width: 900px) {
    :root {
        --content_width: 60%;
    }
}



/* ----------- begin css reset ---------------- */

    /* http://meyerweb.com/eric/tools/css/reset/ 
    v2.0 | 20110126
    License: none (public domain)
*/

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, 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,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* ----------- end css reset ---------------- */




body {
    display: grid;
    font: normal normal 400 16px/170% 'Lora';
    overflow-y: auto;
    scrollbar-gutter: stable;
}

p {
    margin: 1em 0;
}

h2 + p, h3 + p, h4 + p {
    margin-top: 0;
}

h1, h2, h3, h4, h5, h6 {
    font: normal normal 700 1em Montserrat, sans-serif;
    margin-bottom: .5em;
}

h1 {
    font-size: 4em;
}

h2 {
    font-size: 1.5em;
}
/* 
h2 + ol > li:first-child {
    margin-top: 0;
} */

ol li {
    margin-bottom: 2em;
}

ol li h3 {
    margin-bottom: 0;
}



header {
    position: sticky;
    display: flex;
    justify-content: right;
    top: 0px;
    background-color: rgba( 255, 255, 255, .8 );
}



/* A simple, css only, (some-what) responsive menu */
nav.mainmenu {
    position: relative;
    text-align: center;
    letter-spacing: 1px;
}


.mainmenu a {
    text-decoration: none;
    color: #222;
    display: block;
    font-size:80%;
}

.mainmenu ul {
    list-style: none;
    position: relative;
    text-align: left;
}

.mainmenu li {
    float: left;
}

/* clear'n floats */
.mainmenu ul:after {
    clear: both;
}

.mainmenu ul:before,
.mainmenu ul:after {
    content: " ";
    display: table;
}

/* prime */
.mainmenu ul.primary li a {
    display: block;
    padding: 5px 20px;
}

.mainmenu ul.primary li a:hover {
    /* background-color: #aaa; */
    color: #000;
    font-weight: bold;
    background: #ccc;
}

/*  this is so that the primary menu item keeps it's backgeound hover color when you move down to the submenu */
.mainmenu ul.primary li:hover a {
    background: #ccc;
}


/* submenus */
.mainmenu ul.sub {
    position: absolute;
    display: none; 
    z-index: 200;
    width: 30%;
}

.mainmenu ul.sub li {
    float: none;
    margin: 0;
}


.mainmenu ul.sub li a:hover {
    background: #ddd !important;
}

.mainmenu ul.primary li:hover ul.sub {
    display: block;
    border: 1px black solid;
    border-top: 0;
}

/* 
@media only screen and (max-width: 600px) {
    .mainmenu li {
        float: none;
    }

    .mainmenu ul.primary li:hover a {
        background: none;
    }

    .mainmenu ul.primary li:hover ul.sub {
        display: block;
        border: none;
    }
    

    .mainmenu ul.sub {
        display: block;
        position: static;
        box-shadow: none;
        width: 90%;
        margin-left: 10%;
        border: none;
    }

    .mainmenu ul.sub li a {
        border: none;
    }

    .mainmenu ul.sub li a:hover {
        background: none;
    }
} */
/* ----------------------  End of css menu ------------------------  */



main {
    display: grid;
    justify-items: center;
}

section {
    display: grid;
    /* padding: 1rem; */
    width: min( 100vw, var( --content_width ));

}

section.one {
    width: 100%;
    height: max( 24vw, 200px);
    justify-items: left;
    /* align-items: center; */
    background: #eee url('../images/roof.png')  no-repeat 50% 90%;
    background-size: cover;    
}


section.one .box {
    display: grid;
    position: relative;
    bottom: -25%; 
    /*align-items: center;
    justify-items: center; */

    height: 1.5em;
    width: min( 100vw, max-content );
    padding: 0 1em;
    /* border-radius: 3px; */
    /* background-color: linear-gradient( rgba(42, 42, 42, 0.8) 0%,  rgba(42, 42, 42, 0.8) 90%,  rgba(42, 42, 42, 0.2) 100% ); */
    background: linear-gradient(90deg, rgba(2,0,36,.7) 0%, rgba(2,0,36,.7) 85%, rgba(2,0,36,0) 100%);
    text-align: center;
    margin: 2em 0;
}


section.one .box h1 {
    font: normal normal 600 6vw Montserrat, sans-serif;
    font-size: max( 2.5rem, 6vw);
    color: #eee;
    align-self: center;
    margin: -.8em 1.6em 0 0;
    text-shadow: -2px -2px 2px black, -2px 2px 2px black, 2px -2px 2px black, 2px 2px 2px black;
}


a.call_button {
    width: max-content;
    height: max-content;
    text-decoration: none;
    font: normal normal 700 14px 'Maven Pro', serif;
    color: black;
    
    padding: 10px 20px;
    border: 1px #393939 solid;
    /* background: linear-gradient( 47deg, #d1e2f7 0%, #a6cdfd 100% ); */
    background: linear-gradient( 47deg, #bed9f9 0%, #accef8 100% );

    border-radius: 4px;
    margin-top: 1cqb;
}


section.two {
    margin-top: 2em;
}


section.two h2 {
    text-align: center;
    font: normal normal 600 36px 'Maven Pro', sans-serif;
}


section.two .tagline, section.two .contactinfo  {
    text-align: center;
    font: normal normal 400 28px 'Maven Pro', sans-serif;
    margin: -.5em 0 .8em 0;
}




section.three {
    display: block;
    margin-top: 2em;
}

section.three .textContainer {
    /* grid-row: 1;
    grid-column: 1; */
    visibility: visible;  /* ust to have a rule so isual Studio Code doesn't complain  */
}

section.three .textContainer ul {
    margin: 1em 0 2em 0;
}


section.three .textContainer h3 {
    margin: 1em 0 0 0;
}

section.three .serviceareas .contact {
    margin-top: 20px;
}

section.three .formContainer {
    /* grid-row: 1;
    grid-column: 2; */
    float: right;
    margin: 20px;
    display: grid;
}

section.three .formContainer form {
    border: 4px black solid;
    padding: 5px;
    justify-content: center;
}

section.three .formContainer form .note {
    text-align: center;
    font-weight: bold;
    margin: -.2em 0 1em 0;
}

section.three .formContainer .contact_info label {
    display: grid;
    grid-template-columns: .5fr 1.2fr;
    grid-column-gap: 1em;
    margin: .5em .3em .5em .1em;
}

section.three .formContainer .contact_info label span  {
    grid-column: 1;
    text-align: right;
}

section.three .formContainer .contact_info label input  {
    grid-column: 2;
}


section.three .formContainer label[for="description"] {
    margin-top: 1em;
    display: grid;
    grid-template-columns: 1fr;
}


section.three .formContainer label[for="description"] > span  {
    visibility: visible;
}

section.three .formContainer label[for="description"] > textarea  {
    height: 6em;
}


.form-required {
    font-size: 120%;
    color: red;
}

fieldset.name {
    display: grid;
    grid-template-rows: .2fr 1fr;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10px;
    border:1px #999 solid;
}

fieldset.name legend{
    grid-row: 1;
}

fieldset.name label[for="firstName"] {
    grid-row: 2;
    grid-column: 1;
    margin: .5em;
}

fieldset.name label[for="lastName"] {
    grid-row: 2;
    grid-column: 2;
    margin: .5em;
}


fieldset.email {
    border: 1px #999 solid;
}

fieldset.email label {
    margin: .5em;
}




section.four {
    width: 100%;
    box-shadow: -2px 0 6px 1px black;
    background-color:rgb(33, 107, 176);
    color: #fff;
    padding: 2em 0 0 0;
    justify-items: center;
}

section.four h2, section.four ul, section.four > p {
    width: var( --content_width );
}


section.four h2 {
    font-size: 32px;
}




section.four ul li {
    margin-bottom: 2em;
}


section.four ul li h3 {
    margin: 1em 0 .4em 0;
}


section.five h2 {
    margin: 1em 0 .5em 0;
    color: #000;
    font-size: 2em;
    line-height: 100%;
}

section.five > p {
    margin: .5em 0;
}


section.five ul {
    margin: -.5em 0 -1em 0;
}

section.five ul li h3{
    margin: 1em 0 0 0;
}


section.six {
    margin: 2em 0 3em 0;
}


section.seven {
    margin: 2em 0 3em 0;
}

ul.faq {
    margin-left: 1em;
}

section.eight p.tagline {
    margin: -.5em 0 0 0;
    font: normal normal 600 18px Montserrat, sans-serif;
}


.final_cta {
    display: grid;
    justify-items: center;
    border-radius: 2px;
    padding: 1em;
    background-color: #eee;
}

.final_cta a.button {
    margin-top: 1em;
}


footer {
    background-color: #bed9f9;
    display: grid;
    justify-items: center;
    width: 100%;
    padding: 1rem;
    font-size: 75;
    margin-top: 2em; 
}

footer .footer_content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: min( 80vw, var( --content_width ));
}


footer .quicklinks {
    grid-column: 1;
    font-family: 'Montserrat';
}


footer ul li {
    line-height: 1em;
}

footer .quicklinks a, footer .quicklinks a:visited  {
    font-size: 90%;
    font-family: 'Montserrat';
    color: black;
}


footer .quicklinks ul h4 {
    font-size: 88%;
    margin: 0;
    font-weight: normal;
}

footer .quicklinks ul ul {
    padding-left: 1.5em;
}

footer .extra {
    grid-column: 2;
    text-align: right;
}



/*  --------------------  css for tab box ------------------------ */
/* ---------- from https://codepen.io/Wendy-Ho/pen/MWWBvmd ------- */

ul {
    margin-block-end: 0;
}

section.five .tabs_wrapper {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
}


section.five .tabs_wrapper .tabs {
    display: flex;
    flex-direction: row;
    /* align-items: stretch; */
    justify-content: space-between;
}

section.five .tab {
    cursor: pointer;
    padding: 10px 10px;
    margin: 0px 0px;
    font-size: 85%;
    background: #000;
    display: inline-block;
    color: #fff;
    border-radius: 6px 6px 0px 0px;
    border: 1px #888 solid
    /*box-shadow: 0 0.5rem 0.8rem #00000080;*/
}

section.five .panels {
    box-sizing: border-box;
    background: #fffffff6;
    /*box-shadow: 0 2rem 2rem #00000080;*/
    border: 1px black solid;
    min-height: 180px;
    width: 100%;
    /*max-width: 600px;*/
    border-radius: 3px;
    overflow: hidden;
    padding: 20px;
}

section.five .panel {
    display: none;
    animation: fadein .8s;
}

@keyframes fadein {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

section.five .panel-title {
    font-size: 1.5em;
    font-weight: bold
}

section.five .radio {
    display: none;
}

section.five #one:checked~.panels #one-panel,
section.five #two:checked~.panels #two-panel,
section.five #three:checked~.panels #three-panel,
section.five #four:checked~.panels #four-panel {
    display: block
}

section.five #one:checked~.tabs #one-tab,
section.five #two:checked~.tabs #two-tab,
section.five #three:checked~.tabs #three-tab,
section.five #four:checked~.tabs #four-tab {
    background: #bfdcff;
    font-weight: bold;
    color: #000;
  /*  border-top: 3px solid #000; */
}


.supportnetwork {
    padding: 1em;
    margin: 3em 1em 1em 1em;
    border: 1px black solid;
    border-radius: 8px;
}

.supportnetwork a {
    color: black;
}


/* --------------------------------   for the metal roofing page  -------------------------------- */
body.metal_roofing h1 {
    font-size: 24px;
    margin-bottom:.5em;
}

body.metal_roofing ul.topics {
    margin-top: 1.75em;
}

body.metal_roofing ul.topics li {
    margin-top: 1em;
}



/* --------------------------------   for the gutters page  --------------------------------
body.gutters h1 {
    font-size: 24px;
    margin-bottom:.5em;
}

body.gutters h2 {
    margin-top: 1.75em;
}

body.gutters ol li {
    margin-top: 1em;
}


body.gutters ol li h3 {
    margin-top: 1.75em;
} */




/* -----------------------   contact us   ----------------------------------  */

.contact section.three {
    display: grid;
}
.contact section.three .formContainer {
    justify-self: center;
    width: 100%;
}


/* -----------------------   thank_you   ----------------------------------  */
.thank_you .two {
    margin: 4em 
}

/* -----------------------   error_message   ----------------------------------  */
.error_message .two {
    margin: 4em 
}