@charset "utf-8";
/* CSS Document */

/* */
.padding-s {
    padding-top: 60px;
    padding-bottom: 60px;
}
.padding-m {
    padding-top: 100px;
    padding-bottom: 100px;
}
.padding-l {
    padding-top: 160px;
    padding-bottom: 160px;
}

.margin-s {
    margin-top: 60px;
    margin-bottom: 60px;
}
.margin-m {
    margin-top: 100px;
    margin-bottom: 100px;
}
.margin-l {
    margin-top: 160px;
    margin-bottom: 160px;
}

/* */
.navigation {
    background: rgba(0, 0, 0, 0.6);

    position: relative;
    z-index: 100;

    width: 100%;
    height: 100%;

    padding: 12px 0;

    transition: background 0.3s linear;
}
    .navigation .logo {
        position: relative;
    }
    .navigation .logo_text {
        line-height: 18px;
    }
        .navigation .logo_text a {
            font-family: "Dancing Script", sans-serif;
            font-weight: 700;
            font-size: 28px;
            color: #fff;
        }
        .navigation .logo_text a:hover {
            color: #fff;
        }
        .navigation .logo_text span {
            display: block;

            font-size: 14px;
            font-weight: 400;
            color: #fff;

            margin-left: 4px;
        }

    .navigation .logo img {
        width: 38px;
        height: auto;
    }

    .navigation ul {
        font-family: "Outfit", sans-serif;

        margin: -8px 0 0;
        padding: 0;

        list-style: none;
    }
    .navigation li {
        margin: 0;
        padding: 0;

        display: inline-block;
    }
        .navigation li.show {
            background: #fff;
            border-radius: 4px;

            color: #353535;
        }
        .navigation li.show a {
            color: #353535;
        }
        .navigation .divider {
            border-left: 1px solid #fff;

            width: auto;
            height: 25px;

            position: relative;
            top: 7px;
        }

    .navigation li a {
        font-size: 16px;
        font-weight: 400;
        color: #fff;
        text-decoration: none;

        margin: 0;
        padding: 8px 20px;

        display: block;

        transition: 0.1s;
    }
        .navigation li a:hover {
            background: #fff;
            border-radius: 4px;

            color: #353535;

            text-decoration: none;

            transition: 0.1s;
        }

    .navigation .dropdown-menu {
        background: #fff;
        border: none;
        border-radius: 4px;

        color: #353535;

        margin: 2px 0 0 0;
        padding: 0;
    }
        .navigation .dropdown-menu ul {
            margin: 0;
            padding: 0;
        }
        .navigation .dropdown-menu li {
            display: block;
        }
        .navigation .dropdown-menu li a {
            color: #353535;

            padding: 12px 20px;
        }
        .navigation .dropdown-menu li:first-child a {
            border-radius: 4px 4px 0 0;
        }
        .navigation .dropdown-menu li:last-child a {
            border-radius: 0 0 4px 4px;
        }
        .navigation .dropdown-menu li a {
            border-radius: 0;
        }
        .navigation .dropdown-menu li a:hover {
            background: #f5f5f5;
            color: #353535;
        }

    /* */
    .navigation.show {
        background: rgba(0, 0, 0, 0.9);

        position: sticky;
        top: -1px;

        transition: top 0.4s, background 0.3s linear;
    }
    .navigation.hide {
        position: sticky;
        top: -160px;

        transition: top 0.4s;
    }

/* */
.background-stripe-01 {
    background: #ffffff;

    position: relative;
    z-index: 20;
}
    .background-stripe-01.change-container-colour .container-01 {
        background: #f5f5f5;
    }
.background-stripe-02 {
    background: #f5f5f5;

    position: relative;
    z-index: 20;
}
    .background-stripe-02.change-container-colour .container-02 {
        background: #fff;
    }
.background-stripe-03 {
    background: #353535;

    color: #fff;

    position: relative;
    z-index: 20;
}

/* */
.background-stripe-img {
    overflow: hidden;

    width: 100%;
    height: auto;

    margin-top: -92px;
    padding-top: 92px;

    color: #fff;

    background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 1)), url("/images/image-stained-glass.webp");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: 100% 1000px;

    position: relative;
    z-index: 20;
}
    .background-stripe-img .background-stripe-margin {
        margin-top: 180px;
        margin-bottom: 180px;
    }
    .background-stripe-img h1 {
        font-size: 72px;
        color: #ffffff;
    }
    .background-stripe-img h2 {
        font-size: 22px;
        font-weight: 500;
        color: #353535;

        margin-top: 30px;
    }

/* */
.container-01 {
    background: #ffffff;
}
.container-02 {
    background: #f5f5f5;
}
.container-03 {
    background: #353535;
}
.container-04 {
    background: #b72961;
}
.container-05 {
    background: #44AC8E;
}
.container-06 {
    background: #c9718d;
}
.container-success {
    background: #d4edda;
    color: #155724;
}
    .container-success a {
        color: #155724;
    }
    .container-success a:hover {
        color: #155724;
    }
.container-alert {
    background: #f8d7da;
    color: #721c24;
}
    .container-alert a {
        color: #721c24;
    }
    .container-alert a:hover {
        color: #721c24;
    }
.container-info {
    background: #cce5ff;
    color: #004085;
}
    .container-info a {
        color: #004085;
    }
    .container-info a:hover {
        color: #004085;
    }

.container-padding-s {
    padding: 20px;
}
.container-padding-m {
    padding: 40px;
}
.container-padding-l {
    padding: 60px;
}

.container-shadow {
    box-shadow: 0 3px 6px #e9e9e9 !important;
}
.container-border {
    border: 1px solid #eaedf2;
}
.container-rounded {
    border-radius: 12px;
}
.container-circle {
    border-radius: 50%;

    display: block;
}
    .container-circle.small {
        width: 35px;
    	height: 35px;
    	line-height: 35px;
    }
    .container-circle.medium {
        width: 65px;
    	height: 65px;
    	line-height: 65px;
    }
    .container-circle.large {
        width: 95px;
    	height: 95px;
    	line-height: 95px;
    }
    .container-circle.color-01 {
        background: #f8d7da;
        color: #721c24;
    }
    .container-circle.color-02 {
        background: #cce5ff;
        color: #004085;
    }
    .container-circle.color-03 {
        background: #d4edda;
        color: #155724;
    }
    .container-circle.color-04 {
        background: #fff3cd;
        color: #856404;
    }
    .container-circle.color-05 {
        background: #d1ecf1;
        color: #0c5460;
    }
.container-reviews {
    position: relative;
}
    .container-reviews::before {
        font-family: "Font Awesome 5 Free";
        font-size: 32px;
        font-weight: 900;
        color: #353535;
        content: "\f10d";

        position: absolute;
        top: 0;
        left: 15px;
    }
    .container-reviews::after {
        font-family: "Font Awesome 5 Free";
        font-size: 32px;
        font-weight: 900;
        color: #353535;
        content: "\f10e";

        position: absolute;
        bottom: 0;
        right: 15px;
    }

    /* */
    .filter-panel {
        background: #fff;

        position: fixed;
        top: 0px;
        left: -999px;

        z-index: 10005;

        transition: left 0.4s;
    }
    .filter-panel .filter-panel-content {
        height: calc(100vh - 105px);

        overflow-y: scroll;
        overflow-x: hidden;
    }
        .filter-panel .filter-panel-content.small {
            width: 400px;
            padding: 20px 28px;
        }
        .filter-panel .filter-panel-content.large {
            width: 500px;
            padding: 20px 10px;
        }
    .filter-panel .filter-panel-btn-close {
        position: absolute;

        top: 10px;
        right: -60px;
    }
    .filter-panel .filter-panel-btn-submit {
        background: #fff;
        border-top: 1px solid #dee2e6;

        position: sticky;
        right: 0;
        bottom: 0;

        display: flex;
        align-items: center;
        justify-content: center;

        padding: 20px 15px;

        width: 100%;
        height: auto;
    }
    .filter-panel.open {
        left: 0;

        transition: left 0.4s;
    }

/* */
#alertMessage {
    background: #d4edda;

    font-size: 12px;
    color: #155724;

    padding: 10px 20px;

    position: absolute;
    top: -60px;

    width: 100%;

    transition: top 0.2s;
}
#alertMessage.show {
    top: 0;

    transition: top 0.2s;
}

/* */
.footer-bar {
    background: #353535;

    color: #fff;
    font-size: 16px;

    padding-top: 40px;
    padding-bottom: 20px;
}
    .footer-bar a {
        color: #fff;
        text-decoration: none;

        transition: 0.2s;
    }
        .footer-bar a:hover {
            color: #c9718d;

            transition: 0.2s;
        }

    .footer-bar ul {
        list-style: none;

        padding: 0;
        margin: 0;
    }
        .footer-bar li {
            margin: 0;
            padding: 4px 0;
        }

    .footer-bar hr {
        background-image: none;
        border-top: 1px solid #4a4a4a;

    	width: 100%;

    	margin: 30px 0 15px 0;
    }
