.call-to-action {
    margin-top: 100px;
    margin-bottom: 100px;
    font-size: 32px;
}

#page_title {
    position: absolute;
    width: 100%;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
    z-index: -3;
    top: 500;
    opacity: 0.05;
}

#page_title h1 {
    font-size: 150px;
    text-align: right;
    color: #333;
}

#hero {
    width: 100%;
    position: relative;
    height: 650px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.hero_content {
    width: 100%;
    height: 40%;
    margin-left: 50px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    max-width: 1600px;
}

.hero_content p {
    width: 40%;
    text-align: justify;
}

#hero img {
    position: absolute;
    z-index: -1;
    -webkit-filter: brightness(.4);
    filter: brightness(.4);
}

#hero h2,
#hero p {
    color: white;
    text-align: left;
}

#icons,
#interieur,
#exterieur,
#options {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    max-width: 2000px;
    overflow-x: hidden;
}

#interieur h2,
#exterieur h2,
#options h2 {
    width: 80%;
    text-align: left;
    margin-top: 50px;
    margin-bottom: 50px;
}

.icons_container {
    margin-top: 50px;
    margin-bottom: 50px;
    width: 60%;
    display: flex;
    justify-content: space-evenly;
    align-items: flex-start;
}

.icons {
    width: 30%;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
}

.image_icons_container {
    width: 50%;
    max-width: 100px;
    margin: 25px;
}

.image_icons_container img {
    width: 100%;
}

.interieur_container,
.exterieur_container,
.options_container {
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.interieur_container>*,
.exterieur_container>*,
.options_container>* {
    margin-top: 20px;
    margin-bottom: 20px;
}

.interieur,
.exterieur {
    width: 20%;
    margin-left: 50px;
    margin-right: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.interieur>*,
.exterieur>* {
    margin-top: 15px;
    margin-bottom: 15px;
}

.image_interieur_container,
.image_exterieur_container {
    height: 200px;
    width: 200px;
}

.image_interieur_container img,
.image_exterieur_container img,
.image_options_container img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition-duration: 0.5s;
}

.options {
    position: relative;
    margin-left: 50px;
    margin-right: 50px;
    width: 200px;
    height: 200px;
}

.options_container {
    position: relative;
}

.image_options_container {
    position: absolute;
    width: 200px;
    height: 200px;
    overflow: hidden;
}

.options p {
    position: absolute;
    text-align: center;
    font-size: 22px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    width: 90%;
    opacity: 0;
    transition-duration: 0.5s;
    font-weight: 600;
}

.options:hover p {
    opacity: 1;
}

.options:hover .image_options_container img {
    -webkit-filter: brightness(50%);
    filter: brightness(50%);
    transform: scale(1.2);
}

/* Title effect */

.title-hover-effect-name,
.title-hover-effect-label {
    position: relative;
    display: inline-block;
}

.title-hover-effect-label {
    margin: 0 0 0 0.5em;
}

h2 {
    color: #272727;
}

.title-hover-effect {
    margin: 0 0 1em;
}

.title-hover-effect-name {
    padding: 0 0.35em;
    line-height: 1.4;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.title-hover-effect-name::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 50%;
    left: 0;
    bottom: 0;
    opacity: 0.3;
    transform: scale3d(0, 1, 1);
    transform-origin: 0% 50%;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.title-hover-effect-label {
    letter-spacing: 0.05em;
    transform: translate3d(-0.5em, 0, 0);
    transition: transform 0.5s, color 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    font-size: 20px;
}

.title-hover-effect-label::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 25%;
    height: 1px;
    left: 0.05em;
    top: 1.25em;
    opacity: 0.3;
    transform: scale3d(0, 1, 1);
    transform-origin: 100% 50%;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.title-hover-effect .title-hover-effect-name::before,
.title-hover-effect .title-hover-effect-label::before {
    background: red;
}

#interieur:hover .title-hover-effect-name::before,
#interieur:focus .title-hover-effect-name::before,
#interieur:hover .title-hover-effect-label::before,
#interieur:focus .title-hover-effect-label::before,
#exterieur:hover .title-hover-effect-name::before,
#exterieur:focus .title-hover-effect-name::before,
#exterieur:hover .title-hover-effect-label::before,
#exterieur:focus .title-hover-effect-label::before,
#options:hover .title-hover-effect-name::before,
#options:focus .title-hover-effect-name::before,
#options:hover .title-hover-effect-label::before,
#options:focus .title-hover-effect-label::before,
#extension:hover .title-hover-effect-name::before,
#extension:focus .title-hover-effect-name::before,
#extension:hover .title-hover-effect-label::before,
#extension:focus .title-hover-effect-label::before {
    transform: scale3d(1, 1, 1);
}

#interieur:hover .title-hover-effect-label,
#interieur:focus .title-hover-effect-label,
#exterieur:hover .title-hover-effect-label,
#exterieur:focus .title-hover-effect-label,
#options:hover .title-hover-effect-label,
#options:focus .title-hover-effect-label,
#extension:hover .title-hover-effect-label,
#extension:focus .title-hover-effect-label {
    transform: translate3d(0, 0, 0);
}

#interieur:hover .title-hover-effect-label::before,
#interieur:focus .title-hover-effect-label::before,
#exterieur:hover .title-hover-effect-label::before,
#exterieur:focus .title-hover-effect-label::before,
#options:hover .title-hover-effect-label::before,
#options:focus .title-hover-effect-label::before,
#extension:hover .title-hover-effect-label::before,
#extension:focus .title-hover-effect-label::before {
    transition-timing-function: ease;
    transform-origin: 0% 50%;
}

#extension {
    flex-direction: column;
    align-items: center;
    margin: 100px 0;
}

#extension p {
    max-width: 1200px;
    width: 80%;
    text-align: justify;
    margin: 20px 0;
}

.link--kukuri::before {
    font-size: 36px;
}

.link {
    outline: none;
    text-decoration: none;
    position: relative;
    display: inline-block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.link--kukuri {
    text-transform: uppercase;
    font-weight: 900;
    overflow: hidden;
    color: #E50815;
}

.link--kukuri::after {
    content: '';
    position: absolute;
    height: 16px;
    width: 100%;
    top: 50%;
    margin-top: -8px;
    right: 0;
    background: #F5F5F5;
    transform: translate3d(-100%, 0, 0);
    transition: transform 0.4s;
    transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}

#extension:hover .link--kukuri::after {
    transform: translate3d(100%, 0, 0);
}

.link--kukuri::before {
    content: attr(data-letters);
    position: absolute;
    z-index: 2;
    overflow: hidden;
    color: #E50815;
    white-space: nowrap;
    width: 0%;
    transition: width 0.4s 0.3s;
}

#extension:hover .link--kukuri::before {
    width: 100%;
}