@font-face {
    font-family: "Vinque Antique";
    src: url("../fonts/vinque\ antique\ bd.otf");
    /* font created by Raymond Larabie @ 1001fonts.com */
}

html {
    font-family: "Vinque Antique";
    background-color: #e6e1f9;
    overflow-x: hidden;
    color: #800080;
    margin: 0;
    padding: 0;
}

a {
    color: #800080;
}

a:hover {
    color: #9b23c0;
}

a:active {
    color: #660066;
}

body {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

nav {
    position: relative;
    padding: 0 50px;
    height: 150px;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    font-size: 1.8rem;
    background-color: #c6b7fe;
    margin-bottom: 80px;
}

.nav-link {
    padding: 5px;
}

.row-flex-container {
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: center;
}

.column-flex-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

.homepage-section {
    box-sizing: border-box;
    padding: 0 50px;
    min-height: 400px;
    margin: 50px 0;
}

.homepage-shopnow-section {
    display: flex;
    flex-direction: column;
    position: relative;
    align-items: center;
}

.homepage-banner {
    width: 100vw;
    height: auto;
    display: block;
}

.homepage-section-image {
    width: auto;
    max-height: 500px;
    display: block;
}

.homepage-learnmore-section {
    display: grid;
    grid-template-columns: 2fr 2fr;
    column-gap: 50px;
    background-color: #d5cdf3;
    width: 100vw;
}

.homepage-learnmore-lefthalf {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
    padding: 0 200px;
}

.homepage-learnmore-righthalf {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.homepage-latestnews-section {
    display: grid;
    grid-template-columns: 2fr 2fr;
    column-gap: 50px;
    background-color: #d5cdf3;
}

.homepage-latestnews-lefthalf {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.homepage-latestnews-righthalf {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
    padding: 0 200px;
}

.homepage-section-text {
    position: absolute;
    text-align: center;
    top: 100px;
}

.button-div {
    width: fit-content;
    height: fit-content;
    position: absolute;
    bottom: 80px;
    margin: auto;
    padding: 15px 20px;
    border-radius: 5px;
    background-color: #e0e0e0;
}

.homepage-scrolling-section {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    background-color: #d5cdf3;
    padding: 30px 200px;
}

.homepage-scrolling-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    justify-content: space-evenly;
}

.homepage-scrolling-item {
    padding: 30px;
    position: relative;
    background-color: #ff4444;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 200px;
    margin: 0 20px;
    text-align: center;
}

.homepage-scrolling-item-price {
    position: absolute;
    bottom: 10px;
}

.homepage-scroll-left,
.homepage-scroll-right {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    background-color: #e0e0e0;
}

.returnpolicy-section {
    box-sizing: border-box;
    padding: 30px 500px;
    width: 100%;
    min-width: 300px;
    align-items: start;
}

.returnpolicy-section-text {
    text-align: left;
}

.about-section {
    display: grid;
    grid-template-columns: 2fr 2fr;
    column-gap: 50px;
    background-color: #b0b0b0;
    padding: 100px;
    margin: 100px 50px;
}

.about-one-lefthalf {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.about-one-righthalf {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto
}

.about-two-lefthalf {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.about-two-righthalf {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
}

.about-text {
    text-align: justify;
}

.news-title {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.news-section {
    display: grid;
    grid-template-columns: 1fr 3fr;
    background-color: #b0b0b0;
    padding: 100px;
    margin: 50px;
    column-gap: 100px;
}

.news-lefthalf {
    display: flex;
    flex-direction: column;
    align-items: left;
    row-gap: 50px;
    border: 1px solid #000000;
    padding: 20px;
}

.news-lefthalf a {
    font-size: large;
}

.news-righthalf {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
    border: 1px solid #000000;
    padding: 0 10px;
}

.news-text {
    text-align: justify;
}

.item-section {
    display: grid;
    grid-template-columns: 1.5fr 2.5fr;
    background-color: #b0b0b0;
    padding: 100px;
    margin: 50px;
    column-gap: 100px;
}

.item-lefthalf {
    display: flex;
    flex-direction: column;
    align-items: left;
    padding: 20px;
}

.item-image-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 20px;
    column-gap: 20px;
}

.item-righthalf {
    display: flex;
    flex-direction: column;
    align-items: left;
    height: auto;
    border: 1px solid #000000;
    padding: 20px 50px;
}

.item-button-container {
    padding-top: 50px;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}

.item-button-div {
    width: auto;
    height: fit-content;
    max-width: 200px;
    padding: 10px;
    border: 1px solid #000000;
    border-radius: 5px;
    text-align: center;
}

.contact-form-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contact-form,
.contact-form-test {
    display: flex;
    flex-direction: column;
    align-items: left;
    width: 60%;
    padding: 30px 200px;
    row-gap: 10px;
}

.contact-form-heading {
    text-align: center;
}

.contact-submit-button {
    width: 100%;
    height: fit-content;
    margin: auto;
    padding: 15px;
    border: 1px solid #000000;
    border-radius: 5px;
    font-size: x-large;
}

label,
input {
    font-size: x-large;
}

.shop-items-section {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    padding: 20px 20px;
    column-gap: 10px;
    row-gap: 20px;
}

.shop-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border: 1px solid #000000;
    padding: 20px;
    width: 300px;
    min-height: 300px;
}

.login-error-message {
    color: #FF0000;
    visibility: hidden;
}

.login-form-container {
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.login-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: fit-content;
    padding: 100px;
    row-gap: 10px;
}

.login-button {
    width: 100%;
    height: fit-content;
    padding: 10px;
    border: 1px solid #000000;
    border-radius: 5px;
    font-size: x-large;
}

.item-crud,
.news-crud {
    width: 100%;
    height: auto;
}

.crud-tables {
    display: flex;
    justify-content: center;
    align-items: center;
}

table,
th,
tr,
td {
    border: 2px solid #bba8ff;
    border-collapse: collapse;
    max-width: 1500px;
    padding: 5px;
}

.table-caption {
    background: #cdc2f5;
    font-size: x-large;
    padding: 10px;
}

.caption-content {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

.caption-content strong {
    grid-column: 2;
    text-align: center;
}

.title-button-container {
    grid-column: 3;
    justify-self: end;
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.table-head {
    background: #d5cdf3;
}

.create-button {
    display: inline-flex;
    align-items: center;
    column-gap: 10px;
    height: fit-content;
    border: 0 none;
    border-radius: 5px;
    font-size: medium;
    background-color: #00CE0A;
    color: #ffffff;
    padding: 5px;
}

.options-col {
    min-width: 120px;
}

.blue-button {
    height: fit-content;
    display: inline-flex;
    align-items: center;
    border: 0 none;
    border-radius: 5px;
    background-color: #0077FF;
    padding: 5px;
}

button:disabled {
    height: fit-content;
    display: inline-flex;
    align-items: center;
    border: 0 none;
    border-radius: 5px;
    background-color: #828282;
    padding: 5px;
}

.delete-button {
    height: fit-content;
    display: inline-flex;
    align-items: center;
    border: 0 none;
    border-radius: 5px;
    background-color: #FF3333;
    padding: 5px;
}

.form-error {
    color: #ff0000;
}

.form-success {
    color: #008a0e;
}

.harry-potter-field {
    position: absolute;
    left: -9999px;
}

.update-items-photos-container,
.update-news-photos-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.update-items-photos-container img,
.update-news-photos-container img {
    width: 80px;
    height: 80px;
    object-fit: cover;
}


.footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 10px;
}