/*!
Theme Name: CP Group Aus
Theme URI: https://github.com/jivemedia/cp-group-aus
Author: Jive Media Solutions
Author URI: https://www.jivemedia.solutions
Description: Custom made WordPress theme for CP Group Australia.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: cp-group-aus
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

CP Group Aus is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Box Sizing
	- Helper Classes
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
    - Page Setup
# Components
    - Site Header
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
	- Home page Call to Action
	- Site Footer
# External Components
    - Hamburgers
    - mmenu
	- Swiper
# Plugins
	- Gravity Forms
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Box Sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
}

/* Helper Classes
--------------------------------------------- */
/* Inline Block Reset */
.inline-block-reset {
    font-size: 0;
    line-height: 0;
    white-space: nowrap;
}

.inline-block-reset > * {
    font-size: 1rem;
    line-height: 1.5;
    white-space: normal;
}

.hide {
    display: none !important;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
    color: #4b4b4b;
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
}

p {
    margin: 1.5rem 0;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5rem;
}

address {
    margin: 0 0 1.5rem;
}

pre {
    background: #eee;
    font-family: "Courier 10 Pitch", courier, monospace;
    line-height: 1.5;
    margin-bottom: 1.5rem;
    max-width: 100%;
    overflow: auto;
    padding: 1.5rem;
}

code,
kbd,
tt,
var {
    font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    background: #fff9c0;
    text-decoration: none;
}

big {
    font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
    background: #fff;
    margin: 0 !important;
}

hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin-bottom: 1.5rem;
}

ul,
ol {
    margin: 0;
    padding: 0 0 0 1.5rem;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li > ul,
li > ol {
    margin-bottom: 0;
    margin-left: 1.5rem;
}

dt {
    font-weight: 700;
}

dd {
    margin: 0 1.5rem 1.5rem;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
    max-width: 100%;
}

img {
    display: block;
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
}

figure {
    margin: 1rem 0;
}

svg:not(:root) {
    overflow: hidden;
}

table {
    margin: 0 0 1.5rem;
    width: 100%;
}

/* Links
--------------------------------------------- */
a {
    color: #3867af;
    text-decoration: none;
}

a:visited {
    color: #3867af;
}

a:hover {
    text-decoration: underline;
}

a:hover,
a:focus,
a:active {
    color: #5ca465;
}

a:focus {
    outline: thin dotted;
}

a:hover,
a:active {
    outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    background: #3767af;
    border: none;
    border-radius: 28px;
    box-shadow: none;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5rem;
    margin: 0;
    overflow-wrap: break-word;
    padding: 0.75rem 1.5rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    background-color: #222;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
    border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
    border: 2px solid #ddd;
    border-radius: 4px;
    color: #666;
    padding: 0.25rem 0.5rem;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
    color: #111;
}

select {
    border: 1px solid #ccc;
}

textarea {
    width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/* Page Setup
--------------------------------------------- */
#page {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

body.logged-in #page {
    padding-top: 2.875rem; /* Offset WordPress Admin Bar */
}

.site-content {
    display: flex;
    flex: 1 0 auto;
    flex-direction: row;
}

.site-main {
    width: 100%;
}

@media (min-width: 48rem) {
    #secondary.widget-area {
        width: 25%;
    }
}

@media (min-width: 48.875rem) {
    body.logged-in #page {
        padding-top: 2rem;
    }

    body.customize-partial-edit-shortcuts-shown #page {
        padding-top: 0;
    }
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Site Header
--------------------------------------------- */
.site-header {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-shrink: 0;
    padding: 1rem 0;
}

.site-header > .wrap {
    align-items: inherit;
    display: flex;
    flex-direction: inherit;
}

.site-header .site-logo {
    position: relative;
    width: 8rem;
}

.site-header .site-logo canvas {
    box-sizing: border-box;
    display: block;
    visibility: hidden;
    width: 100%;
}

.site-header .site-logo svg {
    -webkit-filter: drop-shadow(2px 2px 8px rgba(255, 255, 255, .9));
    filter: drop-shadow(2px 2px 8px rgba(255, 255, 255, .9));
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.site-header .site-logo a,
.site-header .site-logo svg {
    display: block;
}

.site-header .site-logo img {
    vertical-align: bottom;
}

@media (min-width: 64rem) {
    .site-header .site-logo {
        width: 9rem;
    }
}

/* Navigation
--------------------------------------------- */
.main-navigation {
    margin-left: auto;
}

.menu-header-menu-container {
    display: none;
}

.main-navigation .menu-header-container {
    display: none;
}

.main-navigation .menu {
    margin: 0;
}

.main-navigation .menu li.menu-item {
    display: inline-block;
    position: relative;
}

.main-navigation .menu li.menu-item a {
    color: #bbbbbb;
    display: inline-block;
    font-size: 1rem;
    margin-left: 1rem;
    margin-right: 1rem;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
    transition: .4s;
    vertical-align: bottom;
}

.main-navigation .menu > li.menu-item > a {
    font-weight: 600;
    position: relative;
}

.main-navigation .menu li.current-menu-item > a {
    color: #282828;
}

.main-navigation .menu > li.menu-item > a:hover,
.main-navigation .menu > li.menu-item-has-children:hover > a {
    color: #282828;
    text-decoration: underline;
}

/* Sub Menu */
.main-navigation li.menu-item > ul.sub-menu {
    background-color: #282828;
    border-radius: 0.5rem;
    box-shadow: 0 2px 14px 0 rgba(0, 0, 0, .2);
    display: none;
    left: 0;
    margin: 0;
    opacity: 0;
    padding: 0.5rem 0;
    position: absolute;
    top: calc(100% + 1rem);
    transform: translateY(0.5rem);
    transition: opacity 0.15s linear, transform 0.15s linear, right 0s 0.15s;
    z-index: 999;
}

.main-navigation li.menu-item-has-children:hover > ul.sub-menu,
.main-navigation li.menu-item-has-children:focus > ul.sub-menu {
    display: block;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.15s linear, transform 0.15s linear;
}

.main-navigation li.menu-item > ul.sub-menu::before,
.main-navigation li.menu-item > ul.sub-menu::after {
    bottom: 100%;
    content: "";
    display: block;
    position: absolute;
}

.main-navigation li.menu-item > ul.sub-menu::before {
    height: 1rem;
    left: 0;
    right: 0;
}

.main-navigation li.menu-item > ul.sub-menu::after {
    border: 0.75rem solid transparent;
    border-bottom-color: #282828;
    left: 1.5rem;
}

.main-navigation li.menu-item:hover ul.sub-menu li.menu-item {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    display: block;
    line-height: 2rem;
    min-width: 10rem;
    white-space: nowrap;
}

.main-navigation li.menu-item:hover ul.sub-menu li.menu-item:first-child {
    border-top: 1px solid transparent;
}

.main-navigation li.menu-item:hover ul.sub-menu li.menu-item a {
    color: #fff;
    display: block;
    font-size: 1rem;
    font-weight: 400;
    text-transform: none;
}

.main-navigation li.menu-item:hover ul.sub-menu li.menu-item:hover > a {
    color: #5ca465;
}

@media (min-width: 64rem) {
    .menu-header-menu-container {
        display: block;
    }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
    margin: 0 0 1.5rem;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
    display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    flex: 1 0 50%;
    text-align: end;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
    display: block;
}

.post,
.page {
    margin: 0 0 1.5rem;
}

.updated:not(.published) {
    display: none;
}

.page-content,
.entry-content,
.entry-summary {
    margin: 1.5rem 0 0;
}

.entry-content h2 {
    font-size: 1.5rem;
}

.entry-content h3 {
    font-size: 1.25rem;
}

.entry-content h2,
.entry-content h3 {
    margin: 1.5rem 0;
}

.page-links {
    clear: both;
    margin: 0 0 1.5rem;
}

/* Front Page */
.home .panel-content {
    background: rgb(221, 221, 221);
    background: linear-gradient(180deg, rgba(221, 221, 221, 1) 0%, rgba(255, 255, 255, 1) 100%);
    padding: 2rem 0;
    text-align: center;
}

.home .panel-content h2 {
    margin: 0;
    text-transform: uppercase;
}

.home .panel-content p {
    margin-bottom: 0;
}

/* Blog */
.archive .site-main > .wrap,
.blog .site-main > .wrap,
.single .site-main > .wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.archive .article-wrap,
.blog .article-wrap,
.single .article-wrap {
    padding: 2rem 0;
}

.blog .article-wrap .post-thumbnail {
    display: block;
}

.blog .post {
    border-bottom: 1px dotted #bbb;
    padding-bottom: 1rem;
}

.blog .post h2 {
    margin: 1rem 0 0;
}

.blog .post h2 a {
    color: #282828;
}

.blog .entry-meta, .blog .entry-footer {
    font-size: 0.875rem;
}

@media (min-width: 48rem) {
    .archive .article-wrap,
    .blog .article-wrap,
    .single .article-wrap {
        width: 70%;
    }
}

/* Headers */
article.page .entry-header,
.blog .page-header,
.single .page-header,
.page-header {
    background-color: #282828;
    background-image: url("images/page-header-default.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding: 2rem 0;
    position: relative;
    width: 100vw;
}

article.page .entry-header::before,
.blog .page-header::before,
.single .page-header::before,
.page-header::before {
    background-color: transparent;
    background-image: linear-gradient(90deg, #3767af 0%, #60a665 100%);
    content: "";
    height: 100%;
    left: 0;
    opacity: 0.7;
    position: absolute;
    top: 0;
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
    width: 100%;
    z-index: 1;
}

article.page .entry-header h1,
.blog h1.page-title,
.page-header h1 {
    color: #ffffff;
    font-size: 3rem;
    font-weight: 700;
    margin: 0 auto;
    max-width: 73rem;
    padding-left: 1rem;
    padding-right: 1rem;
    position: relative;
    text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.75);
    text-transform: uppercase;
    width: 100%;
    z-index: 2;
}

.single article h1.entry-title {
    font-size: 1.5rem;
    margin: 1rem 0;
}

#secondary h2.widget-title {
    font-size: 1.25rem;
    margin: 2rem 0;
    text-transform: uppercase;
}

.page .entry-content h2::after,
.page .entry-content h3::after,
#secondary h2.widget-title::after {
    background: linear-gradient(to right, #406db1, #5fa163);
    content: "";
    display: block;
    height: 4px;
    margin-top: 0.25rem;
    width: 4rem;
}

.page .entry-content .wp-block-column > h2:first-of-type {
    margin-top: 0;
}

@media (min-width: 64rem) {
    article.page .entry-header,
    .blog .page-header,
    .page-header {
        line-height: 8.5rem;
        min-height: 200px;
    }
}

/* Comments
--------------------------------------------- */
.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
    margin: 0 0 1.5rem;
}

.widget select {
    max-width: 100%;
}

/* Recent Posts/Projects Widget */
.widget_recent_entries ul,
.widget_recent_projects ul {
    list-style: none;
    margin: 0 0 0 1.5rem;
    padding: 0;
}

.widget_recent_entries ul li,
.widget_recent_projects ul li {
    margin-bottom: 1rem;
    position: relative;
}

.widget_recent_entries ul li svg,
.widget_recent_projects ul li svg {
    color: #3867af;
    left: -1.5rem;
    position: absolute;
    top: 0.25rem;
}

.widget_recent_entries li::before,
.widget_recent_projects li::before {
    content: "\f35d";
    display: none;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

/* Contact Us Widget */
.widget_contact_us ul {
    list-style: none;
    padding: 0;
}

.widget_contact_us ul li {
    margin-bottom: 0.5rem;
}

.widget_contact_us a:visited {
    color: inherit;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
    display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
    margin-bottom: 1.5rem;
    max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    margin: 0.875rem 0;
}

.wp-caption-text {
    text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
    display: grid;
    grid-gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    width: 100%;
}

.gallery-columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
    grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
    grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
    grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
    grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
    display: block;
}

/* Home page Call to Action
--------------------------------------------- */
.front-page-cta-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    margin: 0;
    padding: 0 0 1rem;
}

.front-page-cta-wrapper li {
    flex-direction: row;
    margin-bottom: 1rem;
    min-height: 13.5rem;
    position: relative;
    text-align: center;
    width: 100%;
}

.front-page-cta-wrapper li a {
    display: block;
}

.front-page-cta-wrapper li a .cta-title {
    background: rgba(0, 0, 0, 0.5);
    bottom: 0;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0;
    padding: 1rem;
    position: absolute;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    text-transform: uppercase;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    width: 100%;
}

.front-page-cta-wrapper li:hover a .cta-title {
    background: rgba(0, 0, 0, 0.75);

}

.front-page-cta-wrapper li a .cta-image {
    display: block;
    vertical-align: bottom;
}

@media (min-width: 40rem) {
    .front-page-cta-wrapper li {
        width: calc(50% - 1rem);
    }
}

@media (min-width: 62rem) {
    .front-page-cta-wrapper li {
        min-height: 13.75rem;
        /*width: calc(33.3333333% - 1rem);*/
    }
}

/* Site Footer
--------------------------------------------- */
.site-footer {
    color: #fff;
    flex-shrink: 0;
}

.site-footer a {
    color: #fff;
}

/* Pre-footer */
.site-footer .pre-footer {
    background-position: center;
    background-size: cover;
    padding: 2rem 0;
    position: relative;
}

.site-footer .pre-footer::after {
    background-color: rgba(55, 103, 175, 1);
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
}

.site-footer .pre-footer > .wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.site-footer .pre-footer > .wrap > div {
    position: relative;
    z-index: 1;
}

.site-footer .pre-footer .widget-content > h2 {
    margin: 0.5rem 0;
    text-transform: uppercase;
}

.site-footer .pre-footer .widget_contact_us .address,
.site-footer .pre-footer .widget_contact_us .license_number {
    display: none;
}

@media (min-width: 64rem) {
    .site-footer .pre-footer::after {
        background-color: rgba(55, 103, 175, 0.95);
    }

    .site-footer .pre-footer > .wrap > div {
        width: calc(50% - 2rem);
    }
}

/* Footer Widgets */
.site-footer .footer-widgets-wrapper {
    background: rgb(40, 40, 40);
    background: linear-gradient(180deg, rgba(40, 40, 40, 0.5) -100%, rgba(0, 0, 0, 1) 100%);
}

.site-footer .widget-area {
    display: flex;
    margin: 0 -1rem;
    padding: 0;
}

.site-footer .footer-widgets {
    flex: 1;
    padding-left: 1rem;
    padding-right: 1rem;
}

.site-footer .footer-widgets * {
    font-size: 0.875rem;
    line-height: 1.5rem;
}

.site-footer .footer-widgets:not(:last-child) {
    display: none;
}

.site-footer .footer-widgets h2.widget-title {
    color: #bbbbbb;
    font-size: 1rem;
    font-weight: 700;
    margin: 1.5rem 0 0;
    text-transform: uppercase;
}

.site-footer .footer-widgets a:hover {
    color: #5ca465
}

.site-footer .footer-widgets .menu {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
}

.site-footer .footer-widgets .widget_contact_us li {
    margin: 0;
}

.site-footer .footer-widgets .widget_contact_us .license_number {
    display: none;
}

@media (min-width: 48rem) {
    .site-footer .widget-area {
        padding: 1rem 0;
    }

    .site-footer .footer-widgets:not(:last-child) {
        display: block;
    }
}

/* Footer Credits */
.site-footer .footer-credits {
    background-color: #000000;
}

.site-footer .footer-credits .wrap {
    display: flex;
    flex-direction: column;
}

.site-footer .footer-credits p {
    flex: 1;
    font-size: 0.875rem;
    line-height: 1.5rem;
    margin: 0 -1rem;
    padding: 0 1rem;
}

.site-footer .footer-credits p.footer-developer-credit {
    padding-bottom: 1rem;
}

@media (min-width: 48rem) {
    .site-footer .footer-credits .wrap {
        flex-direction: row;
    }

    .site-footer .footer-credits p {
        padding: 1rem;
    }

    .site-footer .footer-credits p.footer-developer-credit {
        text-align: right;
    }
}

/*--------------------------------------------------------------
# External Components
--------------------------------------------------------------*/

/* Hamburgers
--------------------------------------------- */
#hamburger-menu {
    border-radius: unset !important;
    outline: none;
    padding: 0 !important;
}

#hamburger-menu:active,
#hamburger-menu:focus {
    border: none !important;
}

#hamburger-menu:hover {
    background: none !important;
}

#hamburger-menu .hamburger-box {
    vertical-align: bottom;
}

#hamburger-menu .hamburger-inner,
#hamburger-menu .hamburger-inner:after,
#hamburger-menu .hamburger-inner:before {
    background-color: #404040 !important;
}

@media (min-width: 64rem) {
    #hamburger-menu {
        display: none;
    }
}

/* mmenu
--------------------------------------------- */
.mm-wrapper__blocker {
    cursor: pointer;
}

.mm-menu {
    background-color: #0070a0;
    --mm-color-background: #0070a0;
    --mm-color-border: rgba(255, 255, 255, 0.3);
}

.mm-menu a {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
}

.mm-menu .menu-header-container {
    min-height: 100vh;
}

/* Swiper
--------------------------------------------- */
.swiper-container {
    background-color: #282828;
    box-shadow: 0 0 15px rgba(0, 0, 0, .2);
    cursor: pointer;
    min-width: 100%;
    width: 0;
}

.swiper-container svg {
    -webkit-filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.5));
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.5));
    vertical-align: bottom;
}

.swiper-container svg:hover {
    color: #e5e5e5;
}

.swiper-container .swiper-wrapper {
    list-style: none;
    margin: 0;
    padding: 0;
}

.swiper-container .swiper-slide {
    opacity: 0; /* Prevent text overlay on load */
}

.swiper-container .swiper-img {
    -webkit-align-items: flex-end;
    align-items: flex-end;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-box-align: end;
    -webkit-box-pack: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-align: end;
    -ms-flex-pack: end;
    height: 0;
    -webkit-justify-content: center;
    justify-content: center;
    padding-top: 56.25%;
    position: relative;
    width: 100%;
}

.swiper-container .swiper-content {
    background: rgba(0, 0, 0, 0.6);
    padding: 2rem;
    position: relative;
    text-align: center;
    width: 100%;
}

.swiper-container .entry-title {
    color: #fff;
    display: block;
    font-size: 2rem;
    font-weight: bold;
    line-height: 3rem;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    width: 100%;
}

.swiper-container .entry-caption {
    color: #ffffff;
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: normal;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    width: 100%;
}

.swiper-container .swiper-nav {
    bottom: calc(50% - 1rem);
    color: #fff;
    cursor: pointer;
    line-height: 2rem;
    opacity: 0;
    position: absolute;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    z-index: 999;
}

.swiper-container:hover .swiper-nav {
    opacity: 1;
}

.swiper-container .swiper-next {
    right: 2rem;
}

.swiper-container .swiper-prev {
    left: 2rem;
}

.swiper-pagination-bullet-active {
    background-color: #fff !important;
}

@media (min-width: 71rem) {
    .swiper-container .swiper-img {
        height: 40rem;
        padding-top: 0;
    }
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Gravity Forms
--------------------------------------------- */
.gform_wrapper .gform_heading {
    margin-bottom: 1rem;
}

.gform_wrapper h3.gform_title {
    font-size: 1.5rem;
    margin: 0 0 0.5rem;
    padding-bottom: 0.5rem;
    text-transform: uppercase;
}

.gform_wrapper ul.gform_fields {
    list-style: none !important;
    margin: 0 !important;
    padding: 0;
}

.gform_wrapper ul.gform_fields,
.gform_wrapper .ginput_complex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.gform_wrapper .gfield.hidden_label label.gfield_label {
    display: none;
}

.gform_wrapper .gfield_label {
    color: #393531;
    display: block;
    font-size: 1rem;
}

.gform_wrapper .ginput_container_select:after {
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid darkgray;
    content: "";
    height: 0;
    margin-top: -3px;
    pointer-events: none;
    position: absolute;
    right: 1rem;
    top: 50%;
    width: 0;
    z-index: 1;
}

.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="text"],
.gform_wrapper select,
.gform_wrapper textarea {
    border: 2px solid #ddd;
    border-radius: 4px;
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.875rem;
    line-height: 1.5rem;
    margin: 0;
    padding: 0.25rem 0.5rem;
    width: 100%;
}

.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="text"],
.gform_wrapper input[type="submit"],
.gform_wrapper select,
.gform_wrapper textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
}

.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper input:hover,
.gform_wrapper textarea:hover,
.gform_wrapper input:focus,
.gform_wrapper textarea:focus {
    -webkit-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out;
}

.gform_wrapper select {
    background-color: white;
    color: darkgray;
}

.gform_wrapper textarea {
    max-height: 120px;
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus {
    border-color: #5ca465;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.0125), 0 0 8px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.0125), 0 0 8px rgba(0, 0, 0, 0.1);
    outline: none;
}

.gform_wrapper .gfield {
    margin: 0.5rem 0;
    position: relative;
    width: 100%;
}

.gform_wrapper .gfield.gf_left_half,
.gform_wrapper .gfield.gf_right_half,
.gform_wrapper .ginput_complex > span {
    width: 100%;
}

.gform_wrapper .ginput_complex > span:first-of-type {
    margin-bottom: 1rem;
}

.gform_wrapper .gform_button {
    background-color: #5ca465;
    margin: 0.5rem 0;
}

.gform_wrapper .gform_confirmation_message {
    font-weight: 500;
}

.gform_wrapper .gfield_description.validation_message {
    color: #bbb;
    font-size: 0.875rem;
    font-weight: 600;
}

@media (min-width: 31.625rem) {
    .gform_wrapper .gfield.gf_left_half,
    .gform_wrapper .gfield.gf_right_half,
    .gform_wrapper .ginput_complex > span {
        width: calc(50% - 1rem);
    }

    .gform_wrapper .ginput_complex > span:first-of-type {
        margin-bottom: 0;
    }
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
    outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

    /*rtl:ignore*/
    float: left;

    /*rtl:ignore*/
    margin-bottom: 1.5rem;
    margin-right: 1.5rem;
}

.alignright {

    /*rtl:ignore*/
    float: right;

    /*rtl:ignore*/
    margin-bottom: 1.5rem;
    margin-left: 1.5rem;
}

.aligncenter {
    clear: both;
    display: block;
    margin-bottom: 1.5rem;
    margin-left: auto;
    margin-right: auto;
}

/* Layout Wrapper */
.wrap {
    margin: 0 auto;
    max-width: 75rem;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    position: relative;
    width: 100%;
}

@media (min-width: 48rem) {
    .wrap {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
}

/* Overrides
--------------------------------------------- */
.fa-ul {
    margin: 0 0 0 1.5rem;
}

.wp-block-button__link {
    background: #3767af;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5rem;
    text-transform: uppercase;
}

.wp-block-button__link:hover {
    background-color: #222;
    text-decoration: none;
}

/* Feature Box
--------------------------------------------- */
.box-group {
    padding: 2.25rem;
}

.box-group p:first-of-type {
    margin-top: 0;
}

.box-group p:last-of-type {
    margin-bottom: 0;
}

.box-group ul li {
    margin: 1rem 0;
}

.box-group svg {
    color: #5ca465;
}

#front-page-testimonials {
    background-color: #f5f5f5;
    padding: 2rem 0;
}

#front-page-testimonials .swiper-container {
    background-color: #f5f5f5;
    box-shadow: none !important;
}

#front-page-testimonials blockquote {
    color: #777;
    margin: 0 !important;
}

#front-page-testimonials .swiper-content {
    background: none !important;
    font-style: italic;
    padding: 0;
    position: relative;
    text-align: center;
    width: 100%;
}

#front-page-testimonials .swiper-slide {
    opacity: 1;
}

#front-page-testimonials h2 {
    font-size: 1.25rem;
    margin-top: 0;
    text-align: center;
    text-transform: uppercase;
}

#front-page-testimonials cite {
    font-weight: 600;
}

#front-page-testimonials .swiper-pagination {
    padding-top: 1rem;
    position: relative;
}
figcaption
{
  background:#3a69ad;
  font-weight:bold;
  padding:20px;
  color:#fff;
}
