:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.App{width:100%;height:auto;display:flex;flex-direction:column;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}body{padding:0;margin:0}.navbar{position:absolute;top:0;left:0;width:100%;height:100px;background-color:#b2d4e0;display:flex;flex-direction:row;box-shadow:0 4px 8px #0000001a}.navbar .leftSide{flex:50%;height:100%;display:flex;align-items:center;padding-left:80px}.navbar .leftSide img{width:70px}.navbar .rightSide{flex:50%;height:100%;display:flex;align-items:center;justify-content:center;padding-left:150px;padding-right:20px}.navbar a{color:#425d67;text-decoration:none;margin:20px;font-size:1.1rem}.navbar a:hover{transition:all .3s ease-in-out;color:#1aa7d5}.navbar .rightSide button{background-color:transparent;border:none;color:#425e68;cursor:pointer}.navbar .rightSide svg{font-size:40px}.navbar #open{padding-left:0}.navbar #open img{display:none}.navbar #close img{display:inherit}.navbar #open .hiddenLinks{display:inherit;margin-left:30px}.navbar #close .hiddenLinks{display:none}.navbar #open a{width:70px;margin:5px}@media only screen and (max-width: 900px){.navbar .rightSide a{width:70px}.navbar .leftSide{padding-left:50px}}@media only screen and (max-width: 600px){.navbar .rightSide a{display:none}.navbar .rightSide{justify-content:flex-end;padding-right:50px}.navbar .rightSide button{display:inherit}}@media only screen and (min-width: 600px){.navbar .rightSide button,.hiddenLinks{display:none}}.footer{width:100%;background-color:#b2d4e0;display:flex;flex-direction:column;align-items:center;padding:20px 0}.footer-top{width:80%;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:5px}.footer-logo img{padding-top:110px;padding-left:30px;height:60px;width:auto}.footer-columns{display:flex;gap:40px}.footer-column{min-width:150px}.footer-column h3{color:#425d67;margin-bottom:10px;font-size:1rem;padding-bottom:5px;font-weight:600}.footer-column p{margin:8px 0;color:#425d67;font-size:.9rem}.footer-column span{font-size:.8rem;opacity:.8}.service-link{display:flex;align-items:center;margin:8px 0}.service-link svg{font-size:1.1rem;color:#425d67;margin-right:8px}.service-link a{color:#425e68;text-decoration:none;font-size:.9rem}.service-link a:hover{transition:all .3s ease-in-out;color:#1aa7d5}.socials{display:flex;flex-direction:column;gap:8px}.socials a{color:#425d67;display:flex;align-items:center}.socials svg{font-size:1.3rem}.socials a:hover{transition:all .3s ease-in-out;color:#1aa7d5}.footer-divider{width:80%;height:.8px;background-color:#425d67;margin:15px 0}.footer-bottom{display:flex;justify-content:space-between;width:80%}.footer-bottom p{margin:3px 0;color:#425d67;font-size:.9rem}@media only screen and (max-width: 768px){.footer-top{flex-direction:column;align-items:center;text-align:center}.footer-logo{margin-bottom:20px}.footer-columns{flex-direction:column;gap:25px;align-items:center}.footer-column{align-items:center;text-align:center}.service-link{justify-content:center}.socials{align-items:center}}.home{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;background-position:center;background-repeat:no-repeat;background-size:cover;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;margin:0;padding:0}.headerContainer p{padding:0;font-size:40px;font-weight:lighter;color:#000}.headerContainer button{color:#000;border:none;border-radius:5px;cursor:pointer;justify-content:center;background-color:#121619;height:50px;width:180px;color:#fff;text-decoration:none;font-size:20px}.headerContainer button:hover{background-color:#07090a;cursor:pointer;transition:.3s ease-in}@media only screen and (max-width: 650px){.home{justify-content:center;align-items:center}.headerContainer{margin-left:0;border-radius:10px;padding:10px;width:80%;display:flex;justify-content:center;align-items:center;flex-direction:column;background-color:#121619;color:#fff}.headerContainer h1{font-size:40px;height:30px;color:#fff}.headerContainer p{font-size:30px;color:#fff}.headerContainer button{background-color:#fff;color:#121619;margin-bottom:30px}.headerContainer button:hover{background-color:#e1e1e1;color:#121619}}.calendar{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;background-position:center;background-repeat:no-repeat;background-size:cover;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;margin:0;padding:0}.calendar .headerContainer{display:flex;flex-direction:column;justify-content:space-between;align-items:center}.googleLogo{margin-right:10px}.headerContainer p{font-size:1.5rem;margin-bottom:10px;margin-top:0%}.calendar .headerContainer .googleSignInButton{top:5px;right:10px;width:fit-content;margin-bottom:20px;background-color:#b2d4e0;color:#425e68}.calendarContainer{display:flex;justify-content:center;align-items:center;width:400px;height:400px;background-color:#b2d4e0;border-radius:20px;box-shadow:0 4px 15px #00000080}.react-calendar{width:100%;height:100%;align-items:center;border:none;background:transparent;color:#425e68;font-size:1rem;border-radius:15px}.react-calendar__tile{background-color:#425e68}.react-calendar__tile--now{background-color:#c1e1c1;color:#000}.react-calendar__navigation{background:#425e68;align-items:center;display:flex;justify-content:center;flex-direction:row;border-radius:10px;margin-bottom:10px}.react-calendar__navigation__label{color:#fff;background-color:#425e68;font-weight:700;flex-grow:0}.react-calendar__navigation__arrow{background-color:#425e68;color:#fff;border-radius:8px;padding:5px 10px;border:none}.react-calendar__navigation__arrow:hover{background-color:#c1e1c1;color:#000}.react-calendar__month-view__weekdays{text-align:center;display:flex;justify-content:space-around;font-weight:700;margin-bottom:10px}.calendarBody{display:flex;gap:20px}.eventForm{display:flex;flex-direction:column;align-items:center;background-color:#b2d4e0;padding:20px;border-radius:10px;width:300px;box-shadow:0 4px 10px #00000080}.eventForm input,.eventForm textarea{width:90%;height:30px;margin-bottom:10px;padding:10px;border:2px solid #425e68;border-radius:5px;background-color:#fff;color:#333;font-size:1rem}.timePickerContainer{align-items:center;display:flex;flex-direction:row;align-items:flex-start;margin-bottom:0;width:100%;border-radius:5px}.timePickerContainer input{height:20px;width:90%}.timePickerContainer .startTime{margin-right:40px}.timePickerContainer label{font-weight:700;font-size:.85rem;color:#425e68}.colorPickerContainer{display:flex;flex-direction:row;align-items:center;width:100%;border-radius:5px}.colorPickerContainer .colorButton{background-color:transparent}.colorPickerContainer svg{font-size:50px}.colorPickerContainer label{font-size:.95rem;font-weight:700;color:#425e68;margin-bottom:10px;margin-right:20px;margin-left:20px}.eventForm button{background-color:#425e68;color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer}.eventForm .cancelButton{margin-top:10px;background:none;border:none;color:#425e68}.eventForm .cancelButton:hover{text-decoration:underline}.eventsList{height:380px;max-height:380px;overflow-y:auto;background-color:#b2d4e0;padding:15px;border-radius:10px;width:300px;box-shadow:0 4px 10px #00000080}.eventsList .eventsHeader{display:flex;justify-content:space-between;align-items:center}.eventsList .eventsHeader .clearAllButton{background-color:#425e68;color:#fff;border:none;padding:5px 10px;cursor:pointer;font-size:14px}.eventsList .eventsHeader .clearAllButton:hover{background-color:#7698a4}.eventsList h2{color:#425e68}.eventsList::-webkit-scrollbar{width:8px}.eventsList::-webkit-scrollbar-thumb{background-color:#fff;border-radius:10px}.eventsList::-webkit-scrollbar-track{background-color:#ddd;border-radius:10px}.eventsList .eventItem{padding:10px;border-radius:5px;margin-bottom:10px;color:#fff;position:relative}.eventsList .eventItem .deleteButton{position:absolute;top:5px;right:15px;background:transparent;color:#fff;border:none;border-radius:50%;width:25px;height:25px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;padding:0}.eventsList .eventItem .deleteButton:hover{text-decoration:underline}.selectedRange{background-color:#ffee8c!important;color:#000!important}.shareImportButtonsContainer{display:flex;align-items:center;justify-content:space-between;gap:10px}.shareImportButtonsContainer button{background-color:#425e68;color:#fff;border:none;padding:5px 10px;cursor:pointer;font-size:1.75rem;margin-top:10px}.headerContainer .loggedInButtons{align-items:center;display:flex;justify-content:space-between;gap:20px}.loggedInButtons .logoutButton{background-color:#425e68;color:#fff;border:none;padding:5px 10px;cursor:pointer;font-size:1.75rem;margin-top:10px;margin-bottom:10px}.loggedInButtons .addToCalendarButton,.loggedInButtons .importFromCalendarButton{background-color:#b2d4e0;display:flex;flex-direction:row;align-items:center;color:#425e68;border:none;padding:5px 10px;cursor:pointer;font-size:1rem;margin-top:10px;margin-bottom:10px}.hotels{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;background-position:center;background-repeat:no-repeat;background-size:cover;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;margin:0;padding:0;overflow:hidden}.hotel-content{display:flex;flex-direction:column;width:95%;max-width:1200px;background-color:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 8px #0000001a;height:65vh;overflow-y:auto;position:relative;transform:translateY(45px)}.hotel-content-transformed{transform:translateY(33px)}.hotels-list h2{color:#333;margin-bottom:10px;margin-top:0}.hotels-list p{color:#666;margin-bottom:20px}.hotel-results{list-style:none;padding:0;margin:0}.hotel-item{border:1px solid #ddd;border-radius:8px;padding:15px;margin-bottom:15px;background-color:#fff;box-shadow:0 2px 4px #0000000d;width:100%;box-sizing:border-box}.hotel-item:hover{background-color:#f9f9f9}.hotel-item.selected{background-color:#f0f7ff;border-left:6px solid #003366}.hotel-item.selected .hotel-marker{background-color:#036;color:#fff}.hotel-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.hotel-count{font-weight:600;color:#000}.hotel-name-container{display:flex;align-items:center}.hotel-name{margin:0;font-size:18px;color:#333}.hotel-marker{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:40%;border:1.5px solid #003366;color:#036;font-weight:700;margin-right:15px}.hotel-rating-container{text-align:right}.hotel-details{padding-left:42px;display:flex;justify-content:space-between}.hotel-info-main{flex:1;padding-right:20px}.hotel-contact-info{min-width:50%;text-align:right;display:flex;flex-direction:column;justify-content:center}.hotel-address{color:#666;font-size:16px;margin-bottom:10px;transform:translateY(-15px)}.hotel-phone{font-size:15px;margin:0;color:#555;transform:translateY(-25px)}.hotel-phone span{margin-right:5px}.hotel-website{font-size:15px;margin:0;color:#555;transform:translateY(-45px)}.hotel-summary{font-size:16px;color:#666;line-height:1.2;transform:translateY(-22px)}.hotel-summary span{margin-right:5px}.hotel-open{font-size:16px;transform:translateY(-12px)}.hotel-open span{margin-right:5px}.hotel-rating{display:flex;align-items:center;font-size:15px;font-weight:600;color:#333}.hotel-reviews{font-size:15px;margin-left:5px;color:#999;font-weight:400}.hotel-website a{color:#4285f4;text-decoration:none}.hotel-website a:hover{text-decoration:underline;cursor:pointer}@media (min-width: 768px){.hotel-content{flex-direction:column}.map-container{width:100%;height:300px;margin-bottom:20px}.hotels-results-container{width:100%}}.input-wrapper{background-color:#fff;width:100%;border-radius:10px;height:2.5rem;padding:0 15px;box-shadow:0 0 8px #ddd;display:flex;align-items:center}input{background-color:transparent;border:none;height:100%;font-size:1.25rem;width:100%;margin-left:5px;color:#000}input:focus{outline:none}input::placeholder{color:#000;opacity:.4}#search-icon{color:#333;cursor:pointer;opacity:.7}#search-icon:hover{transition:all .3s ease-in-out;color:#000;opacity:1}.flights{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;background-position:center;background-repeat:no-repeat;background-size:cover;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;margin:0;padding:0;overflow:hidden}.flight-content{display:flex;flex-direction:column;width:95%;max-width:1200px;background-color:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 8px #0000001a;height:65vh;overflow-y:auto;position:relative;transform:translateY(45px)}.flight-content-transformed{transform:translateY(33px)}.map-container{width:100%;height:400px;border-radius:8px;margin-bottom:20px;flex-shrink:0}.flight-results{padding-top:0;width:100%;display:flex;flex-direction:column}.flight-results h2{color:#333;margin-bottom:20px;margin-top:0}.flight-item{border:1px solid #ddd;border-radius:8px;padding:15px;margin-bottom:15px;background-color:#fff;box-shadow:0 2px 4px #0000000d;width:100%;box-sizing:border-box}.flight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.flight-header h3{margin:0;color:#2c3e50}.flight-price{font-size:1.5rem;font-weight:700;color:#27ae60}.flight-times{color:#555;line-height:1.4}.loading{padding:10px 20px;background-color:#f8f9fa;border-radius:4px;margin:10px 0;color:#666;text-align:center;transform:translateY(30px)}.error{padding:10px 20px;background-color:#f8d7da;border-radius:4px;margin:10px 0;color:#721c24;text-align:center;transform:translateY(33px)}@media only screen and (max-width: 768px){.flight-content{width:95%;padding:10px;height:65vh}.map-container{height:300px}.headerContainer h1{font-size:60px;height:40px}}.restaurants{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;background-position:center;background-repeat:no-repeat;background-size:cover;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;margin:0;padding:0;overflow:hidden}.headerContainer{width:auto;display:flex;flex-direction:column;align-items:center;text-align:center;margin-left:0}.headerContainer h1{justify-content:center;align-items:center;font-size:90px;height:60px;font-weight:50;color:#000}.search-bar-container{padding-top:5vh;width:40%;margin:5px;display:flex;flex-direction:column;align-items:center;min-width:200px;z-index:10;position:relative;transform:translateY(15px)}.search-bar-top{padding-top:10px;margin-top:10px;width:50%;transform:translateY(32px)}.restaurant-content{display:flex;flex-direction:column;width:95%;max-width:1200px;background-color:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 8px #0000001a;height:65vh;overflow-y:auto;position:relative;transform:translateY(45px)}.restaurant-content-transformed{transform:translateY(33px)}.restaurants-list h2{color:#333;margin-bottom:10px;margin-top:0}.restaurants-list p{color:#666;margin-bottom:20px}.restaurant-results{list-style:none;padding:0;margin:0}.restaurant-item{border:1px solid #ddd;border-radius:8px;padding:15px;margin-bottom:15px;background-color:#fff;box-shadow:0 2px 4px #0000000d;width:100%;box-sizing:border-box}.restaurant-item:hover{background-color:#f9f9f9}.restaurant-item.selected{background-color:#f0f7ff;border-left:6px solid #003366}.restaurant-item.selected .restaurant-marker{background-color:#036;color:#fff}.restaurant-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.restaurant-count{font-weight:600;color:#000}.restaurant-name-container{display:flex;align-items:center}.restaurant-name{margin:0;font-size:18px;color:#333}.restaurant-marker{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:40%;border:1.5px solid #003366;color:#036;font-weight:700;margin-right:15px}.restaurant-rating-container{text-align:right}.restaurant-details{padding-left:42px;display:flex;justify-content:space-between}.restaurant-info-main{flex:1;padding-right:20px}.restaurant-contact-info{min-width:50%;text-align:right;display:flex;flex-direction:column;justify-content:center}.restaurant-address{color:#666;font-size:16px;margin-bottom:10px;transform:translateY(-15px)}.restaurant-phone{font-size:15px;margin:0;color:#555;transform:translateY(-25px)}.restaurant-phone span{margin-right:5px}.restaurant-website{font-size:15px;margin:0;color:#555;transform:translateY(-45px)}.restaurant-summary{font-size:16px;color:#666;line-height:1.2;transform:translateY(-22px)}.restaurant-summary span{margin-right:5px}.restaurant-open{font-size:16px;transform:translateY(-12px)}.info-label{font-style:bold;color:#555}.restaurant-open span{margin-right:5px}.open{color:#4caf50;font-weight:500}.closed{color:#f44336;font-weight:500}.unknown{color:#9e9e9e;font-weight:500}.restaurant-rating{display:flex;align-items:center;font-size:15px;font-weight:600;color:#333}.restaurant-reviews{font-size:15px;margin-left:5px;color:#999;font-weight:400}.restaurant-website a{color:#4285f4;text-decoration:none}.restaurant-website a:hover{text-decoration:underline;cursor:pointer}.instructions,.no-results{display:flex;justify-content:center;align-items:center;padding:20px;background-color:#ffffffe6;border-radius:5px;box-shadow:0 2px 10px #0000001a;position:absolute;top:100px;left:50%;transform:translate(-50%);z-index:100}.no-results{color:#666;font-size:18px;background-color:#fff}.info-window{max-width:250px;padding:5px}.info-window h3{margin:0 0 5px;color:#036}.info-window p{margin:5px 0;font-size:14px}@media (min-width: 768px){.restaurant-content{flex-direction:column}.map-container{width:100%;height:300px;margin-bottom:20px}.restaurants-results-container{width:100%}}
