@charset "utf-8";
html{
    
    background-color: rgb(233, 221, 207);
    background-image:
            linear-gradient(
                rgba(233, 221, 207, 0.25),
                rgba(233, 221, 207, 0.25)
            ), url(Vines.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
}

body{
    background-color:rgba(255, 255, 240, 0.90);
    color: rgb(91,91,91);
    font-family:verdana, geneva, sans-serif;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
}
    
header{
    color:  rgb(79, 105, 73);
    text-align: center;
   /* padding: 20px;*/
}

nav{
    margin-top: -3px;
    padding:0;
}
nav ul{
    list-style: none;
    list-style-image: none;
    margin: 0;
    padding: 0;
}

nav a{
    text-decoration: none;
    display: block;
    background-color: rgb(79, 105, 73);
    line-height: 2.8em;
    text-decoration: none;
    text-align: center;
    color:rgb(233, 221, 207);
}

nav a:hover{
    text-decoration: underline;
    background-color:rgb(91,91,91);
    color: ivory;
}


h1{
    font-size: 1.3em;
    text-align: center;
    text-decoration: underline solid #585858 3px;
}

h1.contact-heading{
    text-align: center;
    border:3px solid #b89b5e;
    width: fit-content;
    margin: 0 auto;
    padding:5px 12px;
    text-decoration: none;
}
/*
main > img{
    display: block;
    width: 25%;
    padding: 25px;
    margin-right: auto;
    margin-left: auto;
    float: right;
}
    */

main > hr {
    clear: both;
}

header>img{
    display:block;
    width: 100%;
    margin: 0;
    max-height: 500px;
    object-fit: cover;
}

main{
    padding: 20px;
    margin-top: 35px;
}

body > footer {
    background-color:  rgb(79, 105, 73);
    color:rgba(233, 221, 207, 0.74);
    font-weight: bold;
    font-size: .9em;
    text-align: center;
    line-height: 3em;
    margin-top: 10px;
    padding: 10px;
    clear:both;
}

body > footer a {
    color:rgba(233, 221, 207, 0.74);
}

body > footer a:hover{
    color:black;
}

ul{
    list-style-type:square;
}

ol{
    list-style-type:upper-roman;
}

ol li::marker{
    font-weight: bold;
}
a#navicon{
        display: none;
    }

  /*Video Style*/
  .tutorialVideo{
    width:100%;
    max-width: 800px;
    aspect-ratio: 16/9;
    margin: 0 auto;
  } 

  .tutorialVideo iframe{
    width:100%;
    height:100%;
    border:0;
  }

/*Flexbox Styles for Images on Gallery Page*/
div.gallery {
    display: flex;
    flex-flow: wrap;
}

div.imageGallery {
    flex: 23%;
    max-width: 25%;
    padding: 0 4px;
}

div.imageGallery img {
    width: 100%;
    transition:transform 0.5s ease; 
    border:3px solid #b89b5e; 
}

div.imageGallery img:hover{
    transform:scale(1.07);
}

main > img {
    display: block;
    width: 40%;
    padding: 0;
    margin-right: 0;
    margin-left: 20px;
    float: right;
    border: 3px solid #b89b5e;
    transition: transform 0.5s ease;
}

main > img:hover{
    transform:scale(1.025);
}
/*Media Query for Flexbox 50%*/
@media only screen and (max-width:1100px){
   div.imageGallery {
    flex: 48%;
    max-width: 50%;
    padding: 0 4px;
    } 
}
/*MOBILE DEVICE STYLES*/
@media only screen and (max-width: 768px){
    body{
        width: 100%;
        margin: 0;
    }
    main > img{
        width: 90%;
        float: none;
    }
    nav li{
    float: none;
    width: 100%;
    display: block;
    font-size: x-large;
    }
    a#navicon{
        display: block;
    }
    nav.horizontal ul{
        display:none;
    }
    a#navicon:hover+ul, nav.horizontal ul:hover{
        display:block;
    }
    nav a{
        border-bottom: solid black 1px;
    }
    a#navicon img {
        width: 30px;
        height: auto;
    }
    div.imageGallery {
    flex: 100%;
    max-width: 100%;
    padding: 0 4px;
    }
    tbody, tbody, tr, td, th{
        display:block;
    }
    thead{
        display: none;
    }
    tbody td{
        position: relative;
        padding-left: 40%;
        overflow: visible;
        height: auto;
    }
    td::before{
        content: attr(data-label);
        position:absolute;
        top:0px;
        left:0px;
        padding:10px;
        width:40%;
        white-space: nowrap;
    }
    form{
        width:100%;
        font-size: large;
    }
    fieldset{
        width:100%;
        padding:5px;
        margin:0;
        box-sizing: border-box;
    }
    input, select, textarea{
        display:block;
        position:inherit;
        padding:5px;
        height:50px;
        width:90%;
        box-sizing: border-box;
    }

    input[type="radio"]{
        display:inline;
        height:auto;
        width:auto;
    }

    label{
        display:block;
        position:inherit;
        height:50px;
        width:90%;
    }
   
    input[type="submit"], input[type="reset"]{
       
        float:none; 
        width:90%;
        margin:10px;
        font-size:1.2em;
    }
}

/*FORM VALIDATION STYLES*/
input:focus, select:focus, textarea:focus {
    background-color:rgb(220,255,220)
}

input#name:focus:valid,
input#zip:focus:valid,
input#phone:focus:valid,
input#email:focus:valid{
    background: rgb(220, 255, 220) url(rb_valid.png)
        bottom right/contain no-repeat;
}

input#name:focus:invalid,
input#zip:focus:invalid,
input#phone:focus:invalid,
input#email:focus:invalid{
    background: rgb(255, 232, 233) url(rb_invalid.png)
        bottom right/contain no-repeat;
}

/*DESKTOP STYLES*/

@media only screen and (min-width: 769px){
    nav li{
        float: left;
        width: 20%;
        display: block;
    }
    article >h1 {
        text-align: center;
    }
    article{
        margin-top: 30px;
        column-count: 2;
        column-gap: 30px;
        column-rule: 2px solid rgb(119, 85, 21);
        widows: 2;
        orphans: 2; 
    }
    article p{
        margin-top: 0;
    }
    form{
        width:90%;
    }
    fieldset{
        width:90%;
        padding:5px;
        margin-right:10px;
        margin-bottom:10px;
    }
    input, select{
        display:block;
        position:relative;
        left:30%;
        padding:5px;
        height:auto;
        width:60%;
    }
    label{
        display:block;
        position:absolute;
        padding:5px;
        width:30%;
    }
    input[type="radio"]{
        display:inline;
        position:inherit;
        left:0;
        width:auto;
    }
    label.radio{
        display:inline;
        position:inherit;
    }
    input[type="submit"], input[type="reset"]{
        display:block;
        float:left;
        left:0;
        text-align:center;
        width:40%;
        padding:10px;
        margin-left:5%;
        margin-right:5%;
        margin-bottom:10px;
    }
    label.commentsLabel {
        position:relative;
        width:90%;
    }
}
/*DESKTOP COVER IMAGE ONLY*/
@media only screen and (min-width:1101px){
    header > img{
        display:block;
        width:100%;
        height:auto;
        max-height:500px;
        object-fit:contain;
        margin:0 auto;
    }
}

/*TABLE STYLES*/
table{
    width:100%;
    border: 5px solid rgb(119, 85, 21);
    border-collapse: collapse;
}

thead{
    background-color: rgba(119, 85, 21, 0.37)

}
th, td{
    height: 25px;
    border: 3px solid rgb(119, 85, 21);
    padding:10px;
    
}
tfoot{
    background-color: #ffffeda6;
    text-align: center;
}

tbody tr:nth-of-type(even){
    background-color: rgba(119, 85, 21, 0.37);
}

.pricing .centered-row{
    text-align: center;
}
