 @charset "UTF-8";
@font-face {
    font-family:"font-heavy";
    font-style:normal;
    font-weight:normal;
    src:url("../fonts/HelvNeue75_W1G.eot");
    src:url("../fonts/HelvNeue75_W1G.eot?#iefix") format("embedded-opentype"),
    url("../fonts/HelvNeue75_W1G.woff") format("woff"),
    url("../fonts/HelvNeue75_W1G.ttf") format("truetype"),
    url("../fonts/HelvNeue75_W1G.svg#5a01321a-bdf4-4f8e-bd1c-6323b7fc10ba") format("svg");
}
@font-face {
    font-family:"font-medium";
    font-style:normal;
    font-weight:normal;
    src:url("../fonts/HelvNeue65_W1G.eot");
    src:url("../fonts/HelvNeue65_W1G.eot?#iefix") format("embedded-opentype"),
    url("../fonts/HelvNeue65_W1G.woff") format("woff"),
    url("../fonts/HelvNeue65_W1G.ttf") format("truetype"),
    url("../fonts/HelvNeue65_W1G.svg#f88f21f2-802f-40ed-b852-35fcb46fc450") format("svg");
}
@font-face {
    font-family:"font-light";
    font-style:normal;
    font-weight:normal;
    src:url("../fonts/HelvNeue45_W1G.eot");
    src:url("../fonts/HelvNeue45_W1G.eot?#iefix") format("embedded-opentype"),
    url("../fonts/HelvNeue45_W1G.woff") format("woff"),
    url("../fonts/HelvNeue45_W1G.ttf") format("truetype"),
    url("../fonts/HelvNeue45_W1G.svg#6a65dd38-6837-4488-8b8e-f254a69f23d7") format("svg");
}

:root {
    --black: #000;
    --black-88: #2b2b2b;
    --black-9: #f8f8f8;
    --white: #fff;
    --red-1: #db3c35;
}

* {box-sizing: border-box;}
body {
    background-image: url('../images/header-background.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    font-family: 'font-light';
    min-height: 100vh;
    height:100%;
    margin: 0;
    padding: 0;
    width:100%;
}
.navbar
 {
    background-color: var(--black-9);
    border: 0;
    flex-basis: auto;
    flex-shrink: 0;
    position: relative;
    min-height: 50px;
    width: 100%;
}

.navbar--content {
    align-items: center;
    display: flex;
    height: 50px;
    line-height: 1;
    justify-content: left;
    padding-left: 16px;

}

@media(max-width: 767px) {
    .navbar--content {
        padding: 0;
        justify-content: center;
    }
}
header {background:var(--black-9);height:71px;line-height:71px;padding:0 15px;text-align: center;}
#notfound,
#access-denied,
#error {
    line-height: 1.4;
    text-align: center;
    width: 100%;
}
.error-code {
    position: relative;
    height: 21vh;
}
h2 {
    color:  var(--white);
    font-family: 'font-light';
    font-size: 24px;
    margin: 20px 0 15px;
    padding: 0 15px;
    padding-top: 100px;
}
.home-btn,
.contact-btn {
    font-family: 'font-medium';
    display: inline-block;
    text-decoration: none;
    background-color: transparent;
    border: 2px solid transparent;
    text-transform: uppercase;
    padding: 15px 25px;
    font-size: 18px;
    border-radius: 32px;
    margin: 7px;
    transition: 0.3s;
}
.home-btn:hover, .contact-btn:hover {background: #000;border-color: #000;color: #fff;}
.home-btn {color: var(--black);background: #fff;}
.contact-btn {border: 2px solid rgba(255, 255, 255, 0.9);color: rgba(255, 255, 255, 0.9);}
.my-ip section {background: rgba(255, 118, 0, 0.7);}
.hidden {display: none;}
.mire-contents {color: var(--white);font-size:1.15em;line-height: 1.15;}
.ip-number {font-size:1.6em;margin: 0;padding:0 15px;word-wrap: break-word;}

.error-message {
    background: url(../images/moutain.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 100%;
    width: 100%;
    min-height: 60vh;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}
.error-code h1 {
    color:  var(--white);
    font-family: 'font-heavy';
    font-size: 18em;
    font-weight: 900;
    margin: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(50% + -6vw);
    letter-spacing: 0px;
    line-height: calc(4px + 2ex);
}
@media (max-width: 1440px) {
    .error-code h1 {
        top: calc(50% + -8vw);

    }
}
@media (max-width: 768px) {
    .error-code h1 {
        font-size: 30vw;
        top: calc(50% + -4vw);
    }
}

@media (max-width: 479px) {
    .error-code h1 {
        font-size: 50vw;
        top: calc(50% + -8vw);
    }
}
@media (max-width: 379px) {
    .error-code h1 {
        top: calc(50% + 0vw);
    }
}


.error-code_global {
    position: relative;
    height: 22vh;
}

.error-code_global h1 {
    color:  var(--white);
    font-family: 'font-heavy';
    font-size: 14em;
    font-weight: 900;
    margin: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(50% + -3vw);
    letter-spacing: 0px;
    line-height: calc(4px + 2ex);
}

@media (max-width: 768px) {
    .error-code_global h1 {
        font-size: 30vw;
    }
}


@media (max-width: 479px) {
    .error-code_global h1 {
        top: calc(50% + 7vw);
    }
}

@media (max-width: 379px) {
    .error-code_global h1 {
        top: calc(50% + 12vw);
        font-size: 40vw;
    }
}
.with-picto {
    position:relative;
}

.with-picto::after {
        border-left: 2px solid var(--black);
        border-bottom: 2px solid var(--black);
        content: '';
        display: inline-block;
        height: 8px;
        transform: rotate(225deg);
        vertical-align: middle;
        width: 8px;
        position: absolute;
        right: -13px;
        top: calc(50% - 4px);
}


.generic-cta, .generic-cta:active, .generic-cta:focus, .generic-cta:visited, .generic-cta:hover {
    font-size: 16px;
    text-align: center;
    transition: 0.3s ease-out;
    align-items: center;
    background: var(--white);
    border: 0;
    border-radius: 32px;
    box-shadow: none;
    color: var(--black);
    display: inline-flex;
    font-size: 18px;
    height: 50px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    max-width: 100%;
    padding: 0 18px;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    vertical-align: middle;
  }
  @media (max-width: 479px) {
    .generic-cta, .generic-cta:active, .generic-cta:focus, .generic-cta:visited, .generic-cta:hover {
      font-size: 16px;
    }
  }
  .generic-cta:hover {
    background: var(--black);
    color: var(--white);
  }
  .generic-cta:disabled {
    opacity: 0.3;
  }
  .generic-cta:disabled:hover {
    background: red;
  }
  .generic-cta.alternate, .generic-cta.alternate:active, .generic-cta.alternate:focus, .generic-cta.alternate:visited, .generic-cta.alternate:hover {
    background-color: transparent;
    border: 1px solid var(--white);
    color: var(--white);
  }
  .generic-cta.alternate:hover {
    background-color: var(--white);
    border: none;
    color: var(--black);
  }
  .generic-cta.animated-with-picto, .generic-cta.animated-with-picto:hover, .generic-cta.animated-with-picto:focus, .generic-cta.animated-with-picto:visited, .generic-cta.animated-with-picto:active {
    gap: 0 12px;
    padding: 0 32px;
    font-family: 'font-medium';
    border: 1px solid var(--white);

  }
  .generic-cta.animated-with-picto span, .generic-cta.animated-with-picto:hover span, .generic-cta.animated-with-picto:focus span, .generic-cta.animated-with-picto:visited span, .generic-cta.animated-with-picto:active span {
    transition: 0.3s ease-out;
  }
  .generic-cta.animated-with-picto:after, .generic-cta.animated-with-picto:hover:after, .generic-cta.animated-with-picto:focus:after, .generic-cta.animated-with-picto:visited:after, .generic-cta.animated-with-picto:active:after {
    text-rendering: auto;
    border-bottom: 2px solid var(--black);
    border-left: 2px solid var(--black);
    content: "";
    display: inline-block;
    height: 8px;
    position: relative;
    top: 2px;
    transform: rotate(-135deg);
    transition: 0.3s ease-out;
    vertical-align: 1px;
    width: 8px;
  }
  .generic-cta.animated-with-picto:hover::after {
    border-bottom: 2px solid var(--white);
    border-left: 2px solid var(--white);
  }
  @media (max-width: 479px) {
    .generic-cta.animated-with-picto:after, .generic-cta.animated-with-picto:hover:after, .generic-cta.animated-with-picto:focus:after, .generic-cta.animated-with-picto:visited:after, .generic-cta.animated-with-picto:active:after {
      width: 10px;
    }
  }
  .generic-cta.animated-with-picto:hover {
    justify-content: space-between;
  }
  .generic-cta.animated-with-picto:hover span {
    transform: translate(-16px);
  }
  .generic-cta.animated-with-picto:hover:after {
    transform: rotate(-135deg) translate(-6px, 7px);
  }
  .generic-cta.animated-with-picto.custom-picto:after, .generic-cta.animated-with-picto.custom-picto:hover:after, .generic-cta.animated-with-picto.custom-picto:focus:after, .generic-cta.animated-with-picto.custom-picto:visited:after, .generic-cta.animated-with-picto.custom-picto:active:after {
    background: transparent no-repeat center center;
    border: 0;
    content: "";
    display: inline-block;
    height: 24px;
    top: 0;
    transform: inherit;
    width: 24px;
  }
  @media (max-width: 479px) {
    .generic-cta.animated-with-picto.custom-picto:after, .generic-cta.animated-with-picto.custom-picto:hover:after, .generic-cta.animated-with-picto.custom-picto:focus:after, .generic-cta.animated-with-picto.custom-picto:visited:after, .generic-cta.animated-with-picto.custom-picto:active:after {
      width: 24px;
    }
  }
  .generic-cta.animated-with-picto.custom-picto:hover:after {
    transform: translate(16px, 0);
  }

  .button-group {
    display: flex;
    gap: 16px;
    justify-content: center;
    align-items: center;
    margin-top: 32px;
  }

  @media (max-width: 479px) {
    .button-group {
      flex-direction: column;
    }
  }

  .button-group .second::after {
    border-left: 2px solid var(--white) !important;
    border-bottom: 2px solid var(--white) !important;
  }
  .error-message .error-waf {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 32px;
    position: relative;
    right: 64px;
  }
  .error-message .error-waf .error-group {
    display: grid;
    grid-template-columns: 1fr 30px 1fr;
    justify-content: center;
    color: var(--white);
    font-family: 'font-light';

  }
  @media (max-width: 768px) {
    .error-message .error-waf {
        gap: 16px;
        right: 0;
    }
    .error-message .error-waf .error-group {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .error-message .error-waf .error-group .error--text:nth-child(2) {
        display: none;
    }
  }
  .error-message .error-waf .error-group .error--text:nth-child(1) {
    text-align: right;
  }
  .error-message .error-waf .error-group .error--text:nth-child(2) {
    text-align: center;
  }
  .error-message .error-waf .error-group .error--text:nth-child(3) {
    text-align: left;
  }

  .error-message .error-waf .error-group span {
    font-family: 'font-medium';
  }

  @media (max-width: 479px) {
    .error-message .error-waf .error-group span {
        font-size: 14px;

    }
  }
@media (max-width: 479px) {
    .error-message .button-group {
        margin-bottom: 32px;
    }
}

.error-message .button-group .alternate::after {
    border-bottom: 2px solid var(--white);
    border-left: 2px solid var(--white);

}

.error-message .button-group .alternate:hover::after {
    border-bottom: 2px solid var(--black);
    border-left: 2px solid var(--black);
}