﻿
:root {
    /* Fonts */
    --font-heading: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    --font-body: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    /* Type scale */
    --h1-size: clamp(2.25rem, 3vw + 1rem, 3.5rem);
    --h2-size: clamp(1.75rem, 1.6vw + 1rem, 2.25rem);
    --h3-size: clamp(1.35rem, 1vw + 1rem, 1.75rem);
    --base-size: 17px; /* 16–18px is a good range */
    --line: 1.65; /* comfy reading line-height */
    --max-measure: 68ch; /* readable paragraph width */
    /* Colours (adjust if you like) */
    --text: #1f2937;
    --muted: #4b5563;
    --accent: #2E5C4F; /* deep green works nicely with the logo */
    --accent-contrast: #ffffff;
}

/* Body copy */
html {
    font-size: 100%;
}

body {
    font-family: var(--font-body);
    font-size: var(--base-size);
    line-height: var(--line);
    color: var(--text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Global content width (optional but recommended) */
.main-content p,
.main-content ul,
.main-content ol,
.main-content blockquote {
    max-width: var(--max-measure);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--text);
    letter-spacing: -0.01em;
    line-height: 1.25;
    margin-top: 1.4em;
    margin-bottom: 0.5em;
}

h1 {
    font-size: var(--h1-size);
    font-weight: 700;
}

h2 {
    font-size: var(--h2-size);
    font-weight: 700;
}

h3 {
    font-size: var(--h3-size);
    font-weight: 600;
}

/* Paragraphs & small text */
p {
    margin: 0 0 1rem;
    color: var(--text);
}

small, .text-muted {
    color: var(--muted);
}

/* Links */
a {
    color: var(--accent);
    text-decoration: none;
}

    a:hover, a:focus {
        text-decoration: underline;
    }

/* Buttons (e.g., “Book now”) */
.btn,
button,
input[type="submit"] {
    font-family: var(--font-heading);
    font-weight: 600;
}

.btn-primary {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-contrast);
}

    .btn-primary:hover {
        filter: brightness(0.95);
    }

/* Header brand (next to the round logo) */
.site-title {
    font-family: var(--font-heading);
    font-weight: 600;
    letter-spacing: 0.01em;
}

/* Larger hero heading tweak */
.hero h1 {
    font-weight: 800; /* optional: stronger headline */
    margin-bottom: 0.25em;
}

/* Improve long lists of copy */
.main-content li {
    margin-bottom: 0.4rem;
}



.row-eq-height {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.row-full {
    width: 99.6vw;
    position: relative;
    margin-left: -50vw;
    left: 50%;
}
.Middle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate( -50%,-50% );
    text-align: center;
}

.rollover {
    width: 100%;
    height: 100%;
    background: #000000d1
}

.videoContainer {
    position: relative;
    max-height: 900px;
    height: 100%;
    width: 100%;
    overflow: hidden;
}
video {
    object-fit: cover;
}

video {
    width: 100% !important;
    height: auto !important;
}

.pointer {
cursor:pointer
}

.snackbar {
    display: block; /* Hidden by default. Visible on click */
    min-width: 250px; /* Set a default minimum width */
    margin-left: -125px; /* Divide value of min-width by 2 */
    background-color: #333; /* Black background color */
    color: #fff; /* White text color */
    text-align: center; /* Centered text */
    border-radius: 2px; /* Rounded borders */
    padding: 16px; /* Padding */
    position: fixed; /* Sit on top of the screen */
    z-index: 1; /* Add a z-index if needed */
    left: 50%; /* Center the snackbar */
    bottom: 30px; /* 30px from the bottom */
}

    #snackbar.show {
        visibility: visible;
        -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
        animation: fadein 0.5s, fadeout 0.5s 2.5s;
    }

@-webkit-keyframes fadein {
    from {
        bottom: 0;
        opacity: 0;
    }

    to {
        bottom: 30px;
        opacity: 1;
    }
}

@keyframes fadein {
    from {
        bottom: 0;
        opacity: 0;
    }

    to {
        bottom: 30px;
        opacity: 1;
    }
}

@-webkit-keyframes fadeout {
    from {
        bottom: 30px;
        opacity: 1;
    }

    to {
        bottom: 0;
        opacity: 0;
    }
}

@keyframes fadeout {
    from {
        bottom: 30px;
        opacity: 1;
    }

    to {
        bottom: 0;
        opacity: 0;
    }
}


.navbar-nav .nav-link {
    font-family: var(--font-heading);
    font-weight: 600;
}






/*DP Components*/


/*FlipCard*/
/* The flip card container - set the width and height to whatever you want. We have added the border property to demonstrate that the flip itself goes out of the box on hover (remove perspective if you don't want the 3D effect */
.flip-card {
    background-color: transparent;
    width: 100%;
    height: 400px;
    border: 1px solid #f1f1f1;
    perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

/* This container is needed to position the front and back side */
.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}

/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

/* Position the front and back side */
.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden; /* Safari */
    backface-visibility: hidden;
}

/* Style the front side (fallback if image is missing) */
.flip-card-front {
    background-color: #bbb;
    color: black;
}

/* Style the back side */
.flip-card-back {
    background-color: dodgerblue;
    color: white;
    transform: rotateY(180deg);
}
/*END FlipCard*/

/*Caousel*/
@media (max-width: 767px) {
    .carousel-inner .carousel-item > div {
        display: none;
    }

        .carousel-inner .carousel-item > div:first-child {
            display: block;
        }
}

.carousel-inner .carousel-item.active,
.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev {
    display: flex;
}

/* medium and up screens */
@media (min-width: 768px) {
    #FourItems .carousel-inner .carousel-item-end.active, #FourItems .carousel-inner .carousel-item-next {
        transform: translateX(25%);
    }

    #FourItems .carousel-inner .carousel-item-start.active, #FourItems .carousel-inner .carousel-item-prev {
        transform: translateX(-25%);
    }

    #ThreeItems .carousel-inner .carousel-item-end.active, #ThreeItems .carousel-inner .carousel-item-next {
        transform: translateX(33%);
    }

    #ThreeItems .carousel-inner .carousel-item-start.active, #ThreeItems .carousel-inner .carousel-item-prev {
        transform: translateX(-33%);
    }
    #TwoItems .carousel-inner .carousel-item-end.active, #TwoItems .carousel-inner .carousel-item-next {
        transform: translateX(50%);
    }

    #TwoItems .carousel-inner .carousel-item-start.active, #TwoItems .carousel-inner .carousel-item-prev {
        transform: translateX(-50%);
    }
    #OneItem .carousel-inner .carousel-item-end.active, #OneItem .carousel-inner .carousel-item-next {
        transform: translateX(100%);
    }

    #OneItem .carousel-inner .carousel-item-start.active, #OneItem .carousel-inner .carousel-item-prev {
        transform: translateX(-100%);
    }



}

#FourItems .carousel-inner .carousel-item-end, #FourItems .carousel-inner .carousel-item-start {
    transform: translateX(0);
}
#ThreeItems .carousel-inner .carousel-item-end, #ThreeItems .carousel-inner .carousel-item-start {
    transform: translateX(0);
}
#TwoItems .carousel-inner .carousel-item-end, #TwoItems .carousel-inner .carousel-item-start
 {
    transform: translateX(0);
}
#OneItem .carousel-inner .carousel-item-end, #OneItem .carousel-inner .carousel-item-start {
    transform: translateX(0);
}
/*end Caousel*/



/* The Overlay (background) */
.overlay {
    /* Height & width depends on how you want to reveal the overlay (see JS below) */
    height: 100%;
    width: 0;
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    background-color: rgb(0,0,0); /* Black fallback color */
    background-color: rgba(0,0,0, 0.9); /* Black w/opacity */
    overflow-x: hidden; /* Disable horizontal scroll */
    transition: 0.5s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}

/* Position the content inside the overlay */
.overlay-content {
    position: relative;
    top: 25%; /* 25% from the top */
    width: 100%; /* 100% width */
    text-align: center; /* Centered text/links */
    margin-top: 30px; /* 30px top margin to avoid conflict with the close button on smaller screens */
}

/* The navigation links inside the overlay */
.overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 26px;
    color: #818181;
    display: block; /* Display block instead of inline */
    transition: 0.3s; /* Transition effects on hover (color) */
}

    /* When you mouse over the navigation links, change their color */
    .overlay a:hover, .overlay a:focus {
        color: #f1f1f1;
    }

/* Position the close button (top right corner) */
.overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
}