:root {
    --red: #f8475e;
	--red-hover: #ff6e80;
	--orange: #f9b558;
	--orange-hover: #f7d072;
    --orange-hover-rgba: rgba(247, 207, 115, .5);
	--blue: #3b5b9a;
	--blue-hover: #5872a3;
    --white: #ffffff;
    --green: #007000;
	--green-hover: #238823;
    --green-hover-rgba: rgba(35, 136, 35, .5);
}

body {
    font-family: 'Poppins', sans-serif;
}

.text-blue {
	color: var(--blue);
}
.text-orange {
	color: var(--orange);
}
.text-green {
	color: var(--green);
}
.text-red {
	color: var(--red);
}

.link-blue {
	color: var(--blue);
}
.link-blue:hover {
	color: var(--blue-hover);
    text-decoration: underline !important;
}

.link-white {
	color: var(--white);
}
.link-white:hover {
	color: var(--white);
    font-weight: bold;
}

.description {
	font-size: 22px;
}
.lead-in {
	font-size: 1.9rem;
	font-weight: 600;
}

.hidden {
    display: none;
}

.nav-link {
	color: var(--blue);
}
.nav-link:focus, .nav-link:hover {
    color: var(--blue-hover);
}

/* Lists */
.list-inline-item:not(:last-child):after {
	content:'|'; margin:0 10px;
}

.list-inline-item:not(:last-child) {
	margin-right: 0; 
}


/* Navbar */
.navbar-puffin:hover {
    transform: rotate(-5deg) scale(1.1);
}
.navbar-puffin {
    transition: .2s ease-in-out transform;
}

/* Buttons */
.btn-orange {
	background-color: var(--orange);
	border: var(--bs-btn-border-width) solid var(--orange);
}
.btn-orange:hover,.btn-orange:active {
    background-color: var(--orange-hover);
	border: var(--bs-btn-border-width) solid var(--orange-hover);
}

.btn-orange:focus {
    background-color: var(--orange-hover);
    border-color: var(--orange-hover);
    outline: 0;
    box-shadow: 0 0 0 0.25rem var(--orange-hover-rgba);
}

.btn-green {
	background-color: var(--green);
	border: var(--bs-btn-border-width) solid var(--green);
}
.btn-green:hover,.btn-green:active {
    background-color: var(--green-hover);
	border: var(--bs-btn-border-width) solid var(--green-hover);
}

.btn-green:focus {
    background-color: var(--green-hover);
    border-color: var(--green-hover);
    outline: 0;
    box-shadow: 0 0 0 0.25rem var(--green-hover-rgba);
}


/* Carousel */
@media (max-width: 767px) {
    #carousel .carousel-inner .carousel-item > div {
        display: none;
    }
    #carousel .carousel-inner .carousel-item > div:first-child {
        display: block;
    }
}

#carousel .carousel-inner .carousel-item.active,
#carousel .carousel-inner .carousel-item-next,
#carousel .carousel-inner .carousel-item-prev {
    display: flex;
}

/* medium and up screens */
@media (min-width: 768px) {
    
    #carousel .carousel-inner .carousel-item-end.active,
    #carousel .carousel-inner .carousel-item-next {
      transform: translateX(33%);
    }
    
    #carousel .carousel-inner .carousel-item-start.active, 
    #carousel .carousel-inner .carousel-item-prev {
      transform: translateX(-33%);
    }
}

#carousel .carousel-inner .carousel-item-end,
#carousel .carousel-inner .carousel-item-start { 
  transform: translateX(0);
}

img.img-fit {
    object-fit: cover;
    width: 100%;
    padding: 0;
    margin:0;
}



/* Map */
.map-wrapper-full {
    height: calc(100vh - 110px);
}
.map-wrapper-450 {
    height: 450px;
}
.h-100 {
    height: 100% !important;
}

.h-80 {
    height: 80% !important;
}

.h-60 {
    height: 60% !important;
}

.marker {
  background-image: url('../images/puffin.png');
  background-size: cover;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
}

/* Table */
@media only screen and (max-width: 767px) {
    .carousel-inner-guest { 
        height: calc(40vh);
    }
}



/* Calendar */
#btnPrev {
    float: left;
}
#btnNext {
    float: right;
}
#btnPrev, #btnNext {
    background:transparent;
    border:none;
    outline:none;
    cursor:pointer;
    transition:all 0.3s ease;
}
.table-calendar {
    clear:both;
    width:100%;
    border:1px solid rgb(220,220,255);
    border-radius:3px;
    border-collapse:collapse;
    color:#444;
    table-layout: fixed;
}
.table-calendar th.header {
    border: none;
}
.table-calendar thead td {
    border:none;
    color:rgb(40,40,59);
}
.table-calendar td {
    height:48px;
    text-align:center;
    vertical-align:middle;
    border-right:1px solid rgb(220,220,255);
    border-top:1px solid rgb(220,220,255);  
}
.table-calendar td.not-current {
    color:#c0c0c0;
}
.table-calendar td.booked {
    color: #ffffff;
    background-color: var(--red);
}
.table-calendar td.changeover {
    background-color: var(--green);
}
.table-calendar td.normal {
    background-color: var(--white);
}
/*.table-calendar td.today {
    font-weight:700;
    color:rgb(40,40,59);
}*/
.table-calendar td.start-day {
    background-image: linear-gradient(to bottom right, var(--red) 49%, var(--red) 1%, #ffffff 1%, #ffffff 50%);
}
.table-calendar td.end-day {
    background-image: linear-gradient(to top right, var(--red) 49%, var(--red) 1%, #ffffff 1%, #ffffff 50%);
}

/* Gallery */
[data-cropped] img {
    height: 200px;
    object-fit: cover;
    width: 100%;
}

/* Form */
textarea {
    resize: none;
}


/* remove validation icons */
.form-control.is-valid, .was-validated .form-control:valid, 
.form-select.is-valid, .was-validated .form-select:valid {
    background-image: none !important;
    border-color: #ced4da;
    padding-right: 0.75em;
}

.form-check-input.is-valid~.form-check-label, .was-validated .form-check-input:valid~.form-check-label {
    color: black;
}