@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Edu+AU+VIC+WA+NT+Hand:wght@400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap");

/* Start header CSS */

body {
    margin: 0;
    box-sizing: border-box;
    background-color: #eff1f5;
    font-family: Roboto, sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

header {
    display: flex;
    flex-direction: row;
    background-color: white;
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 300;
}

main {
    flex: 1;
}

nav {
    display: flex;
    flex-direction: row;
    margin-left: auto;
}

nav div {
    align-content: center;
}

.main-nav-links a,
.nav-login-register a {
    color: black;
    text-decoration: none;
    border-radius: 25px;
    padding: 0.5rem 1rem;
}

.main-nav-links a:hover,
.nav-login-register a:hover {
    background: #f5f5f5;
}

.nav-login-register {
    padding-left: 1rem;
}

.nav-login-register a:last-child {
    margin-right: 1rem;
    color: white;
    background-color: #2c2c2c;
}

header img {
    height: 2rem;
    align-self: center;
    padding: 8px;
    margin-right: auto;
}

/* End header CSS */

/* Start content CSS */
#banner {
    padding-top: 0;
    position: relative;
    text-align: center;
    color: white;
}

#banner img {
    width: 100%;
    height: 60vh;
    filter: brightness(70%);
}

#banner form {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
}

#search {
    width: 100%;
    padding: 15px;
    font-size: 18px;
    border: none;
    border-radius: 5px;
}

.main-hotels {
    padding: 20px;
}

.title1 {
    color: rgb(78, 75, 75);
}

.main-paragraph {
    font-size: 16px;
    color: gray;
    text-align: left;
    padding-left: 30px;
    margin-bottom: 20px;
}

#hotels {
    text-align: center;
}

.row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.col {
    flex-basis: 48%;
}

#hotels img {
    width: 400px;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#hotels img:hover {
    transform: scale(1.1);
}

#hotel-list {
    max-width: auto;
    margin: auto;
    padding: 20px;
    font-family: "Roboto", sans-serif;
}

.title2 {
    text-align: center;
    margin-bottom: 20px;
    color: rgb(78, 75, 75);
}

.title3 {
    text-align: left;
    color: rgb(78, 75, 75);
    padding-left: 30px;
}

.hotel-details {
    font-size: 16px;
    color: gray;
    text-align: left;
    padding-left: 30px;
    margin-bottom: 20px;
}

.hotel-row {
    display: flex;
    align-items: flex-start;
    /* Aligns items at the start to leave space for the button */
    margin-bottom: 20px;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.hotel-image {
    flex: 0 0 300px;
    /* Fixed width for image */
    margin-right: 15px;
    /* Space between image and text */
}

.hotel-image img {
    max-width: 100%;
    /* Responsive image size */
    border-radius: 5px;
}

.hotel-info {
    flex: 1;
    text-align: left;
    /* Left-aligns the text */
}

.rating {
    flex: 0 0 150px;
    /* Fixed width for ratings section */
    text-align: center;
    /* Center-aligns the ratings */
}

.rating p {
    margin: 5px 0;
    /* Space above and below rating */
    color: rgb(78, 75, 75);
}

.button {
    margin: 10px;
    text-align: left;
}

.button button {
    background-color: black;
    border-radius: 20px;
    margin: 5px;
    /* Space above the button */
    text-align: center;
    /* Align text in the button to the left */
    border: none;
    color: white;
    /* Text color */
    font-weight: bold;
    font-family: "Roboto", sans-serif;
    /* Font family */
    cursor: pointer;
    /* Changes cursor to pointer on hover */
    padding: 10px 20px;
    /* Add padding for better size */
}

.button button:hover {
    background-color: white;
    color: black;
}

.login-page {
    background-image: url("./images/beach.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
}

.login-form-container {
    font-family: Roboto, sans-serif;
    display: grid;
    margin-top: 30px;
    margin-left: 500px;
    margin-right: 500px;
    margin-bottom: 30px;
    background-color: white;
    border-radius: 5%;
}

.welcome {
    font-weight: lighter;
    text-align: center;
    font-size: 20px;
    margin-top: 50px;
}

.login {
    text-align: center;
    font-size: 25px;
}

/* End content CSS */

/* Start footer CSS */

#footer {
    bottom: 0;
    width: 100%;
    height: 2.5rem;
}

.footer-logo img {
    height: 2rem;
    padding: 8px;
}

.social-media-logos img {
    height: 1rem;
    padding: 8px;
}

.footer-container {
    display: flex;
    justify-content: space-evenly;
    background-color: white;
    padding: 15px;
}

.footer-row1,
.footer-row2,
.footer-row3 {
    font-family: Inter, sans-serif;
    font-size: 12px;
    display: flex;
    flex-direction: column;
}

.footer-row1 p,
.footer-row2 p,
.footer-row3 p {
    font-weight: 500;
}

.footer-row1 a,
.footer-row2 a,
.footer-row3 a {
    color: black;
    text-decoration: none;
    font-weight: 300;
}

/* End footer CSS */


/*profile.html*/

.my-profile-body {
    height: 100%;
    margin: 0;
}

.wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.my-profile-section {
    display: flex;
    flex-direction: column;
    min-width: 100%;
    flex: 1 1 auto;
}

.h1-profile {
    font-family: "Roboto", sans-serif;
    font-size: 36px;
    margin: 0;

}

.h3-profile {
    font-family: "Roboto Light", sans-serif;
    font-size: 24px;
    margin: 0.9rem 0 0 0;
}

.profile-settings {
    display: flex;
    flex-direction: column;
    margin: 1rem 0 0 4rem;

}

.container {
    display: flex;
    flex-direction: column;
}

.row-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    gap: 2rem;
    margin: 0 4rem 0 4rem;
}

.col-container {
    flex: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin: 0.5rem 0.5rem 1rem 0;
    padding: 1rem;
    /*min-width: 10%;*/
    max-height: 300px;
}

.content-text {
    margin: 0 auto 0 1rem;
    display: flex;
    flex-direction: column;

    justify-content: start;
    align-items: start;
}

.image {
    width: 48px;
    height: auto;
    padding-left: 0.4rem;
}

.profile-image {
    width: 1.5rem;
    height: auto;
    padding: 0.2rem;
}

.profile-button {
    border-radius: 100%;
    margin-right: 0.2rem;
}

.border {
    border: black solid 2px;
}

.header-settings {
    font-size: 24px;
    margin: 0 0 1rem 0;
}

.setting-font {
    font-size: 16px;
    margin: 0 0 0.5rem 0;
}

.footer-profile {
    margin-top: 0;
}

@media (max-width: 1024px) {
    .row-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: 0;
        gap: 0;
    }

    .col-container {
        flex: 1;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        margin: 0.5rem 0 0.5rem 0;
        padding: 1rem 0;
        min-width: 100%;
        max-height: 300px;
    }

    .border {
        border: none;
        border-top: 2px solid black;
        border-bottom: 2px solid black;
    }
}

/*End profile.html*/



/*Start planner.html*/

.body-booking-planner {
    height: 100%;
}

.wrapper-planner {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.main-planner {
    flex: 1 1 auto;
}

.background-image-planner {
    background-image: url("./images/swim-pool.jpg");
    height: 16rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: 50% 50%;
}

.search-planner {
    border: 1px solid white;
    background-color: white;
    border-radius: 100px;
    padding: 8px 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 500px;
    margin: 0 auto;
}

.planner-button-search {
    background-color: white;
    border: none;
    margin: 0;
    cursor: pointer;
}

.search-input-planner{
    border: none;
    outline: none;
    width: 100%;
}

.title-planner{
    font-size: 72px;
    font-family: Inter, sans-serif;

    text-align: center;
}

.section-planner{
    background-color: #EFF1F5;
}

.calendar-content-panel {
    display: flex;
    justify-content: center;
    margin: 0 0 2rem 0;
    height: 100%;
}
.place-date-arrival-return {
    text-align: center;
    font-size: 24px;
    margin: 0 0 1rem 0;
}

.arrival-calendar-planner {
    display: flex;
    flex-direction: column;
    width: 380px;
    height: auto;
    padding: 10px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
    margin: 0 1rem 1rem 0;
}

.header-calendar{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
}

.monthYear {
    text-align: center;
    font-weight: 600;
    width: 150px;
}

.monthYearR {
    text-align: center;
    font-weight: 600;
    width: 150px;
}

.choose-return-arrival-date {
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ccc;
    font-size: 16px;
}

.choose-return-arrival-date:focus {
    outline: none;
    border-color: grey;
}

.date-picker{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.header-calendar button {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    width: 40px;
    height: 40px;
    box-shadow: 0 0 4px rgba(0,0,0,0.2);
}

.days{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.day{
    text-align: center;
    padding: 5px;
    color: #999FA6;
    font-weight: 500;
}

.dates {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}

.date {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px;
    margin: auto;
    cursor: pointer;
    font-weight: 600;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    transition: 0.2s;
}

.date:hover,
.date.active {
    background: #ff5869;
    color: #fff;
}

.date.inactive {
    color: #d2d2d2;
}

.date.inactive:hover {
    color: #fff;
}

.return-calendar-planner {
    display: flex;
    flex-direction: column;
    width: 380px;
    height: auto;
    padding: 10px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
    margin: 0 0 1rem 1rem;
}

.daysR{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.dayR{
    text-align: center;
    padding: 5px;
    color: #999FA6;
    font-weight: 500;
}

.datesR {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}

.dateR {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px;
    margin: auto;
    cursor: pointer;
    font-weight: 600;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    transition: 0.2s;
}

.dateR:hover,
.dateR.active {
    background: #ff5869;
    color: #fff;
}

.dateR.inactive {
    color: #d2d2d2;
}

.dateR.inactive:hover {
    color: #fff;
}

.personal-container {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 2rem 0;
}

.personal-information {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;

}

.surname-settings {
    margin: 0 2rem 0 2rem;
}

.info-input {
    min-width: 200px;
    height: 30px;
    border-radius: 3px;
}

.info-input:focus {
    outline: none;
}

#who-you-are {
    height: 30px;
}

.label-settings {
    margin: 0 0 0.5rem 0;
}

.slide-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 0 2rem 0;
    width: 100%;
}

.slider {
    -webkit-appearance: none;
    width: 200px;
    height: 25px;
    background: #d3d3d3;
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
}

.slider:hover {
    opacity: 1;
}

.slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 25px;
    height: 25px;
    background: black;
    cursor: pointer;
    border-radius: 50%;
}

.checkbox-planner {
    display: flex;
    justify-content: center;
    margin: 0 0 2rem 0;
}

.checkbox-settings-planner{
    display: flex;
    flex-direction: row;
    width: 240px;
}

.text-after-label{
    color: #a9a1a1;
}

#vehicle1,
#vehicle2,
#vehicle3 {
    margin: 0 0.5rem 0 0;
}
/*End planner.html*/