/* REGISTER SIDE  */
.banner__container {
    overflow: hidden;
    width: 100%;
    aspect-ratio: 2.16;
    height: calc(2.16 * 100%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

}

.banner__container img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
}

img.banner_mobile {
    display: none;
}

@media only screen and (max-width: 1224px) {
    .banner__container {
        aspect-ratio: 4/3;
    }
}

@media only screen and (max-width: 867px) {
    .banner__container {
        /*aspect-ratio: 9/10;*/
    }
}

@media only screen and (max-width: 667px) {
    img.banner_mobile {
        display: inline;
    }

    img.banner_desktop {
        display: none;
    }

    .banner__container {

        aspect-ratio: 7/10;
        width: 100%;
    }
}

/* DESCRIPTION GRID  */

.descriptionGrid__container {
    min-height: 10vh;
    width: 80%;
    max-width: 90rem;
    padding: 5rem 1rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5rem;
    align-items: start;
    text-align: center; /* Centers the text below the icons */
}

.descriptionGrid__item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.descriptionGrid__item p {
    font-weight: 500;
    /* font-size: 18px; */
    text-align: center;
}

.descriptionGrid__item img {
    height: 2.5rem;
    width: auto;
    filter: invert(51%) sepia(84%) saturate(3406%) hue-rotate(346deg) brightness(99%) contrast(104%);
}

@media only screen and (max-width: 1224px) {
    .descriptionGrid__container {
        grid-template-columns: repeat(2, 1fr);
        gap: 5rem;
    }
}

@media only screen and (max-width: 667px) {
    .descriptionGrid__container {
        grid-template-columns: 1fr;
    }
}

/*ABOUT US */

.aboutUs__container {
    padding: 0 2rem 2rem 2rem;
    width: 80%;
    max-width: 90rem;
    display: grid;
    grid-template-columns:  1fr 1fr;
    gap: 2rem;
    scroll-margin-top: 8rem;
}

.aboutUs__description {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    gap: 2rem;
    padding: 2rem 4rem 2rem 0;
}

.headerBackground {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main_darkBlue);
    rotate: -2deg;
    padding: 0.5rem 1rem;
}

.headerBackground img {
    width: 100%;
    rotate: 2deg;
}

.aboutUs__description p {
    text-align: justify;
}

.aboutUs__img {
    width: 100%;
    overflow: hidden;
    display: flex;
    position: relative;
}

.aboutUs__img img {
    object-fit: cover;
    width: 100%;
}

@media only screen and (max-width: 1224px) {
    .aboutUs__container {
        width: 85%;
        gap: 1rem
    }

    .aboutUs__description {
        padding: 2rem 2rem 2rem 0;
    }

}

@media only screen and (max-width: 900px) {
    .aboutUs__container {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 0
    }

    .aboutUs__description {
        padding: 0;
    }
}

/* PACKAGES  */
.packages__container {
    width: 100%;
    height: auto;
    padding: 3rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}


/* GRID  */
.packagesGrid__container {
    width: 60%;
    max-width: 70rem;
    display: grid;
    grid-template-columns: 1fr;
    margin: 3rem 0;
}

.packagesGrid__container a {
    text-decoration: none;
    color: var(--main_black);
    transition: 0.4s ease-in-out;
    border-top: 1px solid black;
}

.packagesGrid__container a:hover {
    scale: 1.01;
}

.packagesGrid__item {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    align-items: center;
    gap: 3rem;
    padding: 1rem 5rem;
}

.packagesGrid__container a:last-of-type {
    border-bottom: 1px solid black;
}

p.packagesGrid__item-number {
    background-color: var(--main_orange);
    width: 8rem;
    padding: 0.5rem 0;
    text-align: center;
    color: var(--main_white);
    font-weight: 700;
    font-size: 1.5rem;

}

p.packagesGrid__item-description {
    text-align: left;
    flex-grow: 1;
}

.packagesGrid__item-price {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    gap: 1rem;
    padding: 0.5rem;
}

p.packagesGrid__item-price-main {
    font-size: 2.5rem;
    color: var(--main_orange);
    text-align: left;
}

p.packagesGrid__item-price-add {
    line-height: 0.8rem;
}

.disabled__item {
    opacity: 0.5;
    pointer-events: none;
    filter: grayscale(100%);
}

@media only screen and (max-width: 1224px) {
    .packagesGrid__container {
        width: 70%;
        max-width: unset;
    }
}

@media only screen and (max-width: 867px) {

    .packagesGrid__item {
        gap: 2rem;
        padding: 1rem 3rem;
    }

    p.packagesGrid__item-number {
        width: 6rem;
        font-size: 1.25rem;

    }

    p.packagesGrid__item-price-main {
        font-size: 2rem;
    }
}

@media only screen and (max-width: 667px) {
    .packagesGrid__container {
        width: 100%;
    }

    .packagesGrid__item {
        gap: 1rem;
        padding: 1rem;
    }

    p.packagesGrid__item-number {
        width: 5rem;
        font-size: 1.125rem;

    }

    .packagesGrid__item-price {
        gap: 0.25rem;
        padding: 0.5rem;
    }
}

@media only screen and (max-width: 400px) {

    .packages__container img {
        width: 70%;
    }

    .packagesGrid__container {
        width: 100%;
        overflow: scroll;
    }

    p.packagesGrid__item-number {
        width: 3rem;
        font-size: 1.125rem;
        padding: 0.25rem 0;

    }

    .packagesGrid__item-price {
        gap: 0.25rem;
        padding: 0.5rem;
    }
}

/* REGISTER  */


.register__container {
    width: 100%;
    display: flex;
    flex-direction: row;
    /*max-height: 100vh;*/
}

.register__img {
    width: 50%;
    overflow: hidden;
    aspect-ratio: 1/1;
    display: flex;
    position: relative;
}

.formImg {
    width: 40%;
    margin-bottom: 1rem;
}

.register__img img {
    object-fit: cover;
    width: 100%;
}

.register__container form {
    width: 50%;
    background-color: var(--main_blue);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.75rem;
    padding: 3rem 0 3rem 8rem;
}


.register__container form label {
    font-size: 0.65rem;
    font-weight: 500;
}

.register__container form input:not([type="checkbox"]), .register__container form select {
    width: min(70%, 30rem);
    height: 3rem;
    outline: none;
    border: 0;
    padding: 0 1.5rem;
    color: #737373;
    font-size: 0.70rem;
    font-style: italic;
    font-weight: 500;
    -webkit-appearance: none;
    border-radius: 0;
}

.register__container form input:not([type="checkbox"])::placeholder,
.register__container form select::placeholder {
    color: rgb(125, 125, 125);
}

input[type="date"] {
    min-width: min(70%, 30rem);
    -webkit-appearance: none;
    position: relative;
    cursor: pointer;
}

.test::after {
    content: "Data urodzenia";
    position: absolute;
    left: 4rem;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--main_white);
    color: rgb(125, 125, 125);
    pointer-events: none;
}

.form__description {
    font-size: 0.65rem;
    font-weight: 700;
}

.form__description a {
    color: var(--main_black)
}

.register__container form button {
    background: var(--main_orange);
    color: var(--main_white);
    padding: 1rem 2rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin-top: 2rem;
    cursor: pointer;
    transition: 0.4s ease-in-out;
    font-size: 0.7rem;
    border: none;
}

.register__container form button:hover {
    background-color: rgb(255, 51, 15);
}

/*CHECKBOX */
.register__form-checkbox {
    display: block;
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: min(70%, 30rem);
}

/* Hide the browser's default checkbox */
.register__form-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: -0.1rem;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: var(--main_white);
    scale: 0.6;
}

/* On mouse-over, add a grey background color */
.register__form-checkbox:hover input ~ .checkmark {
    background-color: var(--main_white);
}

/* When the checkbox is checked, add a blue background */
.register__form-checkbox input:checked ~ .checkmark {
    background-color: var(--main_black);
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.register__form-checkbox input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.register__form-checkbox .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.register__soldOut {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main_darkBlue);
    color: white;
    width: 50%;
    padding: 1rem;
}

.register__soldOut p {
    font-weight: 600;
    text-align: center;
    font-size: 1.25rem;
}

/*LOADER*/
#loader {
    width: 3.5rem;
    height: 3.5rem;
    border: 0.4rem solid var(--main_orange);
    border-radius: 50%;
    border-top: 0.4rem solid var(--main_white);
    border-bottom: 0.4rem solid var(--main_white);
    animation: spin 1s linear infinite;
    margin: 0;
    display: none;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@media only screen and (max-width: 1600px) {

    .register__container form {
        gap: 0.5rem;
    }

    .register__container form input:not([type="checkbox"]), .register__container form select {
        height: 2.5rem;
    }

    .register__container form button {
        margin-top: 0;
    }
}

@media only screen and (max-width: 1124px) {
    .formImg {
        width: 80%;
    }

    .register__container form {
        gap: 0.5rem;
        padding: 3rem;
    }

    .register__container form input:not([type="checkbox"]), .register__container form select {
        width: 100%;
    }

    .register__container form button {
        margin-top: 0;
    }

    .test::after {
        background-color: transparent;
    }

    .register__form-checkbox {
        width: 95%;
    }
}

@media only screen and (max-width: 867px) {

    .register__container form {
        padding: 2rem;
    }

    .register__container form button {
        margin-top: 0;
    }
}

@media only screen and (max-width: 667px) {

    .register__container {
        flex-direction: column;
    }

    .register__img {
        width: 100%;
        aspect-ratio: 4/3;
    }


    .register__img img {
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%;
    }

    .formImg {
        width: 70%;
    }

    .register__container form {
        width: 100%;
        padding: 4rem 2rem;
    }

    .register__form-checkbox-container {
        margin-bottom: 1rem;
    }

    .register__soldOut {
        min-height: 5vh;
        padding: 3rem;
        width: 100%;
    }
}

/*ERRORS */
.error__display {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.error__display p {
    background: #ffcacf;
    color: #be1332;
    padding: 1rem 2rem;
    font-size: 0.7rem;
    font-weight: 500;
    border: 1px solid #be1332;
}

