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

html,
body {
    background-color: #f1f1f1;
    font-family: Helvetica, Arial, sans-serif;
    margin: 0;
    padding: 0;
}

:is(h1, h2, h3, h4) {
    color: #0056b3;
    text-align: center;
}

h1 {
    font-weight: bold;
    font-size: 2em;
}

h3 {
    margin: 0.5% auto;
}

.learn_form {
    width: 40em;
    max-width: 50%;
    margin: 20px auto;
    padding: 20px;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

.contactInput,
.contactSubmit,
textarea {
    width: 100%;
    padding: 2% 0 2% 0;
    margin: 0 auto 2em auto;
    border: 1px solid #ccc;
    border-radius: 5px;
    resize: vertical;
}

.contactInput:invalid {
    border: 2px solid red;
    background-color: lightcoral;
}

.contactInput:valid {
    border: 2px solid green;
    background-color: white;
}

.contactInput:invalid:placeholder-shown {
    border: 1px solid #ccc;
    background-color: white;
}



.contactSubmit[type="submit"] {
    margin-top: 10px;
    background-color: rgb(0, 123, 255);
    color: white;
    font-weight: bold;
    transition: filter 0.3;
}

input[type="submit"]:hover {
    filter: brightness(90%);
}

img {
    margin-left: auto;
    margin-right: auto;
    display: block;
}

nav {
    background-color: rgb(0, 123, 255);
    padding: 10px 0;
    display: flex;
    justify-content: center;
    gap: 0.5em; /* Clean space between items */
    margin-bottom: 0.5%;
  }

p {
    text-align: center;
}

.home_ul {
    width: fit-content;
    margin: 0 auto;
    padding-right: 185px;
}

nav a {
    color: white;
    font-weight: bold;
    text-decoration: none;
    position: relative;
  }

nav a:not(:last-child)::after {
    content: "|";
    color: white;
    font-weight: bold;
    margin-left: 0.5em;
  }


.home_h2 {
    color: black;
    font-size: 1em;
    font-weight: normal;
    text-align: center;
}

.lang_desc {
    margin-bottom: 3rem;
}

.examples {
    font-size: 1.2em;
    font-family: Palatino, serif;
}

.examples_lists {
    width: 58rem;
    margin: 0 auto;
    text-align: left;
}

.darker_background {
    background-color: #d8d8d8;
}

.examples_lists {
    line-height: 1.35;
}

.definition {
    display: grid;
    grid-template-columns: auto 1fr; /* term | definition */
    align-items: start;
    column-gap: 0.5em;
    margin-bottom: 0.25em;
}

.definition dt::before {
    content: "• ";
    color: #000; /* or white/dark depending on theme */
    font-weight: bold;
    margin-right: 0.25em;
}

  
ol li {
    line-height: 2em;
    display: list-item;
}

ol li span {
    display: inline-block;
    transition: filter 0.4s;
}

ol li span:hover {
    filter: brightness(90%);
}

dl {
    display: flex;
    flex-direction: column;
}

dt, dd {
    font-size: 1.1em;
    font-family: Palatino, serif;
    display: inline;
    margin: 0;
}

dt {
    font-weight: bold;
    margin: 0;
}

dd {
    flex: 1;
    margin: 0;
}

.exc1 {
    background-color: #c1f8ff;
}
.exc2 {
    background-color: #e5ffc7;
}
.exc3 {
    background-color: #ffe7c0;
}


.member {
    padding: 0 0 0 5px;
    border: 2px solid rgb(96 139 168);
    border-radius: 5px;
    aspect-ratio: 1 / 1;
    width: 15em;
    max-width: 15em;
    margin: 0.4em;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    overflow: hidden;
}

.team {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.contact {
    display: inline-block;
    margin: 0 auto 0.8em auto;
    padding: 0.8em 1.5em;
    border: 3px solid rgb(0, 123, 255);
    border-radius: 15px;
    background-color: rgb(0, 123, 255);
    color: white;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
}

.contact:hover {
    filter: brightness(95%);
}

.contact:active {
    filter: brightness(95%);
    box-shadow: 0 3px #00000070;
    transform: translateY(2px);
}

.noMargin {
    margin: 0;
}

.memberName {
    margin: 0.3em auto 0.3em auto;
}

.roundImage {
    border-radius: 50%;
}

.redButton {
    border: hidden;
    background-color: red;
    color: white;
    font-weight: bold;
    padding: 0.5em 1em;
    margin: 0 auto;
}

.headerLanguages {
    margin-bottom: 0;
}