:root {
    /* fonts */
    --font-gotham: Montserrat, sans-serif;
    --font-arial: Arial;
    --font-gotham-medium: "Montserrat Medium";
    /* Colours */
    --color-darkturquoise: #47BCC6;
    --color-darkturquoise-rgb: 71, 188, 198;
    --color-darkturquoise-hover: #349DA6;
    --color-darkturquoise-hover-rgb: 52, 157, 166;
    --color-darkslateblue: #22406d;
    --color-darkslateblue-rgb: 34, 64, 109;
    /* Bootstrap Colours */
    --bs-primary: var(--color-darkturquoise);
    --bs-primary-rgb: var(--color-darkturquoise-rgb);
    --bs-link-color: var(--color-darkturquoise);
    --bs-link-color-rgb: var(--color-darkturquoise-rgb);
    --bs-link-hover-color: var(--color-darkturquoise-hover);
    --bs-link-hover-color-rgb: var(--color-darkturquoise-hover-rgb);
    --bs-navbar-color: var(--color-darkturquoise);
    --bs-navbar-hover-color: var(--color-darkturquoise-hover);
    --bs-secondary: var(--color-darkslateblue);
    --bs-secondary-rgb: var(--color-darkslateblue-rgb);
    --bs-light: #f0f0f0;
    --bs-light-rgb: 240, 240, 240;
    --bs-light-bg-subtle: #f9f9f9;
}

body {
    font-family: var(--font-gotham);
    --bs-body-color: #505050
}

/* Header */

header {
    position: relative;
    height: 40vh;
}

@media screen and (min-width: 768px) {
    header {
        height: 55vh;
    }
}

header.HOMEPAGE {
    height: 85vh;
}

.home-banner {
    object-fit: cover;
    background-position-y: 60%;
}

header .navbar > .container-fluid, .menu-icon, .header-icon {
    height: 60px;
}

@media screen and (min-width: 768px) {
    header .navbar > .container-fluid, .menu-icon, .header-icon {
        height: 75px;
    }
}

.blue-header-gradient, .black-header-gradient {
    position: absolute;
    z-index: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.blue-header-gradient {
    opacity: 85%;
    background-image: linear-gradient(153deg, rgba(54, 105, 176, 1) 20%, rgba(71, 188, 198, 1) 70%, rgba(71, 188, 198, 1) 100%);
    filter: saturate(150%);
}

.black-header-gradient {
    opacity: 33%;
    background-image: linear-gradient(61deg, rgba(29, 29, 29, 1) 5%, rgba(255, 255, 255, 0) 75%);
}

/* Offcanvas */

.offcanvas, .offcanvas-lg, .offcanvas-md, .offcanvas-sm, .offcanvas-xl, .offcanvas-xxl {
    --bs-offcanvas-width: 250px
}

    .offcanvas .btn-close {
        --bs-btn-close-bg: none;
        --bs-btn-close-color: var(--color-darkslateblue);
        --bs-btn-close-opacity: 0.9;
        --bs-btn-close-hover-opacity: 0.95;
        height: 1.25em;
        width: 1.25em;
    }

.offcanvas-body .nav-link:focus, .offcanvas-body .nav-link:hover {
    font-weight: 600;
}

/* Background */
.bg-light {
    background-color: #f0f0f0 !important;
}

/* Buttons */
.btn {
    --bs-btn-border-radius: var(--bs-border-radius-xxl);
    text-decoration: none !important;
}

.btn-lg {
    min-width: 180px;
    font-size: 1rem;
    --bs-btn-padding-y: 1rem;
    --bs-btn-padding-x: .5rem;
    --bs-btn-border-width: 3px;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-darkturquoise);
    --bs-btn-border-color: var(--color-darkturquoise);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-darkturquoise-hover);
    --bs-btn-hover-border-color: var(--color-darkturquoise-hover);
    --bs-btn-focus-shadow-rgb: var(--color-darkturquoise-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-darkturquoise-hover);
    --bs-btn-active-border-color: var(--color-darkturquoise-hover);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-darkturquoise);
    --bs-btn-disabled-border-color: var(--color-darkturquoise);
}

.btn-light {
    --bs-btn-color: var(--color-darkturquoise-hover);
    --bs-btn-hover-color: var(--color-darkturquoise-hover);
    --bs-btn-active-color: var(--color-darkturquoise-hover);
    --bs-btn-disabled-color: var(--color-darkturquoise-hover);
}

/* Bx slider */

.bx-wrapper {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* Dots overlay */

.header-dots, .footer-dots {
    position: absolute;
    height: 100%;
    width: 13vw;
    top: 0;
    right: 0;
    overflow: hidden;
}

    .header-dots::after {
        content: '';
        background-image: url(../public/repeat-grid-26.svg);
        align-self: flex-end;
        height: 100%;
        width: 100%;
        opacity: 100%;
        position: absolute;
        z-index: 5;
    }

    .footer-dots::after {
        content: '';
        background-image: url(../public/repeat-grid-25.svg);
        align-self: flex-end;
        height: 100%;
        width: 100%;
        opacity: 100%;
        position: absolute;
        z-index: 5;
    }

.dots {
    position: absolute;
    height: 100%;
    width: 100%;
    align-self: flex-end;
    overflow: hidden;
}

    .dots::after {
        content: '';
        background-image: url(../public/repeat-grid-26.svg);
        align-self: flex-end;
        height: 100%;
        width: 100%;
        opacity: 100%;
        position: absolute;
        z-index: 5;
    }

/* Tables */

table {
    --bs-table-color-type: initial;
    --bs-table-bg-type: initial;
    --bs-table-color-state: initial;
    --bs-table-bg-state: initial;
    --bs-table-color: var(--bs-emphasis-color);
    --bs-table-bg: var(--bs-body-bg);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-emphasis-color);
    --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
    --bs-table-active-color: var(--bs-emphasis-color);
    --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
    --bs-table-hover-color: var(--bs-emphasis-color);
    --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    border-color: var(--bs-table-border-color);
}

    table > tbody {
        vertical-align: inherit;
    }

        table > tbody > tr:nth-of-type(odd) > * {
            --bs-table-color-type: var(--bs-table-striped-color);
            --bs-table-bg-type: var(--bs-table-striped-bg);
        }

    table > :not(caption) > * {
        border-width: var(--bs-border-width) 0;
    }

        table > :not(caption) > * > * {
            padding: .5rem .5rem;
            color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
            background-color: var(--bs-table-bg);
            border-bottom-width: var(--bs-border-width);
            box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
            border-width: 0 var(--bs-border-width);
        }

/* Forms */

.form-control {
    border-radius: 0;
    border: 0;
}

    .form-control::placeholder {
        color: #7f7f7fb0;
    }

.form-control-lg {
    min-height: calc(1.5em + 2rem + calc(var(--bs-border-width) * 2));
}


/* Text */

.subheadingFormat, .subheadingFormat2 {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.25rem;
    font-family: var(--font-gotham);
}

.subheadingFormat {
    color: #47BCC6;
    text-align: center;
    margin-top: 1rem;
}

.text-bg-primary .subheadingFormat {
    color: #fff;
}

.subheadingFormat2 {
    color: #22406d;
    text-align: left;
}

    .subheadingFormat2 a, span.text-white > a {
        color: inherit;
    }

a {
    text-decoration: none;
}

    a:hover {
        text-decoration: underline;
    }

.alert p {
    margin: 0;
}
