/*
 Theme Name:   Work Wallet 2025
 Author:       Work Wallet
 Author URI:   https://www.work-wallet.com/
 Version:      1.0.0
*/

/* --------------------
	Global
-------------------- */

:root {
	--yellow: #ffd737;
	--amber: #fffbeb;

	--orange: #fab230;
	--peach: #fff7ed;
	
	--green: #49841d;
	--lime: #f7fee7;

	--teal: #0f766e;
	--mint: #f0fdfa;

	--slate: #5679a5;

	--blue: #1e3a8a;
	--ice: #f0f4fb;
	
	--navy: #111827;
	
	--purple: #581c87;
	--violet: #f3f3ff;

	--grape: #701a75;
	--fuchsia: #fdf4ff;

	--maroon: #881337;
	--rose: #fff1f2;

	--red: #d72626;
	--pink: #fce9f3;

	--black: #000000;
	--grey: #475467;
	--light: #f8f8f8;
	--white: #ffffff;
	--translucent: #00000008;
}

html {
	font-size: 16px;
}

body {
	font-family: 'Montserrat', sans-serif;
	line-height: 1.5;
	color: var(--black);
}

section {
    position: relative;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
	text-wrap-style: pretty;
}

h1, .h1 {
	font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
	h1, .h1 {
		font-size: 3rem;
	}
}

h2, .h2 {
	font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
	h2, .h2 {
		font-size: 2.5rem;
	}
}

h3, .h3 {
	font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
	h3, .h3 {
		font-size: 2rem;
	}
}

h4, .h4 {
	font-size: font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
	h4, .h4 {
		font-size: 1.75rem;
	}
}

.h1:first-child, .h2:first-child, .h3:first-child, .h4:first-child, .h5:first-child, .h6:first-child, h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
    margin-top: 0;
}

p {
	text-wrap-style: pretty;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: var(--slate);
}

main p a:not([class]),
main ul a:not([class]),
main ol a:not([class]),
main table a:not([class]) {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
}

main p a:not([class]):hover,
main ul a:not([class]):hover,
main ol a:not([class]):hover,
main table a:not([class]):hover {
}

img {
    max-width: 100%;
    height: auto;
}

.text-yellow { color: var(--yellow) !important; }
.text-amber { color: var(--amber) !important; }
.text-orange { color: var(--orange) !important; }
.text-peach { color: var(--peach) !important; }
.text-green { color: var(--green) !important; }
.text-lime { color: var(--lime) !important; }
.text-teal { color: var(--teal) !important; }
.text-mint { color: var(--mint) !important; }
.text-slate { color: var(--slate) !important; }
.text-blue { color: var(--blue) !important; }
.text-ice { color: var(--ice) !important; }
.text-navy { color: var(--navy) !important; }
.text-purple { color: var(--purple) !important; }
.text-violet { color: var(--violet) !important; }
.text-grape { color: var(--grape) !important; }
.text-fuchsia { color: var(--fuchsia) !important; }
.text-maroon { color: var(--maroon) !important; }
.text-rose { color: var(--rose) !important; }
.text-red { color: var(--red) !important; }
.text-pink { color: var(--pink) !important; }
.text-black { color: var(--black) !important; }
.text-grey { color: var(--grey) !important; }
.text-light { color: var(--light) !important; }
.text-white { color: var(--white) !important; }

.bg-yellow { background-color: var(--yellow) !important; }
.bg-amber { background-color: var(--amber) !important; }
.bg-orange { background-color: var(--orange) !important; }
.bg-peach { background-color: var(--peach) !important; }
.bg-green { background-color: var(--green) !important; }
.bg-lime { background-color: var(--lime) !important; }
.bg-teal { background-color: var(--teal) !important; }
.bg-mint { background-color: var(--mint) !important; }
.bg-slate { background-color: var(--slate) !important; }
.bg-blue { background-color: var(--blue) !important; }
.bg-ice { background-color: var(--ice) !important; }
.bg-navy { background-color: var(--navy) !important; }
.bg-purple { background-color: var(--purple) !important; }
.bg-violet { background-color: var(--violet) !important; }
.bg-grape { background-color: var(--grape) !important; }
.bg-fuchsia { background-color: var(--fuchsia) !important; }
.bg-maroon { background-color: var(--maroon) !important; }
.bg-rose { background-color: var(--rose) !important; }
.bg-red { background-color: var(--red) !important; }
.bg-pink { background-color: var(--pink) !important; }
.bg-black { background-color: var(--black) !important; }
.bg-grey { background-color: var(--grey) !important; }
.bg-light { background-color: var(--light) !important; }
.bg-white { background-color: var(--white) !important; }

.bg-translucent { background-color: var(--translucent) !important; }

.image-placeholder {
    display: block;
    background-color: var(--translucent);
    width: 100%;
}

.placeholder-grow {
    height: 100%;
}

.placeholder-1440x1080,
.placeholder-1280x960 {
    aspect-ratio: 4 / 3;
}

.placeholder-1280x720 {
    aspect-ratio: 16 / 9;
}

.placeholder-1280x1280 {
    aspect-ratio: 1 / 1;
}

blockquote {
    background: var(--translucent);
    padding: 1rem 1.5rem;
    border-radius: .5rem;
    border-left: 5px solid var(--orange);
}

blockquote :last-child {
    margin-bottom: 0;
}

hr {
    margin: 2.5rem 0;
}

sup {
    font-weight: 600;
}

.anchor {
    position: absolute;
    top: -80px;
}

ul.ticked {
    list-style: none;
    padding: 0;
}

ul.ticked li {
    position: relative;
    padding: 0 0 0 1.75rem;
}

ul.ticked li:not(:last-child) {
    margin-bottom: .5rem;
}

ul.ticked li::before {
    content: "";
    position: absolute;
    top: .25rem;
    left: 0;
    display: block;
    width: 1rem;
    height: 1rem;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 18 18' fill='%237cbc4a' stroke='none'><path d='M1.401,7.958l3.921,2.021c0.523,0.271,1.151,0.199,1.605-0.181l9.507-7.953c0.811-0.677,1.885,0.407,1.247,1.256 L8.356,15.513c-0.854,1.137-2.52,1.138-3.375,0.002L0.317,9.322C-0.257,8.562,0.566,7.528,1.401,7.958z'></path></svg>") center/1rem no-repeat;
}

.vimeo-video-wrap {
    display: block;
    margin: auto;
    overflow: hidden;
    border-radius: .5rem;
}

.vimeo-video {
    padding: 56.25% 0 0 0;
    position: relative
}

.vimeo-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.swiper-pagination-bullet-active {
    background: var(--orange);
}

/* --------------------
	Bootstrap overrides/additions
-------------------- */

section {
    padding: 2rem 0;
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .row {
    --bs-gutter-x: 2rem !important;
}

.btn {
    --ww-btn-color: var(--black);
	--ww-btn-hover-color: var(--black);
	--ww-btn-background-color: var(--orange);
	--ww-btn-hover-background-color: var(--white);
    --ww-btn-border-color: var(--orange);
	--ww-btn-hover-border-color: var(--orange);
	padding: .5rem 1.25rem;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5rem;
    color: var(--ww-btn-color);
    background-color: var(--ww-btn-background-color);
	border-color: var(--ww-btn-border-color);
    border-width: 1px;
    border-radius: 2rem;
    margin: 0 0 .5rem 0;
	white-space: nowrap;
}

.btn.btn-reverse {
	--ww-btn-color: var(--black);
	--ww-btn-background-color: var(--white);
    --ww-btn-border-color: var(--orange);
}

.btn.btn-black {
	--ww-btn-color: var(--white);
	--ww-btn-background-color: var(--black);
    --ww-btn-border-color: var(--black);
}

.btn.btn-green {
	--ww-btn-color: var(--white);
	--ww-btn-background-color: var(--green);
    --ww-btn-border-color: var(--green);
}

.btn.btn-black-reverse {
	--ww-btn-color: var(--black);
	--ww-btn-background-color: var(--white);
    --ww-btn-border-color: var(--black);
}

.btn.btn-green-reverse {
	--ww-btn-color: var(--green);
	--ww-btn-background-color: var(--white);
    --ww-btn-border-color: var(--green);
}

.btn:hover,
.btn:focus-visible,
.btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
    color: var(--white);
    background-color: var(--grey);
    border-color: var(--grey);
}

.btn:has(+ .btn) {
    margin: 0 .5rem .5rem 0;
}

.text-center .btn {
    margin: 0 .25rem .5rem;
}

.text-wrap-pretty {
	text-wrap-style: pretty !important;
}

/* --- tables --- */

.table {
    margin-bottom: 1.5rem;
}

.table>:not(caption)>*>* {
    padding: 1rem;
}

.table-wrap {
    overflow-x: auto;
    margin-bottom: 1.5rem
}

.table-wrap table {
    margin-bottom: 0
}

/* --------------------
	Forms
-------------------- */

input,
button,
select,
optgroup,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

input[type=text],
input[type=email],
input[type=number],
input[type=tel],
textarea,
select {
	display: block;
    width: 100%;
    height: auto;
    border: solid 1px #c5c5c5;
    color: var(--black);
	background-color: var(--white);
    padding: 1rem 2rem;
    outline: none;
	font-size: 1rem;
	line-height: 1.5;
    border-radius: 2rem;
    -moz-appearance: none;
    -webkit-appearance: none;
}

select {
	padding: 1rem 3rem 1rem 2rem;
	border-right: none;
	border-radius: 2rem 0 0 2rem;
	cursor: pointer;
}

.select-wrap {
    position: relative;
    display: flex;
    width: 100%;
}

.select-wrap select {
    display: block;
    margin: 0;
    flex: 1 0 0;
    width: 100%;
    max-width: 100%;
}

.select-wrap button {
    position: relative;
    flex: 1 0 0;
    text-align: center;
    min-width: 60px;
    max-width: 60px;
    display: block;
    height: auto;
    border: solid 1px #bf9344;
    margin: 0;
    padding: 1rem 1.25rem 1rem 1rem;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 500;
    background-color: var(--orange);
    border-radius: 0 2rem 2rem 0;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.select-wrap button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 14px;
    height: 14px;
    transform: translate(-11px, -7px) rotate(-45deg);
    background-color: var(--black);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center left;
    -webkit-mask-position: center left;
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-image: url(./images/icons/chevron.svg);
    -webkit-mask-image: url(./images/icons/chevron.svg);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.select-wrap button:hover,
.select-wrap button:focus-visible {
    color: var(--white);
    background-color: var(--grey);
    border-color: var(--grey);
}

.select-wrap button:hover::after,
.select-wrap button:focus-visible::after {
	background-color: var(--white);
}

textarea {
	height: 100px;
	overflow: auto;
	resize: none;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=tel]:focus,
textarea:focus {
    outline: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -moz-appearance: none;
    -webkit-appearance: none;
}

button:hover,
[type="button"]:hover,
[type="reset"]:hover,
[type="submit"]:hover {
}

input[type="radio"],
input[type="checkbox"] {
	padding: 0;
}

fieldset {
	min-width: 0;
	padding: 0;
	margin: 0;
	border: 0;
}

::-webkit-input-placeholder {
    color: var(--grey);
}

:-moz-placeholder {
    color: var(--grey);
}

/* --- gravity forms --- */

.gform_wrapper {
    position: relative!important
}

.gform_anchor {
    position: absolute!important;
    top: -100px!important
}

.gform_validation_errors {
    margin: 0 0 1rem!important
}

.gform_heading {
    display: none!important
}

.gform-body .gform_fields {
    row-gap: 1.25rem!important
}

.gform-body .gfield_label {
    color: #344054!important;
    font-weight: 500!important;
    font-size: 0.875rem!important
}

.gform-body input[type=text],.gform-body input[type=email],.gform-body input[type=tel],.gform-body input[type=number],.gform-body textarea {
    border-radius: 0.5rem!important;
    border-color: #d0d5dd!important;
    box-shadow: none!important;
    padding: .25rem 1rem!important;
    height: auto!important
}

.gform-body input[type=checkbox] {
    border-radius: 0.25rem!important;
    border-color: #d0d5dd!important;
    box-shadow: none!important
}

.gform-body textarea {
    min-block-size: unset!important;
    height: 120px!important;
    padding: 1rem!important
}

.gform-body input[type=checkbox]::before {
    color: var(--black)!important
}

.gform-body ::-webkit-input-placeholder {
    color: #8d93a1!important
}

.gform-body ::-moz-placeholder {
    color: #8d93a1!important
}

.gform-body ::placeholder {
    color: #8d93a1!important
}

.gform-footer input[type="submit"] {
    background-color: var(--orange)!important;
    color: var(--black)!important;
    padding: .875rem 1.5rem!important;
    border-radius: 0.5rem!important;
    box-shadow: none!important
}

.gform-footer input[type="submit"]:hover,.gform-footer input[type="submit"]:focus {
    background-color: var(--black)!important;
    color: var(--white)!important
}

/* --- password protected page --- */

.post-password-form label,.post-password-form input[type=submit] {
    display: inline-block
}

.post-password-form label input,.post-password-form input[type=submit] {
    display: inline-block;
    width: auto;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    padding: .5em 1em;
    margin: 0;
    border: 1px solid #666;
    vertical-align: baseline;
    background: #fff;
    color: #515151
}

.post-password-form input[type=submit] {
    background: #e3e3e3;
    color: #515151
}

/* --------------------
	Header
-------------------- */

#header {
	display: block;
	position: sticky;
	z-index: 1000;
	top: 0;
	background: var(--white);
}

#header .nav-logo {
	display: inline-block;
	vertical-align: middle;
}

#header .nav-logo a img {
	height: 60px;	
    width: auto;
	margin: 1rem 0;
}

@media screen and (max-width: 1199px) {
	#header .nav-logo a img {
		height: 50px;
		margin: 0.75rem 0;
	}
}

#header nav {
	
}

#header nav ul.menu {
	display: flex;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	list-style: none;
}

#header nav ul.menu > li {
	position: relative;
	padding: 0;
}

#header nav ul.menu > li:last-child {
	margin-right: -1rem;
}

#header nav ul.menu > li > a {
	display: block;
	font-weight: 500;
	color: var(--black);
	padding: 1rem;
	text-decoration: none;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

#header nav ul.menu > li > a:not([href]) {
	cursor: default;
}

#header nav ul.menu > li > a > i[class^="fa"] {
    color: var(--orange);
    font-size: 0.875em;
    margin-left: 0.5rem;
}

#header nav ul.menu > li.active > a,
#header nav ul.menu > li > a:hover,
#header nav ul.menu > li > a:focus {
	color: var(--orange);
	text-decoration: none;
}

#header nav ul.menu > li.nav-login > a,
#header nav ul.menu > li.nav-book-demo > a {
    padding: .5rem 1.25rem;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5rem;
    color: var(--black);
    background-color: var(--orange);
    border-style: solid;
    border-color: var(--orange);
    border-width: 1px;
    border-radius: 2rem;
    margin: .5rem 0 0 1rem;
    white-space: nowrap;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

#header nav ul.menu > li.nav-login > a {
    background-color: var(--white);
    border-color: var(--black);
}

#header nav ul.menu > li.nav-login > a:hover,
#header nav ul.menu > li.nav-login > a:focus-visible,
#header nav ul.menu > li.nav-book-demo > a:hover,
#header nav ul.menu > li.nav-book-demo > a:focus-visible {
    color: var(--white);
    background-color: var(--grey);
    border-color: var(--grey);
}

.slicknav_menu {
	display: none;
}

#mobile-nav-trigger {
	display: block;
	padding: 0.5rem;
	cursor: pointer;
	margin: 0 -0.5rem 0 0;
}

#mobile-nav-trigger .mobile-nav-trigger-bar {
	display: block;
	width: 1.5rem;
	height: 0.125rem;
	background: var(--black);
}

#mobile-nav-trigger .mobile-nav-trigger-bar:not(:last-child) {
	margin-bottom: 0.25rem;
}

@media screen and (max-width: 1199px) {
	.slicknav_menu {
		display: block;
	}
}

/* --- sub menu --- */

.nav-shadow {
	box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .17);
}

#header nav ul.menu > li > ul.sub-menu {
	position: absolute;
	top: 120%;
	left: 0;
	min-width: 100%;
	margin: 18px 0 0;
	padding: 0.75rem 0.75rem 0.25rem;
	border-radius: 0.5rem;
	list-style: none;
	background: var(--white);
	visibility: hidden;
	opacity: 0;
	transition: all .3s ease .2s;
}

#header nav ul.menu > li.active > ul.sub-menu {
	top: 100%;
	visibility: visible;
	opacity: 1;
	transition: all .3s ease;
	z-index: 10;
}

#header nav ul.menu > li > ul.sub-menu > li {
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0 0 0.5rem;
}

#header nav ul.menu > li > ul.sub-menu > li > a {
	display: block;
    font-weight: 500;
    color: var(--black);
    text-decoration: none;
    padding: 0.5rem 1rem;
    white-space: nowrap;
}

#header nav ul.menu > li > ul.sub-menu > li > a:hover {
	color: var(--gold);
	text-decoration: none;
}

#header nav ul.menu > li > ul.sub-menu > li:hover > a,
#header nav ul.menu > li > ul.sub-menu > li > a:hover,
#header nav ul.menu > li > ul.sub-menu > li > a:focus {
	color: var(--orange);
	text-decoration: none;
}

/* --- modules nav --- */

#header nav ul.menu > li.nav-modules {
	position: unset;
}

#header nav ul.menu > li.nav-modules > .nav-modules-sub-menu-wrap {
	position: absolute;
	top: 120%;
	left: 0;
	width: 100%;
	visibility: hidden;
	opacity: 0;
	transition: all .3s ease .2s;
}

#header nav ul.menu > li.nav-modules.active > .nav-modules-sub-menu-wrap {
	top: 100%;
	visibility: visible;
	opacity: 1;
	transition: all .3s ease;
	z-index: 10;
}

#header nav ul.menu > li.nav-modules:not(.active) > .nav-modules-sub-menu-wrap {
	pointer-events: none;
}

#header nav ul.menu > li.nav-modules ul.sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#header nav ul.menu > li.nav-modules ul.sub-menu > li {
	flex-shrink: 0;
	flex-grow: 0;
	width: 30%;
	max-width: 100%;
	margin: 0;
}

#header nav ul.menu > li.nav-modules ul.sub-menu > li a {
    display: block;
    font-weight: 500;
    color: var(--black);
    text-decoration: none;
    padding: 0.75rem;
    margin: 0 0 1rem;
	border-radius: 0.5rem;
	transition: all .2s ease;
}

#header nav ul.menu > li.nav-modules ul.sub-menu > li a:hover {
    background-color: var(--light);
}

#header .menu-item-icon-block {
    width: 40px;
    height: 40px;
    background-color: var(--orange);
    margin: 0 1rem 0 0;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center left;
    -webkit-mask-position: center left;
    mask-size: contain;
    -webkit-mask-size: contain;
}

#header .menu-item-icon-block,
.module-list .slide-icon .slide-icon-graphic {
	--ww-color-compliance: var(--orange);
	--ww-color-operations: var(--blue);
	--ww-color-safety: var(--green);
	--ww-color-training: var(--grape);
}

#header .module-group-compliance .menu-item-icon-block,
.module-list .slide-icon .module-group-compliance {
	background-color: var(--ww-color-compliance);
}

#header .module-group-operations .menu-item-icon-block,
.module-list .slide-icon .module-group-operations {
	background-color: var(--ww-color-operations);
}

#header .module-group-safety .menu-item-icon-block,
.module-list .slide-icon .module-group-safety {
	background-color: var(--ww-color-safety);
}

#header .module-group-training .menu-item-icon-block,
.module-list .slide-icon .module-group-training {
	background-color: var(--ww-color-training);
}

.module-list .slide-icon .module-group-safety

#header nav ul.menu > li.nav-modules ul.sub-menu > li p {
	margin: 0;
    font-weight: 400;
    font-size: .875rem;
}

/* --- mobile nav --- */

@media screen and (min-width: 768px) {
	#header .slicknav_menu li.nav-modules ul.sub-menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	#header .slicknav_menu li.nav-modules ul.sub-menu > li {
		flex-shrink: 0;
		flex-grow: 0;
		width: 50%;
		max-width: 50%;
		margin: 0;
	}
}

#header .slicknav_menu .menu-item-icon-block {
    width: 30px;
    height: 30px;
    margin: 0 .75rem 0 0;
}

#header .slicknav_menu .nav-modules p {
	margin: 0;
	font-weight: 400;
	font-size: .875rem;
}

/* --------------------
	Content
-------------------- */

/* --- hero area --- */

.hero-area h1 span {
    color: var(--orange);
}

.hero-area img {
    border-radius: 1rem;
}

/* .hero-area .hero-carousel { */
    /* aspect-ratio: 1440 / 1080; */
/* } */

/* --- module-list --- */

.module-slide {
    background: var(--translucent);
    padding: 1.25rem;
    border-radius: 1rem;
    font-weight: 600;
}

.slide-icon {
    width: 50px;
    height: 50px;
    background: var(--white);
    border-radius: .5rem;
    margin-bottom: 2rem;
}

.slide-icon > div {
    width: 50px;
    height: 50px;
    background-color: var(--orange);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: 34px;
    -webkit-mask-size: 34px;
}

.swiper::before, .swiper::after {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: 44px;
    z-index: 2;
}

.swiper::before {
    left: 0;
}

.swiper::after {
    right: 0;
	transform: rotate(180deg);
}

.swiper .swiper-button-prev, .swiper .swiper-button-next {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    padding: 5px;
    cursor: pointer;
    border: none;
    outline: none;
    background: var(--grey);
    z-index: 5;
}

.swiper .swiper-button-prev:before, .swiper .swiper-button-next:before {
    content: "";
    display: inline-block;
    background-color: var(--white);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: 16px;
    -webkit-mask-size: 16px;
    mask-image: url(./images/icons/chevron.svg);
    -webkit-mask-image: url(./images/icons/chevron.svg);
    height: 30px;
    width: 30px;
    position: relative;
    transform: rotate(135deg) translate(-2px, -2px);
}

.swiper .swiper-button-next:before {
	transform: rotate(-45deg) translate(-2px, -2px);
}

/* --- showcase --- */

.showcase-block {
    padding: 2rem 2.25rem;
    margin: 0 0 2rem 0;
    height: 440px;
	border-radius: 1rem;
	background-color: var(--translucent);
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* --- multi-column info cards --- */

.info-card img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 1rem;
    margin: 0 0 2rem;
}

/* --- module introduction --- */

.mod-int {
    padding: 1.5rem;
    border-radius: 1rem;
}

.mod-int img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
	border-radius: .5rem;
}

.mod-int p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 991px) {
	.mod-int img {
		aspect-ratio: 3 / 2;
		min-height: auto;
	}
}

/* --- icon feature grid --- */

.icon-feature-card {
    background: var(--translucent);
    padding: 1.5rem;
    border-radius: 1rem;
    font-weight: 500;
    font-size: 1.125rem;
}

.feature-card-icon-wrap {
	display: block;
	width: 60px;
	height: 60px;
	padding: 10px;
	background: var(--white);
	border-radius: 50%;
	margin: 0 0 1rem;
}

.feature-card-icon {
	display: block;
	width: 40px;
	height: 40px;
	background-color: var(--orange);
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-position: center left;
	-webkit-mask-position: center left;
	mask-size: contain;
	-webkit-mask-size: contain;
}

/* --- image feature grid --- */

.image-feature-card {
    padding: 1.5rem 1.5rem 0 1.5rem;
    border-radius: 1rem;
	flex-direction: column;
}

@media screen and (min-width: 992px) {
	.image-feature-card {
		padding: 2rem 2rem 0 2rem;
	}
	
	.col-12 .image-feature-card {
		flex-direction: row;
	}

	.col-12 .image-feature-card-image {
		display: flex;
		align-items: flex-end;
		flex: 0 0 auto;
		width: 60%;
		padding-left: 1.5rem;
	}
}

.image-feature-card-open img {
    border-radius: 1rem;
}

.image-feature-lr-img img {
    border-radius: 1rem;
}

/* --- multi-column info cards --- */

.info-card p:last-child {
    margin-bottom: 0;
}

/* --- feature statement --- */

.surtitle {
	font-size: .875rem;
	text-transform: uppercase;
	font-weight: 500;
	margin-bottom: .5rem;
	color: var(--green);
}

.feature-statement-copy {
    font-size: 1.25rem;
    font-weight: 500;
}

.feature-statement-copy p:last-child {
    margin-bottom: 0;
}

@media screen and (min-width: 1200px) {
	.surtitle {
		font-size: 1rem;
	}
	
	.feature-statement-copy {
		font-size: 1.5rem;
	}
}

/* --- client logos --- */

.logo-grid div {
	padding: 0 1rem;
}

.logo-grid div img {
	filter: grayscale(100%);
}

@media screen and (min-width: 992px) {
	.logo-grid div {
		flex: 0 0 auto;
		width: 12.5%;
		gap: unset;
	}
}

@media screen and (max-width: 991px) {
	.logo-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 2em 1em;
	}
}

@media screen and (max-width: 575px) {
	.logo-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* --- statistic blocks --- */

.stat-block {
    background-color: var(--translucent);
    padding: 1.5rem;
    border-radius: 1rem;
    max-width: 340px;
    margin: auto;
}

.stat-block-heading {
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.25;
}

.stat-block-heading > div > span {
    display: inline-block;
    line-height: 1.125;
    padding: 0 0 .125em 0;
}

/* --- faqs --- */

.faq-section-title {
    text-wrap-style: pretty;
}

.faq-section-title a {
    margin: 0 0 0 .5em;
}

.faq-section-title a i {
    font-size: .5em;
    vertical-align: middle;
    margin-bottom: 0.5em;
}

.faq-container .faq {
    padding: 0.75rem 0;
    margin: 0;
    border-bottom: 1px solid var(--grey);
    border-bottom: 1px solid #47546633;
}

.faq-container > .faq:first-child {
    border-top: 1px solid var(--grey);
    border-top: 1px solid #47546633;
}

.faq-container .faq-title {
    display: block;
    padding: .75rem 0;
    cursor: pointer;
}

.faq-container .faq-title h3 {
    position: relative;
    font-size: 1.25rem;
    line-height: 1.5;
    text-wrap-style: pretty;
    margin: 0;
    padding: 0 2rem 0 0;
}

.faq-container .faq-title i {
    position: absolute;
    font-size: 1rem;
    line-height: 1.5rem;
    top: 0.3rem;
    right: 0;
    color: var(--green);
}

.faq-container .faq-content {
	color: var(--grey);
    padding: .75rem 0 0;
}

@media screen and (max-width: 991px) {
	.faq-container .faq {
		padding: 0.5rem 0;
	}

	.faq-container .faq-title {
		padding: .5rem 0;
	}

	.faq-container .faq-title h3 {
		font-size: 1rem;
		padding: 0 1.5rem 0 0;
	}

	.faq-container .faq-title i {
		font-size: 0.75rem;
		top: 0;
	}
}

/* --------------------
	Posts
-------------------- */

/* --- search --- */

.search-form {
	position: relative;
	display: flex;
	width: 100%;
}

.search-form label {
	display: block;
	margin: 0;
	flex: 1 0 0;
	width: 100%;
	max-width: 100%;
}

.search-form input[type=search] {
	display: block;
	width: 100%;
	height: auto;
	border: solid 1px #c5c5c5;
	border-right: none;
	color: var(--black);
	font-size: 1rem;
	line-height: 1.5;
	margin: 0;
	padding: 1rem 2rem;
	outline: none;
	background: var(--white);
	outline: none;
	border-radius: 2rem 0 0 2rem;
	-moz-appearance: none;
	-webkit-appearance: none;
}

.search-form input[type=submit] {
	flex: 1 0 0;
	text-align: center;
	min-width: 120px;
	max-width: 120px;
	display: block;
	height: auto;
	border: solid 1px #bf9344;
	margin: 0;
	padding: 1rem 1.25rem 1rem 1rem;
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 500;
	background-color: var(--orange);
	border-radius: 0 2rem 2rem 0;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.search-form input[type=submit]:hover,
.search-form input[type=submit]:focus-visible {
    color: var(--white);
    background-color: var(--grey);
    border-color: var(--grey);
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

/* --- archive --- */

.post-archive-wrap .col.sidebar {
    min-width: 260px;
    max-width: 260px;
}

.sidebar-title {
    font-size: 1.25rem;
    font-weight: 500;
    position: relative;
    padding: 2px 0 0 40px;
    min-height: 30px;
}

.sidebar-title::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    background-color: var(--orange);
    margin: 0;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: cover;
    -webkit-mask-size: cover;
}

.sidebar-categories.sidebar-title {
	padding: 2px 0 0 36px
}

.sidebar-categories.sidebar-title::before {
    width: 22px;
    height: 30px;
    mask-image: url(./images/icons/icon-bookmark.svg);
    -webkit-mask-image: url(./images/icons/icon-bookmark.svg);
}

.sidebar-search.sidebar-title::before {
    mask-image: url(./images/icons/icon-search.svg);
    -webkit-mask-image: url(./images/icons/icon-search.svg);
}

.sidebar .list-unstyled li a {
    text-decoration: none;
    display: block;
    padding: .25rem 0;
}

.sidebar .list-unstyled li a.current {
    font-weight: 500;
}

@media (max-width: 991px) {
    .post-archive-wrap .col.post-list,
	.post-archive-wrap .col.sidebar {
        min-width:100%;
        max-width: none;
        margin: 0
    }
}

.post-card-wrap article {
    background: var(--white);
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 4px 4px 16px 0px #dddddd;
}

	.post-card-wrap article.case-study {
		box-shadow: none;
		border-radius: 0;
	}

.post-card-wrap > article > div > a {
	display: block;
	overflow: hidden;
	aspect-ratio: 16/9;
}

	.post-card-wrap article.case-study > div > a {
		border-radius: 1rem;
	}

.post-card-wrap > article > div > a > img {
    transition: transform .6s ease;
}

.post-card-wrap > article > div > a:hover img {
    transform: scale(1.05);
}

.meta-title {
    font-size: 1.125rem;
    font-weight: 500;
}

.meta {
	font-size: .875rem;
	font-style: italic;
    color: #808080;
}

.meta-cats a {
    display: inline-block;
    padding: .5rem 1rem;
    font-family: inherit;
	font-size: .875rem;
    font-weight: 500;
    line-height: 1rem;
    color: #808080;
    background-color: #ececec;
    border-color: #ececec;
    border-width: 1px;
    border-radius: 2rem;
    margin: 0 0 .5rem 0;
    white-space: nowrap;
    transition: color .15s 
    ease-in-out, background-color .15s 
    ease-in-out, border-color .15s 
    ease-in-out, box-shadow .15s 
    ease-in-out;
}

.meta-cats a:hover,
.meta-cats a:focus-visible {
    color: var(--white);
    background-color: var(--grey);
    border-color: var(--grey);
	outline: 0;
}

/* --- latest posts --- */

@media (min-width: 768px) and (max-width: 1399px) {
    .latest-posts .post-card-wrap:nth-child(odd):last-child {
        display: none;
    }
}

/* --- pagination --- */

.navigation {
    font-size: 0;
	text-align: center;
}

.navigation ul {
	display: inline-block;
    padding: 0;
    margin: 0;
}

.navigation li {
    display: inline-block;
	font-size: 1rem;
	margin: 0 1px;
}

.navigation li::before {
    display: none;
}

.navigation li a {
	position: relative;
	width: 36px;
	height: 36px;
	color: var(--black);
	cursor: pointer;
	text-decoration: none;
	text-align: center;
	display: table-cell !important;
	vertical-align: middle;
	border: 1px solid #dddddd;
	border-radius: .5rem;
	transition: all .3s ease;
	text-decoration: none !important;
}
 
.navigation li a:hover,
.navigation li a:focus {
	color: var(--white);
	text-decoration: none;
	border-color: var(--grey);
	background: var(--grey);
}

.navigation li.active a {
    color: var(--black);
    pointer-events: none;
    border-color: #dddddd;
    background: #dddddd;
}

.navigation li span.gap {
    width: 27px;
    height: 37px;
    text-align: center;
    display: table-cell !important;
    vertical-align: middle;
}

.navigation li.nav-next a::before,
.navigation li.nav-prev a::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    border-style: solid;
    border-width: 1px 1px 0 0;
    height: 8px;
    width: 8px;
    transform: translate(-6px,-4px) rotate(45deg);
}

.navigation li.nav-prev a::before {
    transform: translate(-3px,-4px) rotate(-135deg);
}

@media (max-width: 991px) {
	.navigation li {
		font-size: 14px;
	}
	
	.navigation li span.gap {
		width: 17px;
		height: 31px;
	}

	.navigation li a {
		width: 32px;
		height: 32px;
	}
}

/* --- single --- */

.post-content article.type-post h1 {
    text-wrap-style: pretty;
}

.post-content article.type-post .post-no-image {
    display: block;
    width: 100%;
    height: 4px;
    background: linear-gradient(135deg, #fab230 0%, #ffffff 100%);
}

.post-content article.type-post img {
    display: block;
    float: none !important;
    margin: 3rem auto;
    border-radius: 1rem;
}

.post-content article.type-post img.attachment-post-thumbnail {
    aspect-ratio: 1280 / 720;
    object-fit: cover;
    object-position: center;
}

.post-content-wrap .col.post-content {
    margin-right: 40px;
	min-width: calc(100% - 370px);
    max-width: calc(100% - 370px);
}

.post-content-wrap .col.sidebar {
    min-width: 330px;
    max-width: 330px;
}

@media (max-width: 991px) {
    .post-content-wrap .col.post-content,
    .post-content-wrap .col.sidebar {
        min-width:100%;
        max-width: none;
        margin: 0;
    }
}

.sidebar .sidebar-post {
    position: sticky;
    top: 120px;
}

.sidebar .cta-card .btn {
    border-color: var(--black);
}

.sidebar .cta-card .btn:hover,
.sidebar .cta-card .btn:focus-visible {
    border-color: var(--grey);
}

.sidebar .cta-card {
    position: relative;
    padding: 1.5rem 2rem;
    border-radius: 1rem;
    overflow: hidden;
}

.sidebar .cta-card p:last-child {
    margin: 0;
}

.sidebar .cta-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 45%;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 0;
    transform: skewX(19deg);
    background: linear-gradient(to bottom,  rgba(250,181,49,1) 0%,rgba(250,194,88,1) 100%);
}

.get-started-graphic {
    transform: scale(1.5) translate(2%, -8%);
}

@media screen and (max-width: 1399px) {
    .get-started-graphic {
        transform: scale(1.5) translate(6%, -8%);
    }
}

@media screen and (max-width: 1199px) {
    .get-started-graphic {
        transform: none;
    }
}

@media screen and (max-width: 991px) {
    .get-started-graphic {
        transform: scale(1.8) translate(-1%, -2%);
    }
}

@media screen and (max-width: 767px) {
    .get-started-graphic {
        transform: none;
    }
}

/* --- single case study --- */

.stat {
    text-align: center;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
}

.stat span {
    display: block;
    font-size: 46px;
    font-weight: 500;
}

@media screen and (max-width: 1199px) {
    .stat span {
        font-size:40px
    }
}

@media screen and (max-width: 991px) {
    .stat {
        -ms-flex:0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%
    }
}

@media screen and (max-width: 767px) {
    .stat span {
        font-size:34px
    }
}

@media screen and (max-width: 575px) {
    .stat {
        -ms-flex:0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }

    .stat span {
        font-size: 32px
    }
}

/* --------------------
	Footer
-------------------- */

.stat-banner {
    background: right top / cover no-repeat #353537;
}

@media screen and (max-width: 768px) {
	.stat-banner {
		background: right 20% top/ cover no-repeat #353537;
	}
}

#footer {
	background-color: var(--orange);
}

#footer h2 {
    font-size: 1rem;
}

#footer #menu-modules {
	column-count: 2;
}

@media screen and (min-width: 992px) {
	#footer .footer-modules-nav {
		flex: 0 0 auto;
		width: 50%;
	}
}

@media screen and (min-width: 1200px) {
	#footer .footer-modules-nav {
		width: 60%;
	}

	#footer #menu-modules {
		column-count: 3;
	}
}

#footer ul {
    list-style: none;
    margin: 0;
    padding: 0
}

#footer ul li a {
    display: inline-block;
    color: var(--black);
    font-size: .875em;
    font-weight: 400;
    text-decoration: none;
    padding: .25rem;
    margin: 0 -.25rem 0;
}

#footer ul li a:hover,
#footer ul li a:focus {
    color: var(--white);
}

#footer .social a::before {
    content: "";
    display: inline-block;
    width: 21px;
    height: 21px;
    background: var(--black);
    vertical-align: bottom;
    margin: 0 .5em 0 0;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center left;
    -webkit-mask-position: center left;
    mask-size: contain;
    -webkit-mask-size: contain;
}

#footer .social a:hover::before,
#footer .social a:focus::before {
    background: var(--white);
}

#footer .social.linkedin a::before {
	mask-image: url(./images/icons/social-linkedin.svg);
	-webkit-mask-image: url(./images/icons/social-linkedin.svg);
}

#footer .acr-img img {
    height: 60px;
    width: auto;
    margin: 0 .5rem;
}

#footer #copyright {
    font-size: 0.75rem;
}