:root {
    --text_color: #cbe6d7;
    --element_color: #42564b;
    --shadow_color: #252525;
    --background_menu_color: #658071;
    --background_color: #273331;
    --link_color: #9cdfba;
    --link_visited_color: #518b6b;
}
  
* {
    font-family: "Playfair Display", serif;
}

html {
    height: 100%;
}

body {
    display: table;
    background-color: var(--background_color);
    width: 90%;
    align-items: center;
    margin: 0 auto;
    min-height: 100%;
    position: relative;
}

a {
    color: var(--link_color)
}

a:visited {
    color: var(--link_visited_color)
}

.banner {
    height: 25vw;
    background-image: url("/images/banner.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    margin:0px;
}

h1 {
    color: var(--text_color);
    text-align: center; 
    font-size: 5vw;
    text-shadow: 1vw 1vh 0.40vw var(--shadow_color); 
}

.banner h1 {
    margin: 0;
    color: rgba(0,0,0,0);
    box-sizing: border-box;
    padding:1% 0 0 50%;
    font-size: 5vw;
    -webkit-text-stroke-width: 0.15vw;
    -webkit-text-stroke-color: var(--text_color);
    text-shadow: 1vw 1vh 0.40vw var(--shadow_color);
}

.item_card h2 {
    margin:1vh 0 2vh 0;
    /*
    margin: 0.5vw 3vw 1vw 3vw;
*/
    font-size: 2.5vw;
    color: var(--text_color);
    text-shadow: 1vw 1vh 0.40vw var(--shadow_color);
}

h2 {
    font-size: 2.5em;
    color: var(--text_color);
    margin: 0 0 0 10vw;
}

p {
    font-size: 2em;
    color: var(--text_color);
}

ul {
    font-size: 1.5em;
    color: var(--text_color);
}

.main_menu {
    margin: 0px;
    z-index: 99;
    background-color: var(--background_menu_color);
    border-radius: 25vw;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}

.main_menu img {
    height: 40px;
    background-color: var(--text_color);
    border-radius: 25px;
    vertical-align: middle;
}

.main_menu a:link {
    color: var(--background_color);
}

.main_menu a:visited {
    color: var(--background_color);
}

.main_menu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.main_menu li {
    margin: 0;
    padding:1vw;
    font-size: 2vw;
    display: inline-block;
    text-align:center;
}

.main_menu li:hover {
    background-color: var(--text_color);
    border-color: var(--element_color);
    border-style: solid;
    border-width: 4px;
}

.item_block {
    margin: 3vw 0;
    display: flex;
    justify-content: space-evenly;
}

.item_card {
    position:relative;
    background-color: var(--element_color);
    box-shadow: 1vw 1vh 3vw var(--shadow_color);
    cursor: pointer;
    border-radius: 2vw;
    width: 33%;
    margin: 1vh 1vw 1vh 1vw;
    padding: 0;
    text-align: center;
}

.item_card:hover {
    background-color: var(--background_menu_color);
}

.item_card > a span.link {
    position:absolute; 
    width:100%;
    height:100%;
    top:0;
    left: 0;

    z-index: 1;
}

.item_card p {
    margin: 4vw 3vw 0vw 3vw;
    font-size: 2vw;
    color: var(--text_color);
}

.item_card img {
    border-radius: 2vw;
    box-shadow: 1vw 1vh 3vw var(--shadow_color);
    margin: 1vw auto;
}

.responsive {
    width: 80%;
    height: auto;
}

.text_block {
    background-color: var(--element_color);
    box-shadow: 1vw 1vh 3vw var(--shadow_color);
    border-radius: 2vw;
    color: var(--text_color);
}

.text_block h1 {
    margin: 0;
    padding: 2vh 0 1vh 3vw;
    font-size: 4vw;
}

.text_block p {
    margin: 0;
    padding: 0vh 5vw 5vh 10vw;
    font-size: 2vw;
}

footer {    
    position: absolute;
    bottom: 0;
    background-color: var(--element_color);
    border-radius: 4vw;
    margin: 0;
}

footer .footer_content {
    display: flex;
}

.footer_content p {
    color: var(--text_color);
    font-size: 2vh;
    margin: 0vw 0vh;
    padding: 0 0vw 0 1vw;
    flex: 1;
}

.footer_content p:nth-child(1) {
    flex: 5;
}

.underconstruction {
    margin: 5vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.underconstruction img {
    width: 80vw;
    border-radius: 5vw;
}

.underconstruction p {
    color: var(--text_color);
    align-items: center;
    font-size: 3vh;
}