/* This file contains all styles for the website. Here is content of the file: */
/* 00. Import */
/* 01. General */
/* 02. Components */
/* 03. Sections */
/* 04. Navigation */
/* 05. Hero */
/* 06. About me */
/* 07. Services */
/* 08. References */
/* 09. Contact */
/* 10. Responsive */





/* – – – IMPORT – – – */
/* Font */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@100..900&family=Noto+Serif+Display&display=swap');
/* Icons */
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");





/* – – – GENERAL – – – */

/* Visibility */
header, nav, #bar-poweredby {
  display: none;
}
.hidden {
  display: none;
}
/* Variables */
:root {
  /* Colors */
  --text-dark: #1b1212;
  --text-light: #f8f5fa;
  --background: #f8f5fa;
  --primary: #e36f45;
  --secondary: #dcd5dd;
  --accent: #789abf;
  /* Gradients */
  --linearPrimarySecondary: linear-gradient(#e36f45, #dcd5dd);
  --linearPrimaryAccent: linear-gradient(#e36f45, #789abf);
  --linearSecondaryAccent: linear-gradient(#dcd5dd, #789abf);
  --radialPrimarySecondary: radial-gradient(#e36f45, #dcd5dd);
  --radialPrimaryAccent: radial-gradient(#e36f45, #789abf);
  --radialSecondaryAccent: radial-gradient(#dcd5dd, #789abf);
  /* Colors */
  --num-xs: 6px;
  --num-sm: 12px;
  --num-base: 24px;
  --num-lg: 36px;
  --num-xl: 48px
}
/* Body */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-size: 16px;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Noto Sans';
  font-weight: 400;
  color: var(--text);
  background-color: #ffffff;
}
main {
  padding: 0!important;
  margin: 0!important;
}

/* – – – TEXT – – – */

/* Headings */
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 {
  font-family: 'Noto Serif Display'!important;
  font-weight: 700;
  color: var(--text);
  padding: 0px;
  margin: 0px;
  line-height: 1.18;
}

/* Sizes */
h1,.h1 {font-size: 112px!important; /* 67.36px */}
h2,.h2 {font-size: 3.158em!important; /* 50.56px */}
h3,.h3 {font-size: 2.369em!important; /* 37.92px */}
h4,.h4 {font-size: 1.777em!important; /* 28.48px */}
h5,.h5 {font-size: 1.333em!important; /* 21.28px */}
.text-big {font-size: 20px!important; /* 12px */}

/* Colors */
.text-light {
  color: var(--text-light)!important;
}

/* Section Label */
.section-label {
  font-size: 1em!important;
  font-family: 'Noto Sans'!important;
  text-transform: uppercase;
  padding: calc(var(--num-base) / 2) var(--num-base);
  background-color: #f4f4f4;
  display: inline-block;
  border-radius: var(--num-base);
  color: #8f8f8f;
}

.ratio-square {
  aspect-ratio: 1 / 1;
}




/* – – –  COMPONENTS – – – */

/* – CONTAINERS – */

.container {
  width: 100%;
  padding: 0!important;
  box-sizing: border-box;
}

.contain {
  width: 100%;
  box-sizing: border-box;
  max-width: 1120px;

  padding: 0;
  margin: 0 auto;
}

.content {
  width: 100%;
  display: flex;
  flex-flow: column;
}
.content.center {
  align-items: center;
  justify-content: center;
  text-align: start;
}
.content.left {
  align-items: start;
  justify-content: start;
  text-align: left;
}

.row {
  display: flex;
  flex-flow: row;
  margin: 0;
}
.row.center {
  justify-content: center;
  align-items: center;
  text-align: center;
}
.row.left {
  justify-content: start;
  align-items: start;
  text-align: left;
}
.row.space-between {
  justify-content: space-between;
  align-items: center;
}

section > .contain > .row.left {
  align-items: stretch;
}

.column {
  display: flex;
  flex-flow: column;
  margin: 0;
}
.column.center {
  justify-content: center;
  align-items: center;
  text-align: center;
}
.column.left {
  justify-content: start;
  align-items: start;
  text-align: left;
}

.text-align-center {
  text-align: center;
}
.text-align-left {
  text-align: left;
}
.text-align-right {
  text-align: right;
}

.g-1 { gap: 1rem; }
.g-2 { gap: 2.4rem; }
.g-3 { gap: 2rem; }

.wg-4 { font-weight: 400;}
.wg-5 { font-weight: 500;}
.wg-6 { font-weight: 600;}
.wg-7 { font-weight: 700;}

/* – BUTTONS – */

.button {
  font-size: 1.5rem;
  font-weight: 700;

  padding: var(--num-sm) var(--num-base) var(--num-sm) var(--num-xl);
  border: none;

  border-radius: 8rem;
  text-decoration: none;

  transition: all 0.2s ease-in-out;
  cursor: pointer;

  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: center;
}
.button > .material-symbols-outlined {
  transition: all 0.2s ease-in-out;
  color: inherit;
  font-weight: 800;
  font-size: 1.8rem;
}
.button:hover {
  text-decoration: none;
  padding-right: var(--num-sm);
}
.button:hover > .material-symbols-outlined {
  text-decoration: none;
  margin-left: var(--num-lg);
}

/* – Primary – */
.button.primary {  
  background: -webkit-linear-gradient(55deg, #e36f45, #789abf);
  color: var(--text-light)!important;
}

/* – Secondary – */
.button.secondary {  
  background: transparent;
  color: var(--text-dark);
  border: solid 2px var(--text-dark);
}



/* – – – BENTO – – – */
.bento {
  padding: 3.2rem;
  border: none;
  border-radius: 3.2rem;
  background-color: #f4f4f4;
  min-height: 100%;
  justify-content: center!important;
}

.bento.circle {
  border-radius: calc(20 * var(--num-base));
  overflow: hidden;
  padding: 0;
}

.bento:hover {
  transform: scale(1.1);
}

.circle > img {
  object-fit: cover;
}

.icon-big {
  color: #8f8f8f;
  font-size: calc(8* var(--num-base))!important;
  line-height: calc(8* var(--num-base));
}

.image {
  padding: 0;
  overflow: hidden;
}

.image > img {
  object-fit: cover;
}






/* – – – SECTIONS – – – */

section {
  position: relative;
  box-sizing: border-box;
}

.z-1 { z-index: 10;}
.z-2 { z-index: 20;}
.z-3 { z-index: 30;}
.z-4 { z-index: 40;}
.z-5 { z-index: 50;}

.w-10 { width: 10%; }
.w-20 { width: 20%; }
.w-30 { width: 30%; }
.w-33 { width: 33.3%; }
.w-40 { width: 40%; }
.w-50 { width: 50%; }
.w-60 { width: 60%; }
.w-66 { width: 66.6%; }
.w-70 { width: 70%; }
.w-80 { width: 80%; }
.w-90 { width: 90%; }
.w-100 { width: 100%; }

/* – MARGIN – */
/* General */
.m-0 { margin: 0; }
/* Bottom */
.m-b-0 { margin-bottom: 0; }
.m-b-sm { margin-bottom: var(--num-sm); }
.m-b-1 { margin-bottom: var(--num-base); }
.m-b-2 { margin-bottom: calc(2 * var(--num-base)); }
.m-b-3 { margin-bottom: calc(3 * var(--num-base)); }
.m-b-4 { margin-bottom: calc(4 * var(--num-base)); }
.m-b-5 { margin-bottom: calc(5 * var(--num-base)); }
.m-b-6 { margin-bottom: calc(9 * var(--num-base)); }
.m-b-8 { margin-bottom: calc(12 * var(--num-base)); }
/* Top */
.m-t-0 { margin-top: 0; }
.m-t-1 { margin-top: var(--num-base); }
.m-t-2 { margin-top: calc(2 * var(--num-base)); }
.m-t-3 { margin-top: calc(3 * var(--num-base)); }
.m-t-4 { margin-top: calc(4 * var(--num-base)); }
.m-t-5 { margin-top: calc(5 * var(--num-base)); }

/* Right */
.m-r-0 { margin-right: 0; }
.m-r-1 { margin-right: var(--num-base); }
.m-r-2 { margin-right: calc(2 * var(--num-base)); }
.m-r-3 { margin-right: calc(3 * var(--num-base)); }
.m-r-4 { margin-right: calc(4 * var(--num-base)); }
.m-r-5 { margin-right: calc(5 * var(--num-base)); }
/* Left */
.m-l-0 { margin-left: 0; }
.m-l-sm {margin-left: var(--num-sm); }
.m-l-1 { margin-left: var(--num-base); }
.m-l-2 { margin-left: calc(2 * var(--num-base)); }
.m-l-3 { margin-left: calc(3 * var(--num-base)); }
.m-l-4 { margin-left: calc(4 * var(--num-base)); }
.m-l-5 { margin-left: calc(5 * var(--num-base)); }

/* – PADDING – */
/* General */
.p-0 { padding: 0 !important; }
/* Bottom */
.p-b-0 { padding-bottom: 0; }
.p-b-1 { padding-bottom: 1rem; }
.p-b-2 { padding-bottom: 2rem; }
.p-b-3 { padding-bottom: 3rem; }
.p-b-4 { padding-bottom: 4rem; }
.p-b-5 { padding-bottom: 5rem; }
/* Top */
.p-t-0 { padding-top: 0; }
.p-t-1 { padding-top: 1rem; }
.p-t-2 { padding-top: 2rem; }
.p-t-3 { padding-top: 3rem; }
.p-t-4 { padding-top: 4rem; }
.p-t-5 { padding-top: 5rem; }
/* Right */
.p-r-0 { padding-right: 0; }
.p-r-1 { padding-right: 1rem; }
.p-r-2 { padding-right: 2rem; }
.p-r-3 { padding-right: 3rem; }
.p-r-4 { padding-right: 4rem; }
.p-r-5 { padding-right: 5rem; }
/* Left */
.p-l-0 { padding-left: 0; }
.p-l-1 { padding-left: 1rem; }
.p-l-2 { padding-left: 2rem; }
.p-l-3 { padding-left: 3rem; }
.p-l-4 { padding-left: 4rem; }
.p-l-5 { padding-left: 5rem; }


/* – – – HERO – – – */

.hero, .footer {
  padding: 2.4rem;
  overflow: hidden;
}

.hero {
  height: 80vh;
}

.footer > .bento, .hero > .bento {
  height: 100%;
  border-radius: 9.6rem;
  padding: 9.6rem;
  align-items: start;
  justify-content: center;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.hero > .bento > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero > .bento > .content {
  position: relative;
  z-index: 2;
}

.hero > img {
  position: absolute;
  transform: translate(50%, -50%);
  top: 50%;
  right: 10%;
  width: 80vw;
  height: auto;
  z-index: 2;
}

.number {
  font-size: 6rem;
  line-height: 6rem;
  margin: 0;
  font-weight: 700;
  display: inline;
}

.gradient {
  background: -webkit-linear-gradient(55deg, #e36f45, #789abf);
}

.gradient.text {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: inherit;
}




/* – – – ABOUT ME – – – */







/* – – – GALLERY – – – */

@keyframes slideLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes slideRight {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}

.gallery {
  overflow: hidden;
  padding: 0;
  background: white;
  white-space: nowrap;
  position: relative;
}

.gallery.to-right {
  display: flex;
  justify-content: flex-end;
}

/*
.gallery:before,
.gallery:after {
position: absolute;
top: 0;
width: 250px;
height: 100%;
content: "";
z-index: 2;
}

.gallery:before {
left: 0;
background: linear-gradient(to left, rgba(255, 255, 255, 0), white);
}

.gallery:after {
right: 0;
background: linear-gradient(to right, rgba(255, 255, 255, 0), white);
}
*/

.gallery:hover .gallery-slide-right, .gallery:hover .gallery-slide-left {
  animation-play-state: paused;
  transition: all 0.5s ease-out;
}

.gallery-slide-right {
  display: inline-block;
  animation: 24s slideRight infinite linear;
}

.gallery-slide-left {
  display: inline-block;
  animation: 24s slideLeft infinite linear;
}

.gallery-slide-left img, .gallery-slide-right img {
  height: 300px;
  margin: 0 calc(var(--num-sm));
  border-radius: 3.2rem;
}





/* – – – CONTACT – – – */

/* – CONTACT FORM – */


.form-control.text {
  font-family: 'Noto Sans', sans-serif;
  font-size: 16px;
  padding: 18px 24px;
  border: none;
  border-radius: 20px;
  background-color: #f4f4f4;
  box-shadow: none;
}

.form-control.text:focus {
  outline: solid 2px var(--primary);
}

input, textarea {
  padding: 10px 16px;
  border-radius: 12px;
  border: none;
}

.success-alert {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: #28a745;
  color: #fff;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: bold;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
  z-index: 1000;
}





/* – – – FOOTER – – – */

.footer {
  background: #f4f4f4; /* Light gray background */
  color: #1b1212; /* Black text */
  padding: 40px 0;
  font-size: 16px;
}

.footer .contain {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 20px;
}

.footer .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer .column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.footer .column.left {
  align-items: flex-start;
}

.footer .column.center {
  align-items: center;
}

.footer .column.right {
  align-items: flex-end;
}

.footer .logo-container {
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer img {
  max-height: 40px;
}

.footer .nav-footer {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 20px;
}

.footer .nav-footer li {
  display: inline-block;
}

.footer .nav-footer a {
  color: #1b1212;
  text-decoration: none;
  font-weight: 500;
}

.footer .nav-footer a:hover {
  text-decoration: underline;
}

.footer .membership-logo {
  max-height: 70px; /* Increased badge size */
}

/* Responsive */
@media (max-width: 768px) {
  .footer {
    padding: 40px 0 !important;
  }

  .footer .row {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .footer .column {
    margin-bottom: 20px;
  }

  .footer .column.right {
    align-items: center;
  }

  .footer .nav-footer {
    flex-direction: column;
    gap: 10px;
  }
}






/* – – – MODAL COOIKES – – – */

.modal-cookies .modal-content {
  border-radius: var(--num-base);
}

.btn.btn-primary {
  font-size: 1.5rem;
  font-weight: 700;

  padding: var(--num-sm) var(--num-base) var(--num-sm) var(--num-base);
  border: none;

  border-radius: var(--num-lg)!important;
  text-decoration: none;

  transition: all 0.2s ease-in-out;
  cursor: pointer;

  display: inline-block;

  background: -webkit-linear-gradient(55deg, #e36f45, #789abf);
  color: var(--text-light)!important;
}









/* – – – RESPONSIVE SETTINGS – – – */

/* – Desktop – */
@media screen and (max-width: 1240px) {
  .contain { padding: 0 var(--num-base); }
  .hero, .footer { padding: var(--num-base); }
}



/* – Tablet – */
@media screen and (max-width: 912px) {
  .contain{ padding: 0 var(--num-base); }
  .hero, .footer { padding: var(--num-base); }
}



/* – Mobile – */
@media screen and (max-width: 600px) {
  .contain { padding: 0 var(--num-sm); }
  .hero, .footer { padding: var(--num-sm); }
  .row { flex-direction: column; gap: var(--num-sm); }
  .w-66, .w-33 { width: 100%; }
  .section-label { margin-bottom: var(--num-sm); }
  .hero > .bento { justify-content: start !important; padding: 8vw; padding-top: 20vw; }
  .hero > .bento > .content > h1 { font-size: 14vw !important; }
  .hero > img { top: 75%; right: 15%; width: 100vw; }
  .m-b-6 { margin-bottom: calc(4* var(--num-base)); }
  .mobile-hide { display: none; }
}