/*--- css for reis project ---*/

* {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: black;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: white;
}

#wrapper {
    max-width: 1000px;
    min-height: 100vh;
    margin: 0 auto;


    /*---main display grid---*/
    display: grid;
    grid-template-areas:
        "banner"
        "menu"
        "content"
        "footer";
    grid-template-columns: 1fr;
    grid-template-rows: 150px 50px minmax(650px, auto) minmax(100px, auto);
}

/*--- header ---*/

header {
    grid-area: banner;
    background-color: #f4a601;

    width: 100%;
    height: 150px;

    /*--- sub grid header ---*/
    display: grid;
    grid-template-areas: 
    "logo company company company";
    grid-template-columns: 1fr 3fr;
    grid-template-rows: 1fr;
}

header img {
    max-width: 100%;
    height: auto;
    grid-area: logo;
    padding: 0 1% 1% 2%;
}

header h1 {
    grid-area: company;

    color: black;
    font-family: Helvetica, sans-serif;
    font-weight: bold;
    font-size:xx-large;
    text-align: right;
    padding: 2em;
}



/*--- nav menu ---*/

nav {
    grid-area: menu;
    width: 100%;
    height: 50px;
    background-color: #dc6a0f;
}

nav ul {
    width: 100%;
    list-style:none;

    /*--- flex box for menu ---*/

    display:flex;
    flex-wrap: nowrap;
    justify-content: space-around;
}

nav a {
    text-decoration: none;
    color: black;
    font-weight: bold;
    display: block;
    padding-top: 1em;
}

nav a:hover {
    color: white;
}

nav ul li {
    display: inline-block;
    position: relative;
}

nav ul li a {
    display: block;
    padding: 20px 25px;
    text-decoration: none;
    text-align: center;
}

nav .dropdown {
    display: none;
    width: 100%;
    background: #dc6a0f;
    position: absolute;
    text-align: center;
    border-radius: 5px;
    display: none;
    margin: -5%;
}

nav ul li:hover ul.dropdown {
    display: block;
}



/*--- main home ---*/

#home {
    grid-area: content;
    width: 100%;
    min-height: 650px;
    background-color: whitesmoke;
    margin-bottom: -160px;


    /*--- sub grid home ---*/
    display: grid;
    grid-template-areas: 
       "article1"
       "article2";
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr;  
    padding: 0; 
}

#homecontent {
    grid-area: article1;
    text-align: center;
}

#homecontent h2 {
    font-size:x-large;
    text-transform: uppercase;
    text-align: center;
    padding: 3em 0 2em 0;
}

#homecontent img {
    max-width: 100%;
    height: auto;
    border: #666463 solid;
    border-radius: 5px;
    background-color: #dc6a0f;
    padding: 1.5%;
    margin: 2%;
}

#homecontent img:hover {
    transform: scale(-1, 1);
}


#text {
    grid-area: article2;
    text-align: left;
    padding: 2% 1% 1% 1%;
    border: #666463 solid;
    border-radius: 5px;
    background-color: #f5f1ed;
    margin: 5% 2% 20% 2%;
}

#home #text h2 {
    text-align: center;
    padding: 1% 1% 3% 1%;
}

#home #text p {
    line-height: 2em;
}

#home #video {
    position: relative;
    top: -25%;
    left: 8%;
    right: 10%;
    bottom: 5%;
}

/*--- main services --*/

#services {

    grid-area: content;
    width: 100%;
    min-height: 650px;
    background-color: whitesmoke;
    padding: 2em;
    gap: 2em;

    /*--- subgrid services---*/

    display: grid;
    grid-template-areas: 
       "article1 article2";
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr; 
}

#services #content1 h2 {
    text-align: center;
    font-size: large;
    text-transform: uppercase;
    padding: 1em 0 2em 0;
    margin-top: 2em;
}

#services #content1 img {
    border: 2px solid#dc6a0f;
    border-radius: 5px;
    max-width: 100%;
    height: auto;
    padding-left: 0.1em;
    margin-bottom: 4.3em;
    box-shadow: 5px 5px 5px #b29b82;
}

#services #content2 h2 {
    padding: 8em 0 2em 0;
    text-align: left;
}

#services ul {
    width: 100%;
    list-style: none;

    /*--- flex box for menu ---*/

    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-around;
}

#services a {
    text-decoration: none;
    color: black;
    font-weight: bold;
    display: block;
    padding: 1em 0 0 0;
}

#services a:hover {
    color: blue;
}

#services img:hover {
    transform: scale(-1, 1);
}


/*---main about---*/

#about {

    grid-area: content;
    width: 100%;
    min-height: 650px;
    background-color: whitesmoke;
    padding: 0;
    gap: 0.1em;

    /*--- subgrid about---*/

    display: grid;
    grid-template-areas: 
       "article1"
       "article2"
       "article3";
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr; 
    padding: 1% 1% 0 1%;
}

#about #about1 h2 {
    text-transform:none;
    padding: 2%;
    margin: 0 0 1% 2%;
}

#about #about1 p {
    width: 100%;
    line-height: 1.5;

    /*---flex text---*/
    display:flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content:space-evenly;
    padding:0 3% 1% 4%;
}

#about #about1 img {
    border: 2px solid#dc6a0f;
    border-radius: 5px;
    max-width: 100%;
    height: auto;
    box-shadow: 5px 5px 5px #b29b82;
    margin: 0 0 1% 2%;
}


#about #about2 h2 {
    text-transform: none;
    text-align: center;
    padding: 2% 2% 1% 5%;
    margin:2% 5% 0 0;
}

#about #about2 p {
    width: 100%;
    line-height: 1.5;

    /*---flex text---*/
    display:flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content:space-between;
    padding: 0 3em 1em 2em;
}

#about #about2 img {
    position: relative;
    border: 2px solid#dc6a0f;
    border-radius: 5px;
    max-width: 100%;
    height: auto;
    box-shadow: 5px 5px 2px #b29b82;
    margin: 0 2% 3% 2%;
}


#about #about3 h2 {
    text-transform: none;
    text-align: left;
    margin: -3% 0;
}

#about #about3 p {
    width: 100%;
    line-height: 1.5;

    /*---flex text---*/
    display:flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content:space-evenly;
    padding: 0 3% 1% 4%;
}

#about #about3 img {
    border: 2px solid#dc6a0f;
    border-radius: 5px;
    max-width: 100%;
    height: auto;
    box-shadow: 5px 5px 2px #b29b82;
    margin: 0 0.7% 2% 1%;
}

#about img:hover {
    transform: scale(-1, 1);
}


/*---main portfolio---*/

#portfolio {

    grid-area: content;
    width: 100%;
    min-height: 650px;
    background-color: whitesmoke;
    padding-bottom: 54px;
    gap: 1em;

    /*--- subgrid portfolio---*/

    display: grid;
    grid-template-areas: 
       "article1 article2"
       "article1 article2";
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 50%; 
}

#portfolio #gallery1 h2 {
    text-align: center;
    font-size: large;
    text-transform: uppercase;
    padding: 2em 0 2em 0;
}

#portfolio #gallery1 p {
    text-align: center;
    font-weight: bold;
    text-transform: none;
    padding: 1%;
}

#portfolio #gallery2 p {
    text-align: center;
    font-weight: bold;
    text-transform: none;
    padding: 1%;
}

#portfolio #gallery2 h2 {
    text-align: center;
    font-size: large;
    text-transform: uppercase;
    padding: 2em 0 2em 0;
}

#portfolio img:hover {
    transform: scale(-1, 1);
}

#portfolio img {
    border: 2px solid #dc6a0f;
    border-radius: 5px;
    max-width: 100%;
    height: auto;
}

/*---main prices---*/

#prices {
    grid-area: content;
    width: 100%;
    min-height: 650px;
    background-color: whitesmoke;
    gap: 0.5em;
    margin-bottom: -10%;

    /*--- subgrid prices---*/

    display: grid;
    grid-template-areas:  
       "article1" "article2"
       "table table";
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr; 
}

#prices #prices1 h2 {
    text-align: center;
    font-size: large;
    text-transform: uppercase;
    padding: 5%;
    margin: 38px 0;
}

#prices #prices2 h2 {
    text-align: center;
    font-size: large;
    text-transform: uppercase;
    padding: 5%;
    margin: 38px 0;

}

#prices #prices1 p {
    display: grid;
    line-height: 2;
    text-align: center;
    border: #666463 solid;
    border-radius: 5px;
    background-color: #dc6a0f;
    padding: 2px 0;
}

#prices #prices1 img {
    border: 5px solid #f4a601;
    border-radius: 5px;
    max-width: 100%;
    height: auto;
    margin: 0 35% 0 35%;
}

#prices #prices2 p {
    display: grid;
    line-height: 2;
    text-align: center;
    border: #666463 solid;
    border-radius: 5px;
    background-color: #dc6a0f;
    padding: 2px 0;
}

#prices #prices2 img {
    border: 5px solid #f4a601;
    border-radius: 5px;
    max-width: 100%;
    height: auto;
    margin: 0 35% 0 35%;
}

#prices img:hover {
    transform: scale(-1, 1);
}


#prices table {
    max-width: 100%;
    height: auto;
    position: relative;
    border-spacing: 30px;
    top: 0;
    left: 55%;
    background-color: #dc6a0f;
    transform: translate(-55%, -110%);
    margin-bottom: 10%;
}

#prices th, td {
    text-align: left;
}


#prices #zebra {
    max-width: 100%;
    height: auto;
    position: relative;
    top: 100%;
    left: 35%;
    border: 2px solid #dc6a0f;
    border-radius: 5px;
}

#prices #photo, h2 {
    column-span: all;
    text-transform: uppercase;
    padding: 5%;
    text-align: left;
}




/*---main contact---*/

#contact {
    grid-area: content;
    width: 100%;
    min-height: 650px;
    background-color: whitesmoke;
    padding: 50px 60px 40px 40px;

/*---sub grid---*/
    display: grid;
    grid-template-areas: 
       "contact";
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;

}

#contact h2 {
    text-align: left;
    text-transform: uppercase;
    font: bold;
    padding: 0 0 1em 0;
}

#contact p {
    text-align: left;
    font: bold;
    padding: 0 0 2em 0;
}

#contact form {
    max-width: 100%;
    min-height: 50em;
    background-color: #f5f1ed;
    border: 5px solid #666463;
    padding: 3em 4em 0 0;
    margin: 0 20%;
}

#contact fieldset {
    width: 25em;
    height: 32em;
    padding-left: 50px;
    margin-left: 0.7em;
}

#contact input{
    padding: 1em;
    width: 15em;
    margin: 0.5em 0 2em 0;
    border: 1px solid #666463;
    background: #b29b82;
    font: bold 1em;
}

#contact label {
    display: block;
    width: 11em;
    padding-top: 5px;
}

#contact legend {
    width: 240px;
    height: 50px;
    text-transform: uppercase;
    font-weight: bold;
    background: #dc6a0f;
    border-radius: 5px;
    padding: 15px;
}
/*--- newsletter radio buttons ---*/



#contact input[type="checkbox"] {
    position: relative;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

#contact  .work {
    display: flex;
    justify-content:space-between;
    width: 100%;
    margin: 1em;
}

#contact .one {
    margin-bottom: 5px;
}

#contact #submit{
	clear: both;
	max-width: 150px;
	height: auto;
	background:#dc6a0f;
    border-radius: 5px;
	text-align:center;
	line-height:20px;
	font-size:14px;
	font-weight:bold;
    margin-bottom: 20px;
}




/*--- error page ---*/

#error {
    grid-area: content;
    width: 100%;
    min-height: 650px;
    background-color: whitesmoke;
    padding: 30px 50px 10px 50px;
    margin-bottom: 0;
}

#error h2 {
    font-weight: bold;
    text-transform: uppercase;
    font-size:xx-large;
    color: #f5f1ed;
    background-color: #b29b82; 
    padding-left: 2%;
}


#error img {
    max-width: 100%;
    height: auto;
    border: 20px solid #666463;
    margin: 2% -1% 0 0;
}

#error img:hover {
    transform: scale(-1, 1);
}

#error #container {
    position: relative;
}

#error .text-block {
    width: 98%;
    position: absolute;
    bottom: 40px;
    right: 12px;
    left: 8px;
    
    background-color: #b29b82;
    border: 2px solid #666463;
    border-radius: 10%;
    padding: 2%;
}

#error  .text-block h2 {
    font-weight: bold;
    text-transform: uppercase;
    font-size: x-large;
    color:#f5f1ed;
    padding: 2%;
}

#error p {
    font-weight: bold;
    text-transform: uppercase;
    font-size: x-large;
    color: #f5f1ed;
    padding: 2%;
}

/*---error classes---*/

#error .responsive {
    max-width: 100%;
    height: auto;
}


/*--- main footer ---*/

footer {
    grid-area: footer;
    background-color: #f4a601;
    width: 100%;
    min-height: 100px;

    /*---sub footer grid---*/
    display: grid;
    grid-template-areas: 
    "article3 article3 article3";
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

/*---main footer menu ---*/

footer ul {
    width: 95%;
    list-style: none;

    /*---flex menu inside footer ---*/
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content:space-around;
    margin-top: 5%;
}

footer a {
    width: 100%;
    text-decoration:none;
    color: black;
    background-color: #dc6a0f;
    border-radius: 5px;
    font-weight: bold;
    display: block;
    padding: 1em;
}

footer a:hover {
    color: white;
}

footer img {
    width: 80%;
    padding-right: 0.5em;
}

footer h3 {
    font-size: small;
    padding: 1em 0 1em 0;
}

/*--- classes ---*/

#about .right {
    float: right;
}

#about .left {
    float: left;
}

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

.skip-link {
    position: absolute;
    left: -10000px;
    opacity: 0;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.skip-link:focus {
    position: static;
    width: auto;
    height: auto;
  }



/*--- media query ---*/

@media  screen and (max-width: 600px) {

    * {
    font-size: 14px;
    }

    #wrapper {
        grid-template-rows: 75px 50px minmax(650px, auto) minmax(100px, auto);
    }

    /*---header---*/
    header {
        height: 75px;
        padding-top: 2px;
    }

    header img {
        width: 38%;
    }

    header h1 {
        font-size:medium;
    }
    /*---menu---*/
    nav a {
        font-size: 14px;
    }
    /*---home main---*/
    #home {
        grid-template-rows: 1fr 1fr 20%; 
        margin-bottom: 0;
    }

    #homecontent h2 {
        margin: 50px 0;
    }

    #homecontent img {
        padding: 1%;
        margin: 1% 2% 1% 1%;
        gap: 0.2em;
    }

    #home #text {
        margin: 30px 50px 450px 40px;
    }

    #home #video {
        width: 90%;
        height: auto;
        margin: -45% -5% -4% -4%;
    }

    /*---services main---*/
    #services {
        display: grid;
        grid-template-areas: 
        "article1"
        "article2";
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
    }

    #services #content1 h2 {
        text-align: left;
        padding: 2em 0 2em 0;
        margin-top: 1em;
    }

    #services #content1 img {
        padding-left: 0.5em;
        margin-bottom: 0;
    }

    #services #content2 h2 {
        text-align:left;
        padding: 2em 0 1em 0;
    }
    #services a {
        padding: 2em 0 0 0;
    }

    /*---about main---*/


    #about #about1 p {

        /*---flex text---*/
        display:flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content:space-evenly;
        padding: 1em 0.5em 1em 1em;
    }

    #about #about1 img {
        width: 50%;
        margin: 20px 50px 20px 50px;
    }

    #about #about2 p {

        /*---flex text---*/
        display:flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content:space-evenly;
        padding: 1em 0.5em 1em 0.5em;
    }

    #about #about2 img {
        width: 50%;
        margin: 20px 50px 0 50px;
    }

     #about #about2 h2 {
        text-align: left;
     }

    #about #about3 h2 {
        padding: 0;
    }

    #about #about3 p {

        /*---flex text---*/
        display:flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content:space-evenly;
        padding: 1em 0.5em 1em 0.5em;
    }

    #about #about3 img {
        width: 50%;
        margin: 20px 50px 0 50px;
    }

    /*---portfolio main---*/

    #portfolio {

        /*--- subgrid portfolio---*/

        display: grid;
        grid-template-areas: 
        "article1"
        "article2";
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;

    }

    #portfolio #gallery2 h2 {
        display: none;
    }

    /*---prices main---*/

    #prices {

         /*--- subgrid prices---*/
        display: grid;
        grid-template-areas:  
       "article1"
       "article2";
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr; 
        padding: 60px 20px 96px 20px;
    }

    #prices #prices1 p {
        display:flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: space-around;
        width: 85%;
        height: 82%;
    }    

    #prices #prices2 p {
        display:flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: space-around;
        width: 85%;
        height: 82%;
    }

    #prices table {
    position: absolute;
    border-spacing: 20px;
    top: 170%;
    left: 42%;
    background-color: #dc6a0f;
    transform: translate(-50%, -50%);
    }

    #prices #prices1 img {
    max-width: 70%;
    height: 60%;
    margin: 0 20% 0 20%;
    }

    #prices #prices2 img {
    max-width: 70%;
    height: 60%;
    margin: 0 20% 0 20%;
    }

    #prices #prices1 h2 {
    text-align: left;
    margin: 1px 0;
    }

    #prices #prices2 h2 {
    text-align: left;
    margin: 1px 0;
    }

    #prices #zebra {
    width: 55%;    
    height: 15%;
    top: -40%;
    left: 12%;
    margin: 2% 0;
    }

    #prices #photo {    
    padding: 0;
    margin-left: 21%;
}

    /*---contact main---*/

    #contact {
        padding: 20px 0 20px 60px;
    }
    
    #contact form {
        width: 22em;
        height: 40em;
        padding: 30px 5px 0 5px;
        margin: 14% 11% 11% 11%;
    }
    
    #contact fieldset {
        width: 12em;
        height: 35em;
        border: none;
    
        padding-left: 30px;
        margin-top: 20px;
    }
    
    #contact legend {
        width: 210px;
        height: 30px;
        text-transform: uppercase;
        font-size: small;
        padding: 10px 20px 10px 20px;
    }

    #contact label {
        padding-top: 20px;
    }

    #contact p {
        text-align: left;
        padding: 5% 0 0 5%;
        margin-left: -10%;  
    }

    #contact h2 {
    margin-left: -5%;
    }


    /*---footer---*/    
    footer a {
        font-size: 12px;
        padding: 20px 2px 2px 2px;
    }

    footer img {
        width: 40%;
        margin: -5% -20% 5% 10%;
    }
    
    footer h3 {
        font-size: 12px;
        padding: 24px 0 0 0;
    }
   
}

