html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

html {
    font-family: 'Alegreya Sans', sans-serif;
    font-size: 1.3em;
    letter-spacing: 0.02rem;
    line-height: 1.3;
}

body {
    font-size: 1em;
    color: #1e295a;
    background: #7daddd url(1.jpg) no-repeat fixed center;
    background-size: cover;
}

.page {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
}

#content {
    height: 100vh;
    width: 96vw;
    margin: 0 auto;
}

/* header */

.header-container {
    width: 100%;
}

.title {
    font-size: 1.25em;
    color: #1e295a;
    text-align: left;
    margin: 1em 2em;
}

.title a {
    text-decoration: none;
}

.title a:hover {
    color: white;
    background: none;
}

.text {
    display: block;
}

.phone {
    font-family: Roboto, serif;
    text-align: right;
    display: block;
    font-size: 0.85em;
    line-height: 0;
    font-weight: bold;
}

/* menu */

#menu {
    width: 98%;
    border-bottom: 1px solid #002e3c;
    padding: 1%;
}

.top-menu {
    display: flex;
    flex-wrap: nowrap;
    flex-flow: column;
    text-align: center;
    /*justify-content: space-evenly;*/
    font-size: 1em;
    width: 100%;
}

.top-menu a {
    text-decoration: none;
    /*font-style: italic;*/
    font-weight: bold;
    padding: 10px;
    display: none;
    /*flex-grow: 1;*/
}

.top-menu a.active {
    display: block;
}

.top-menu a:hover {
    color: #002e3c;
    border-radius: 1em 0.25em;
    background: #d7f0fe no-repeat center center;
}

/* hamburger menu */

.checkbox-trigger {
    opacity: 0;
    position: absolute;
    width: 30px;
    height: 30px;
    right: 8%;
    cursor: pointer;
    z-index: 5;
}

.hamburger-menu, .hamburger-menu::before, .hamburger-menu::after {
    display: block;
    position: absolute;
    background: #002e3c;
    width: 30px;
    right: 8%;
    height: 4px;
    margin: 1.3em 3em;
    transition: background 0.3s;
    z-index: 4;
}

.hamburger-menu::before, .hamburger-menu::after {
    content: '';
    position: absolute;
    right: 0;
    margin: -0.7em 0 0;
    transition: width 0.7s ease 0.3s, transform 0.7s ease 0.3s;
}

.hamburger-menu::after {
    margin-top: 0.7em;
}

.hamburger-menu {
    margin: 1.2em 0.35em 1.45em;
    transition: width 0.3s ease;
}

.checkbox-trigger:checked + .top-menu a {
    display: block;
}

.checkbox-trigger:checked + .hamburger-menu {
    display: none;
}

/* info block */

.bordered-block {
    height: 70vh;
    width: 100%;
    border: 2px solid #585988;
    border-radius: 3em;
    text-align: left;
    overflow: hidden;
    display: flex;
    flex-flow: column;
    /*flex-grow: 1;*/
}

.text-block {
    overflow: scroll;
    overflow-x: hidden;
    flex-grow: 1;
    padding: 1em;
    background-color: rgba(255, 255, 255, 0.6);
}

/* PRICE */

div.price {
    overflow-x: scroll;
}

th {
    /*font-family: Courier, serif;*/
    font-style: italic;
    font-size: 0.875em;
    text-align: center;
    font-weight: normal;
    background: #ace1f1;
    color: #002e3c;
    padding: 8px;
}

td {
    background: #c9e9f1;
    border-bottom: 1px solid #fff;
    color: #000000;
    border-top: 1px solid transparent;
    padding: 8px;
    text-align: center;
}

table {
    margin: auto;
    border: 2px solid #6f97bb;
    background: #6f97bb;
}

.types-section {
    font-weight: bold;
    /*font-style: italic;*/
    /*text-decoration: underline;*/
}

.text li {
    list-style-type: circle;
}

div.photo {
    width: 100%;
    text-align: center;
}

.phone-text {
    font-family: Roboto, serif;
    font-weight: bold;
    /*margin-left: 2em;*/
}

a:active, a:link, a:visited {
    color: #002e3c;
}

@media all and (min-width: 30em) {
    #content {
        width: 90vw;
    }

    .phone {
        font-size: 1em;
    }
}

@media all and (min-width: 70em) {
    #content {
        width: 80vw;
    }

    div.price {
        overflow-x: hidden;
    }

    .bordered-block {
        height: 85vh;
    }

    div.photo {
        width: auto;
    }

    img.photo {
        float: right;
        margin-right: 55px;
    }

    .top-menu {
        flex-flow: row;
        flex-wrap: wrap;
        justify-content: space-evenly;
    }

    .top-menu a {
        display: block;
    }

    .active {
        border-radius: 1em 0.25em;
        background: #d7f0fe no-repeat center center;
    }

    .checkbox-trigger, .hamburger-menu {
        display: none;
    }
}

@media all and (min-width: 90em) {
    #content {
        width: 60vw;
    }
}