:root {
   --main-bg-color: #272d2f;
   --secondary-bg-color: #434444;
   --header-bg-color: #31393C;
   --galerie-bg: #dadada;
   --secondary-font-color: #D3AB65;
   --main-font-color: #638A55;
   --white-font: #ffffff;
   --border-radius: 10px;
   --box-shadow: 0 0 20px 5px #67676780;
}
* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}
body {
   background-color: var(--main-bg-color);
   color: var(--white-font);
   list-style-type: none;
   font-family: Montserrat, sans-serif;
   min-height: 100vh;
   display: flex;
   flex-direction: column;
}
main {
   flex: 1;
}
a {
   color: inherit;
   text-decoration: none;
}
ul {
   list-style-type: none;
}
section {
   width: 100%;
   max-width: 1800px;
   margin: 0 auto;
   padding: 5em 2em;
   position: relative;
   display: flex;
}
.contact:before {
   display: none;
}
/*** Header ***/
header {
   background: linear-gradient(to right, var(--header-bg-color) 50%, var(--secondary-bg-color));
   display: flex;
   width: 90%;
   max-width: 1600px;
   height: fit-content;
   box-shadow: var(--box-shadow);
   border-radius: var(--border-radius);
   position: relative;
   top: 60px;
   left: 50%;
   transform: translateX(-50%);
   z-index: 1;
}
.header_content-logo {
   width: 10rem;
   margin-left: 30px;
   margin-bottom: -50px;
   background-color: var(--header-bg-color);
   border-radius: 50%;
   position: absolute;
   top: -42px;
   pointer-events: none;
}
.header_content-nav {
   display: flex;
   justify-content: flex-end;
   width: 100%;
   padding: 15px;
   position: relative;
}
.header_content-nav-list {
   display: flex;
   align-items: center;
   flex-direction: row;
   gap: 25px;
   list-style: none;
   margin-left: 100px;
}
.header_content-nav-list-li {
   font-size: 1em;
   font-weight: 300;
   color: white;
   font-family: var(--font-montserrat), sans-serif;
   text-transform: uppercase;
}
.header_content-nav-list-li:hover {
   color: var(--secondary-font-color);
}
.header_content-contact {
   background-color: var(--secondary-font-color);
   padding: 10px;
   border-radius: var(--border-radius);
   font-family: Radley, sans-serif;
   font-weight: 400;
   font-size: 1.1em;
}
.header_content-contact:hover {
   background-color: var(--main-font-color);
   color: var(--white-font);
   transition-duration: 0.3s;
}
/*** Intro ***/
.intro { 
   flex-direction: column;
   justify-content: space-around;
   align-items: center;
   font-family: Radley, sans-serif;
   min-height: 100dvh;
}
.intro_text {
   width: calc(80% - 5em);
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   text-align: center;
}
.intro_text-title {
   font-size: 2.8rem;
   font-weight: 400;
   color: var(--main-font-color);
}
.intro_text-subtitle {
   font-size: 2rem;
   font-weight: 200;
   margin-top: 1.5em;
}
.intro_text-highlight {
   color: var(--secondary-font-color);
}
.intro_text-cta {
   margin-top: 2em;
   padding: 1em 2em;
   background-color: var(--secondary-font-color);
   color: var(--main-bg-color);
   border-radius: var(--border-radius);
   font-weight: bold;
   text-transform: uppercase;
}
.intro_text-cta:hover {
   background-color: var(--main-font-color);
   color: var(--white-font);
   transform: scale(120%);
   transition-duration: 0.3s;
}
.intro_img {
   width: 90%;
   height: 600px;
   object-fit: cover;
   border-radius: var(--border-radius);
   box-shadow: var(--box-shadow);
   margin-top: 2em;
}
/*** Service ***/
.service {
   background-color: var(--secondary-bg-color);
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: space-between;
   max-width: inherit;
}
.service_container {
   max-width: 1600px;
   margin: 0 auto;
   display: flex;
   flex-direction: row;
   justify-content: space-around;
   gap: 1em;
}
.service_container-item {
   color: var(--white-font);
   border-radius: var(--border-radius);
   text-align: center;
   font-size: 1.2rem;
   width: 30%;
}
.service_container-item img {
   width: 80px;
   margin-top: 1.5em;
}
.service_container-item h3 {
   margin-top: 1em;
   font-size: 1.5rem;
   color: var(--secondary-font-color);
}
.service_container-item p {
   padding: 1em;
   margin-bottom: 1.5em;
}
.service_cta {
   margin-top: 4em;
   padding: 1em 2em;
   background-color: var(--secondary-font-color);
   color: var(--main-bg-color);
   border-radius: var(--border-radius);
   font-weight: bold;
   text-transform: uppercase;
   box-shadow: var(--box-shadow);
}
.service_cta:hover {
   background-color: var(--main-font-color);
   color: var(--white-font);
   transform: scale(120%);
   transition-duration: 0.3s;
}
/*** Galerie ***/
.galerie {
   background-color: var(--galerie-bg);
   max-width: inherit;
}
.galerie-container {
   display: grid;
   max-width: 1800px;
   width: 90%;
   margin: 0 auto;
   grid-template-columns: repeat(3, 1fr);
   grid-template-rows: repeat(0.5fr);
   gap: 3rem;
   justify-items: center;
   align-items: center;
}
.galerie_item {
   position: relative;
   width: 100%;
   height: 100%;
}
.galerie_item-img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: var(--border-radius);
}
.galerie_item-title {
   text-align: center;
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   top: 50%;
   opacity: 0;
   font-size: 1.5rem;
}
.galerie_item:hover .galerie_item-img {
   transform: scale(105%);
   transition-duration: 0.2s;
   filter: brightness(60%);
}
.galerie_item:hover .galerie_item-title {
   opacity: 1;
   transition-duration: 0.2s;
}
/*** Contact ***/
.contact {
   justify-content: space-around;
   align-items: center;
   min-height: 80dvh;
}
.contact-text {
   width: calc(40% - 2em);
   border-radius: 10px;
   display: flex;
   flex-direction: column;
   text-align: center;
}
.contact-text-title {
   font-size: 2em;
   color: var(--main-font-color);
   font-family: bodoni-moda, serif;
}
.contact-text-description {
   font-size: 1.2rem;
   color: var(--secondary-font-color);
   margin-top: 10px;
}
.contact-text-info {
   font-size: 1.5rem;
   fill: var(--main-font-color);
   margin-top: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 20px;
   margin-top: 2em;
}
.contact-text-icon {
   font-size: 1rem;
   color: var(--main-font-color);
   border: 1px solid var(--main-font-color);
   padding: 2px;
   min-width: 2em;
   height: 2em;
   border-radius: 50%;
}
/*** Footer ***/
footer {
   width: 90%;
   max-width: 1600px;
   margin: 0 auto 50px;
   border-radius: var(--border-radius);
   height: 10em;
   padding: 0 20px;
   background-color: var(--main-bg-color);
   box-shadow: var(--box-shadow);
}
.footer_content {
   height: 100%;
   width: 100%;
   max-width: 1600px;
   display: flex;
   justify-content: flex-start;
   align-items: center;
   margin: 0 auto;
}

.logo {
   width: 8em;
}
.footer_info {
   margin-left: 2em;
   font-size: 1rem;
   display: flex;
   flex-direction: column;
   gap: 20px;
}
.footer_link {
   margin-left: auto;
   margin-top: 80px;
   font-size: 1rem;
   color: var(--secondary-font-color);
   text-decoration: underline;
}
/* Legals */
.legal {
   flex-direction: column;
   align-items: center;
}
.legal_title {
   font-size: 2em;
   text-align: center;
}
.legal_content {
   margin-top: 1em;
}
.legal_content h2 {
   font-size: 1.5em;
}