
html {
    overflow-y: scroll;
    color: #263E48;
    font: 400 62.5%/1.4 "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0.8px;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;  
}
body,
html {
    height: 100%;
    min-height: 100%;
}
body {
    margin: 0;
    font-size: 1.3rem;
    background: #fff;
    color: #263E48;
}
@font-face {
    font-family:'NHB';
    src: url('GFS Neohellenic Bold Italic.woff2') format('woff2'),
        url('GFS Neohellenic Bold Italic.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-stretch: normal;
    unicode-range: U+0020-00FE;
}
@font-face {
    font-family:'Roboto';
    src: url('Roboto.woff2') format('woff2'),
        url('Roboto.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-stretch: normal;
    unicode-range: U+0020-2044;
}
a {
    cursor: pointer;
    text-decoration: none;
    color: #2498e3;
    background-color: transparent;
}
a:active,
a:hover {
    text-decoration: underline;
    color: #188dd9;
    outline: 0;
}
h1,
h2 {
    margin: 0 0 0.5rem;
    color: #325260;
    font-weight: 400;
    line-height: 1;
}
h1 { font-size: 2.4rem; }
h2 { font-size: 3.6rem; }
.error-code {
    color: #f47755;
    font-size: 8rem;
    line-height: 1;
}
.code {
    color: #ba9a5a;
    font-size: 8rem;
    line-height: 1;
    font-family: 'NHB';
}
p { 
    font-family: 'Roboto';
    margin: 1.2rem 0; }
p.lead {
    font-size: 1.6rem;
    color: #4f5a64;
}
hr {
    box-sizing: content-box;
    height: 0;
    margin: 2.4rem 0;
    border: 0;
    border-top: 1px solid #ddd;
}
.page {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 100vh;

}
.page:before {
    display: block;
    content: '';
    -webkit-box-flex: 0;
    -ms-flex: 0 1 474px;
    flex: 0 1 474px;
    background: #7fcff1 url(server.svg) 50% 6em no-repeat;
    background-size: 44% auto;
}
.main {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 70%;
    flex: 1 1 70%;
    box-sizing: border-box;
    padding: 10rem 5rem 5rem;
    min-height: 100vh;
}
.error-description {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.help-actions a {
    display: inline-block;
    border: 2px solid #f01414;
    margin: 0 0.5rem 0.5rem 0;
    padding: 0.5rem 1rem;
    text-decoration: none;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
    background-color: #f01414;
    color: #fff;
    border-bottom-left-radius: 35%;
    border-top-left-radius: 0;
    border-top-right-radius: 50%;
    border-bottom-right-radius: 5%;
}
.help-actions a:hover {
    text-decoration: none;
    background: #7FCFF1;
    color: #fff;
    border: 2px solid #7FCFF1;
}
.action a {
    display: inline-block;
    border: 2px solid #ba9a5a;
    margin: 0 0.5rem 0.5rem 0;
    padding: 0.5rem 1rem;
    text-decoration: none;
    -webkit-transition: 0.25s ease;
    transition: 0.25s ease;
    background-color: #ba9a5a;
    color: #fff;
    border-bottom-left-radius: 35%;
    border-top-left-radius: 0;
    border-top-right-radius: 50%;
    border-bottom-right-radius: 5%;
}
.action a:hover {
    text-decoration: none;
    background: #7FCFF1;
    color: #fff;
    border: 2px solid #7FCFF1;
}
@media (max-width:959px) {
    .page:before {
        -ms-flex-preferred-size: 400px;
        flex-basis: 400px;
        background-position: 50% 4rem;
    }
    .main { padding: 5rem; }
}
@media (max-width: 769px) {
    .page {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .page:before {
        -ms-flex-preferred-size: 250px;
        flex-basis: 250px;
        background-position: 14rem 1.2rem;
        //background-size: 166px auto;
    }
    .main {  /* for IE 11 */
        min-height: 0;
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none;
    }
}
@media (max-width: 479px) {
    h2 { font-size: 3rem; }
    .main { padding: 3rem; }
}