:root {
    --color-green-logo: #04793f;
    --color-green-light: #e2f4e6;
    --color-green-dark: #006734;

    --color-bg: var(--color-green-light);
    --color-accent: var(--color-green-dark);

    --global-inline-padding: clamp(1.875rem, 1.1488rem + 2.8902vw, 3.75rem);
    --global-max-inline-size: 90rem;
    --content-padding-block: clamp(8.125rem, 7.8829rem + 0.9634vw, 8.75rem);

    --step-huge: /* 90.60px -> 60.91px */ clamp(
      3.8071rem,
      3.0886rem + 2.8598vw,
      5.6624rem
    );
    --step-2xl: /* 46.39px -> 35.25px */ clamp(
      2.2032rem,
      1.9337rem + 1.0728vw,
      2.8992rem
    );
    --step-xl: /* 29.69px -> 24.48px */ clamp(
      1.53rem,
      1.404rem + 0.5017vw,
      1.8555rem
    );
    --step-lg: /* 23.75px -> 20.40px */ clamp(
      1.275rem,
      1.1939rem + 0.3227vw,
      1.4844rem
    );
    --step-base: /* 19px -> 17px */ clamp(
      1.0625rem,
      1.0141rem + 0.1927vw,
      1.1875rem
    );
    --step-sm: /* 15.20px -> 14.17px */ clamp(
      0.8854rem,
      0.8604rem + 0.0996vw,
      0.95rem
    );
    --step-xs: /* 12.16px -> 11.81px */ clamp(
      0.7378rem,
      0.7293rem + 0.0341vw,
      0.76rem
    );
}

html {
    font-family: "Roboto", ui-sans-serif, system-ui, sans-serif;
    box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
    color: black;
    background: var(--color-bg);
    margin: 0;
}

img,
picture,
video {
    max-width: 100%;
}

header {
    background-image: url("/assets/agri-life-banner.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 8rem;
    display: grid;
    place-items: center;
    padding-inline: var(--global-inline-padding);
}

.nav-wrapper {
    width: 100%;
    height: 100%;
    max-inline-size: var(--global-max-inline-size);
}

.nav-submenu {
    position-area: bottom;
    color: white;
    background: var(--color-accent);
    border: none;
    padding: 1rem;
}

.nav-submenu ul {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    gap: 1rem;
}

.logo {
  width: /* 156px -> 310px */ clamp(9.75rem, 6.0224rem + 14.8362vw, 19.375rem);
  position: relative;
  z-index: 9999;
}

header .logo-wrapper {
    height: 0;
    display: flex;
    align-items: center;
}

nav {
    height: 100%;
    display: flex;
    justify-content: end;
    align-items: center;
    color: var(--color-accent);
}

nav ul {
    display: flex;
    gap: 1.5em;
    position: static;
    list-style: none;
}

nav a {
    text-decoration: none;
    color: inherit;
}

nav a:hover,
nav button:hover {
    cursor: pointer;
}

nav button {
    border: none;
    background: none;
    color: inherit;
    font-size: inherit;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 2px;
}

nav button::after {
    content: "⌄";
    display: block;
    margin-top: -2px;
}

main {
    display: grid;
    place-items: center;
}

.hero {
    color: white;
    height: 600px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 100%;
    text-shadow: 0px 4px 2px rgba(0, 0, 0, 0.25);
    font-weight: 600;

    /* black overlay */
    /* https://youtu.be/NwnZU6mWJkk?si=S4vrUmjwOQMmXRNr */
    border-image:
	linear-gradient(rgb(0 0 0 / 0.25), rgb(0 0 0 / 0.25))
	fill 1;
}

h1 {
    font-size: var(--step-2xl);
}

.hero p {
    font-size: var(--step-xl);
    max-width: 48rem;
    text-align: center;
}

main > img {
    object-fit: cover;
    width: 100%;
    height: clamp(15rem, 9.351rem + 22.5962vw, 29.6875rem);
}

.richtext {
    padding-block: var(--content-padding-block);
    padding-inline: var(--global-inline-padding);
    max-width: 61.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
    font-size: var(--step-base);
    line-height: 1.5;
}

.richtext h2 {
    font-size: var(--step-2xl);
    color: var(--color-accent);
    font-weight: 500;
}

.richtext mark {
    background: none;
    color: var(--color-accent);
}

.richtext ul {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
    list-style: none;
    padding: 0;
}

.richtext blockquote {
    margin: 0;
}

.richtext cite {
    font-size: var(--step-sm);
}

.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100px, 100%), 150px));
    gap: 1rem;
    padding-top: var(--content-padding-block);
    max-inline-size: var(--global-max-inline-size);
    padding-inline: 2rem;
}

.gallery img {
    border: 1px solid black;
    border-radius: 1rem;
}

.gallery-irrigation {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    padding-top: var(--content-padding-block);
    max-inline-size: var(--global-max-inline-size);
    padding-inline: 4rem;
}

.gallery-control {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    padding-top: var(--content-padding-block);
    max-inline-size: var(--global-max-inline-size);
    padding-inline: 4rem;
    place-items: center;
    margin-bottom: 4rem;
}

.gallery-control :first-child {
    grid-row: span 2;
}

.omri {
    object-fit: contain;
    width: auto;
    height: auto;
    margin-block: var(--content-padding-block);
}

.science-image {
    object-fit: contain;
    width: auto;
    height: clamp(15rem, 9.351rem + 22.5962vw, 29.6875rem);
}

.label {
    background-color: white;
    border: 1px solid black;
    border-radius: 1rem;
    padding: 2rem;
    margin-inline: 2rem;
    margin-block: var(--content-padding-block);
    max-inline-size: var(--global-max-inline-size);
}

.label h1::after {
    content: "";
    border-bottom: 1px solid black;
    display: block;
    margin-top: 1rem;
}

.label h2 {
    margin-top: 2rem;
}

.label h2::after {
    content: "";
    border-bottom: 3px solid grey;
    display: block;
    margin-top: 1rem;
}

.label table {
	table-layout: fixed;
	width: 100%;
	margin-block: 4rem;
	text-align: left;
	border-collapse: collapse;
}

.label th {
    border-bottom: 4px solid black;
}

.label tbody tr {
    border-top: 1px solid;
    border-bottom: 1px solid;
}

.label td {
    padding: 1rem 0.4rem;
}

a.button {
  display: inline-block;
  text-align: center;
  color: white;
  background: var(--color-accent);
  padding-block: 1rem;
  padding-inline: 1ch;
  width: 40ch;
  text-decoration: none;
  margin-bottom: var(--content-padding-block);
}

a.button:hover {
  background: var(--color-green-logo);
}

footer {
    color: white;
    background-color: var(--color-accent);
    display: grid;
    place-items:center
}

.footer-nav {
    display: grid;
    padding-inline: var(--global-inline-padding);
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    justify-items: center;
    max-inline-size: var(--global-max-inline-size);
    margin-block: 3rem;
}

.footer-nav dd {
    margin: 0;
}

.footer-nav dt {
    color: white;
    font-weight: bold;
    margin-bottom: 1rem;
}

.footer-nav ul {
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.footer-nav a {
    color: var(--color-bg);
}

.footer-branding {
    width: 100%;
    color: black;
    text-align: center;
    background-image: url("/assets/agri-life-banner.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 8rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding-inline: var(--global-inline-padding);
    padding-block: 1rem;
    justify-items: center;
}

.footer-branding img {
    min-width: 0;
    min-height: 0;
    max-height: 100%;
}
