
/* Global Styles */
:root{
    --color-dark:#5c4742;
    --color-light:#f0f7f4;
    --color-main:#ff9f1c;
    --color-link:#68a357;
    --color-background:#F5F5F5;
    --site-width: 1000px;
}

.site-width{
    max-width:var(--site-width);
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

*{
    margin:0;
    padding:0;
    box-sizing: border-box;
}

html,body{
    scroll-behavior: smooth;
    height: 100%;
    margin: 0;
}

body{
    display:flex;
    flex-direction:column;
    min-height:100vh;
    color: var(--color-dark);
    background-color: var(--color-light);
    font-family: sans-serif;
}



article{
    padding:0 2rem;
    flex: 1;
}

section{
    padding-bottom: 1rem;
}

/* Header styles */

body > header{
    background-color:var(--color-dark);
    color:var(--color-light);
    margin:0;
    
}
header > h1,h2{
    Padding-top:1rem;
    Padding-bottom:1rem;
}
header > h1 {
    font-size:3rem;
}

.siteHeader{
     Padding-top:1rem;
    Padding-bottom:1rem;
    font-size:3rem;
    
}




/* Button styles */

.btn{
    
    color: var(--color-link);
    font-size: 1.2rem;
    padding:4px;
    border:none;
    border-bottom: 1px solid var(--color-link);
    text-decoration:none;
    display:block;
    width: min-content;
    text-wrap:nowrap;
    margin: 0 auto;
}

.back-btn{
 color:var(--color-dark);
    font-size:1.2rem;
    display:block;
    padding:1rem 0;
}

.btn:hover{
    opacity: .7;
    transform: scale(1.02);
    transition: all 0.3s ease-in-out;
}

.btn:active{
opacity: .7;
}

/* Paragraph styles */



p{
    margin-bottom:1rem;
}

p:last-child{
    margin-bottom:0;
}

.highlight{
    background-color:var(--color-main);
    color:var(--color-light);
    padding:1rem;
}

strong{
    display:block;
    font-size:20px;
}
.large{
    font-size:2rem;
    padding:.75rem 1rem 0 1rem;
}

/* list styles */

ol, ul{
    margin-left: 1.5rem;
}

.list > li{
    margin: 1rem;
}



/* recipe list styles */

.recipe-list {
    background-color: var(--color-background);
    padding: 1rem;
    border: solid var(--color-dark) 1px;
    border-radius: 10px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    margin: 1rem;
}

.recipe-list:hover {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 12px 40px 0 rgba(0, 0, 0, 0.19);
    transform: scale(1.02);
    transition: all 0.3s ease-in-out;
}

em{
    font-size:1.2rem;
    font-weight:bold;
    margin-bottom:.5rem;
}


/* input styles */

input[type="text"], [type="password"], select, button{
    padding: .75rem;
    font-size: 1rem;
    border: 1px solid var(--color-dark);
    border-radius: 5px;
    margin-right: .5rem;
    width: 100%
}

input:focus {
    outline: none;
    border-color: var(--color-link);

}
input[text]:hover{
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    cursor: text;
}

header > div > input, select{
    margin-top:1.5rem;
    margin-bottom:1.5rem;
}

button:hover{
    cursor:pointer;
    background-color: var(--color-link);
    color: var(--color-background);
    transition: all 0.3s ease-in-out;
}
button:active{
    transform: scale(0.98);
    background-color: var(--color-main);
}

.selected {
    background-color: var(--color-link);
    color: var(--color-background);
}

fieldset{
    border: 1px solid var(--color-dark);
    border-radius: 10px;
    padding: 1rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}


.error{
    color: red;
    font-weight: bold;
    margin-top: 0;
}
.errorText{
    border-color: red;
}


/* image styles */

figure > img{
    width:100%;
    height:100%;
object-fit:cover;
}
.header-image{
    height: 350px;
}
img.logo{
    width:150px;
    height:auto;
    display:block;
    border-radius: 100%;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
}
.fullCard{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* Footer styles */

.email{
    color:var(--color-light);
    text-decoration:underline;
}

footer{
    background-color:var(--color-dark);
    color:var(--color-light);
    text-align:center;
    padding:1rem 0;
    margin-top:2rem;
}

.hidden{
    display:none;

}
