/***
    The new CSS reset - version 1.11.1 (last updated 24.10.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/

/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(
    :not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)
  ) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  scroll-behavior: smooth;
}

/* Reapply the pointer cursor for anchor tags */
a,
button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol,
ul,
menu,
summary {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input,
textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
- fix for the content editable attribute will work properly.
- webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

:root {
  --main-background: rgb(21, 21, 21);
  --main-gradient: linear-gradient(
    90deg,
    rgba(21, 21, 21, 1) 0%,
    rgba(33, 33, 33, 1) 50%,
    rgba(21, 21, 21, 1) 100%
  );
  --main-font-color: rgb(255, 255, 255);
  --secondary-font-color: rgb(180, 180, 180);
  --primary-span-color: rgba(244, 119, 35);
  --JS-color: rgba(233, 214, 61);
  --HTML-color: rgba(221, 75, 37);
  --CSS-color: rgba(37, 75, 221);
  --sections-heading: clamp(2rem, 4vw, 3rem);
}

body {
  font-family: "Inter", sans-serif;
  background-color: var(--main-background);
  background: var(--main-gradient);
  color: white;
}

/*  !------------ HEADER SECTION ----------------*/

.snap {
  scroll-snap-align: start;
}

header {
  position: fixed;
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 auto;
  height: 70px;
  width: 100%;
  transition: 0.3s;
  backdrop-filter: blur(5px);
  z-index: 1;
}

.show {
  transform: translateY(0);
}

.logo {
  flex-grow: 1;
  font-size: 35px;
  font-weight: bold;
  text-shadow: -1px -1px #555555, -2px -2px #555555, -3px -3px #555555,
    -4px -4px #555555, -5px -5px #555555, -6px -6px #555555, -7px -7px #555555,
    -8px -8px #555555;
  margin-left: 1rem;
}

.logo {
  width: 200px;
  padding: 10px;
}

nav {
  margin-right: 30px;
}

nav li {
  display: inline-block;
  list-style-type: none;
  margin-right: 20px;
  color: var(--main-font-color);
}

a {
  text-decoration: none;
  color: white;
}

li a {
  font-size: clamp(1rem, 2.5vw, 1.3rem);
}

li a:hover {
  color: var(--primary-span-color);
}

.menu-icon {
  display: none;
  padding: 10px;
  margin-right: 30px;
  cursor: pointer;
}

/*  !------------ HERO SECTION ----------------*/

.section__hero {
  display: flex;
  margin: 1rem;
  margin-top: 5rem;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  gap: 2rem;
}

.introduction-span {
  font-weight: bold;
  color: var(--primary-span-color);
}

.heading-introduction-div h1 {
  font-size: clamp(2.5rem, 6vw, 5rem);
}

.heading-introduction-div h1 span {
  font-size: clamp(3rem, 6vw, 5rem);
}

.introduction-paragraph-div p {
  font-size: clamp(1.5rem, 4vw, 2rem);
  color: var(--secondary-font-color);
}

/*  !------------ PROJECTS SECTION ----------------*/

.projects-section {
  display: flex;
  margin: 1rem;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 2rem;
}

.projects-section-heading-div {
  display: block;
  text-align: center;
  margin: 1rem 0rem;
}

.projects-section h1 {
  font-weight: bold;
  font-size: var(--sections-heading);
}

.fa-laptop-code:hover {
  color: var(--primary-span-color);
}

/*  !------------ PROJECTS CARD´S ----------------*/

.card-div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  min-height: 17rem;
}

.projects-heading-div h2 {
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: bold;
  margin-bottom: 1rem;
}

.projects-img {
  display: none;
}

.projects-links-div {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}

.projects-github {
  font-size: 30px;
}

.projects-netlify {
  width: 2rem;
}

.projects-info-paragraph {
  font-size: clamp(1.1rem, 4vw, 1.3rem);
  color: var(--secondary-font-color);
}

.projects-info-paragraph span {
  font-size: clamp(1.2rem, 4vw, 1.6rem);
  color: var(--primary-span-color);
  font-weight: bold;
}

/*  !------------ FORM SECTION ----------------*/

.form-section {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  height: 40rem;
  gap: 1rem;
  color: var(--main-font-color);
  margin: 3rem 1rem 0rem 1rem;
}
.form-heading {
  font-weight: bold;
  font-size: var(--sections-heading);
}

.fa-address-book:hover {
  color: var(--primary-span-color);
}

.form-tag {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  text-align: center;
  width: 100%;
}

.form-heading-div {
  display: block;
  text-align: center;
  margin: 3rem 0rem;
}

.form-heading h1 {
  font-weight: bold;
  font-size: var(--sections-heading);
}

.form-tag input {
  border: 1px solid white;
  border-radius: 10px;
  padding: 1rem;
  /* max-width: 30rem; */
}
.form-tag input:focus {
  border: 1px solid rgba(221, 75, 37);
}
.form-tag textarea {
  border: 1px solid white;
  border-radius: 10px;
  padding: 1rem;
  height: 5rem;
  overflow-x: hidden;
}
.form-tag textarea:focus {
  border: 1px solid rgba(221, 75, 37);
}

.submit-btn {
  border: 1px solid white;
  border-radius: 10px;
  padding: 1rem 2rem;
  width: fit-content;
  margin: 0 auto;
}
.submit-btn:hover {
  border: 1px solid rgba(221, 75, 37);
}

.message-modal {
  display: none;
  position: absolute;
  /* margin: 0 auto; */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: fit-content;
  width: fit-content;
  border: 1px solid white;
  border-radius: 15px;
  background-color: azure;
}

.modal-paragraph {
  margin: 0 auto;
  padding: 2rem;
  color: #000000;
  text-align: center;
}

/*  !------------ FOOTER SECTION ----------------*/

.footer-section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  justify-content: space-between;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 1rem 1rem 1rem 1rem;
  color: var(--main-font-color);
  font-size: 16px;
  height: 6rem;
  border-top: solid 2px rgb(84, 84, 84);
}

.footer-icons {
  display: flex;
  font-size: clamp(2rem, 2.5vw, 3rem);
  gap: 1rem;
}
