/*
Theme Name: Understrap
Theme URI: https://understrap.com
Author: Howard Development &amp; Consulting
Author URI: https://howarddc.com
GitHub Theme URI: https://github.com/understrap/understrap
Description: The renowned WordPress starter theme framework that combined Underscores and Bootstrap. Trusted by more than 100,000 developers for building handcrafted, custom WordPress sites.
Version: 1.2.4
Requires at least: 5.0
Tested up to: 6.1
Requires PHP: 5.2
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: understrap
Tags: one-column, two-columns, three-columns, left-sidebar, right-sidebar, custom-background, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, theme-options, translation-ready, block-styles, wide-blocks, editor-style, threaded-comments, accessibility-ready

Understrap WordPress Theme, (C) 2021 Howard Development & Consulting, LLC
Understrap is distributed under the terms of the GNU GPL.

Resource Licenses:
Understrap is based on Underscores https://underscores.me/, (C) Automattic, Inc.
Font Awesome: https://fontawesome.com/v4.7/license/ (Font: SIL OFL 1.1, (S)CSS: MIT)
Bootstrap: https://getbootstrap.com | https://github.com/twbs/bootstrap/blob/master/LICENSE (MIT)
WP Bootstrap Navwalker by Edward McIntyre & William Patton: https://github.com/twittem/wp-bootstrap-navwalker (GNU GPLv3)
*/

/*
Do not modify the parent Understrap theme. Instead, download a copy of the Understrap Child starter theme and do all your development within the child theme.
Full developer documentation: https://docs.understrap.com
*/

html,
* {
	font-family: 'Montserrat', sans-serif;
}

body {
	color: #000;
	background: linear-gradient(
			0deg,
			rgba(227, 229, 255, 0.7),
			rgba(227, 229, 255, 0.7)
		),
		linear-gradient(
			178.57deg,
			rgba(239, 196, 246, 0.1) -6.84%,
			rgba(253, 227, 255, 0.1) 15.08%,
			rgba(255, 255, 255, 0.1) 39.31%,
			rgba(202, 219, 247, 0.1) 81.42%,
			rgba(31, 172, 255, 0.1) 108.53%
		),
		radial-gradient(
				88.46% 13.12% at 108.21% 16.44%,
				rgba(212, 171, 255, 0.5) 7.46%,
				rgba(255, 255, 255, 0) 100%
			)
			/* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
		radial-gradient(
				83.21% 22.27% at 0% -3.84%,
				rgba(255, 164, 165, 0.4) 0%,
				rgba(255, 255, 255, 0) 100%
			)
			/* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
		radial-gradient(
				67.69% 15.77% at 110% -6.97%,
				#ffffff 0%,
				rgba(255, 255, 255, 0) 100%
			)
			/* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
		radial-gradient(
				101.28% 22.65% at -8.59% 38.19%,
				rgba(159, 239, 255, 0.7) 0%,
				rgba(255, 255, 255, 0) 100%
			)
			/* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
		radial-gradient(
				236.15% 15.77% at 162.44% 68.49%,
				rgba(255, 143, 225, 0.7) 0%,
				rgba(255, 255, 255, 0) 78.5%
			)
			/* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
		radial-gradient(
				190.77% 40.3% at -29.1% 78.08%,
				rgba(217, 167, 255, 0.5) 0%,
				rgba(255, 255, 255, 0) 78.5%
			)
			/* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
		radial-gradient(
				99.54% 12.35% at 104.1% 83.46%,
				rgba(0, 128, 255, 0.5) 0%,
				rgba(255, 255, 255, 0) 78.5%
			)
			/* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */;
}

.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.wrapper {
	flex: 1;
}

.offcanvas.offcanvas-start {
	width: 100% !important;
	max-width: 100% !important;
}

.main-nav {
	display: flex;
	flex-direction: row;
	align-items: center;
}

nav#main-nav {
	padding: 0;
}

#menu-nav-register-button a.nav-link {
	padding: 0 !important;
}

.btn-primary {
	display: flex;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 0.875rem;
	line-height: 1.1;
	text-transform: uppercase;
	width: 100%;
	color: rgb(112, 57, 2);
	outline: 0px;
	border-width: 0px;
	margin: 0px;
	padding: 0.5rem 1rem;
	background: #ffc60f;
	background: linear-gradient(
		175deg,
		rgba(255, 198, 15, 1) 0%,
		rgba(233, 159, 18, 1) 100%
	);
	border-radius: 0.5rem;
	box-shadow: 0px 5px 0px 0px rgba(219, 135, 31, 1);
	-webkit-box-shadow: 0px 5px 0px 0px rgba(219, 135, 31, 1);
	-moz-box-shadow: 0px 5px 0px 0px rgba(219, 135, 31, 1);
	border: 2px solid #f3b219;
	transition: all 0.3s ease;
	transform: translatey(-2px);
}

.btn-primary:hover {
	background: #ffc60f;
	background: linear-gradient(
		175deg,
		rgba(255, 198, 15, 1) 0%,
		rgba(233, 159, 18, 1) 100%
	);
	color: rgb(112, 57, 2) !important;
	border: 2px solid #f3b219;
	transform: translateY(-4px);
}

.btn-primary a,
.btn-primary a:hover,
.btn-primary {
	color: rgb(112, 57, 2) !important;
	font-weight: 900;
}

.btn-primary:active {
	box-shadow: 0px 2px 0px 0px rgba(219, 135, 31, 1);
	-webkit-box-shadow: 0px 2px 0px 0px rgba(219, 135, 31, 1);
	-moz-box-shadow: 0px 2px 0px 0px rgba(219, 135, 31, 1);
	color: rgb(112, 57, 2);
	border: 2px solid #f3b219 !important;
	transform: translateY(-2px);
}

#main-menu .nav-link {
	color: #fff;
	font-weight: 700;
}

#main-menu .nav-link:hover {
	color: #ffc200;
}

a.navbar-brand.custom-logo-link {
	margin-right: 1.5rem;
}

header nav.bg-primary {
	height: 60px;
	--tw-bg-opacity: 1 !important;
	background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;
	background-image: linear-gradient(
			275deg,
			#31076733 -2.1%,
			#d3050933 22.18%,
			#ff027a33 45.09%,
			#32058c33 89.51%
		),
		linear-gradient(10deg, #3405efe6 -12.1%, #00a0ffe6 122.46%) !important;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 4px -1px,
		rgba(0, 0, 0, 0.14) 0px 4px 5px 0px, rgba(0, 0, 0, 0.12) 0px 1px 10px 0px;
}

a.navbar-brand.custom-logo-link img {
	height: 49px;
	width: auto;
}

.promo-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
}

.promo-list article img {
	border-radius: 0.5rem;
}

.promo-list h2.entry-title a {
	font-size: 1rem;
	color: #212121;
	text-decoration: none;
	font-weight: bold;
}

.promo-list .entry-content p {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
}

.content-container,
.featured-excerpt {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: 1fr;
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
}

.featured-excerpt {
	align-items: self-start;
}

.content-container {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: 1fr;
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
	align-items: center;
	padding: 0.5rem 0 0 0;
}

.promo-list .entry-header h2.entry-title {
	margin: 0;
	padding: 0;
	line-height: 1rem;
}

.promo-list .entry-content p {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	opacity: 0.9999;
	font-weight: 600;
	font-size: 0.9rem;
	padding-top: 4px;
	margin: 0;
	line-height: 1rem;
	color: #393939;
}

footer.site-footer {
	background-image: linear-gradient(
			321deg,
			#31076733 -27.82%,
			#d3050933 9.21%,
			#ff027a33 64.83%,
			#32058c33 111.88%
		),
		linear-gradient(343deg, #1facff 16.4%, #3405ef 119.76%);
	color: #fff;
	padding: 3rem 0 0;
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 1.5rem;
	margin-top: 4rem;
}

.footer-copyright p {
	margin: 0;
}

.footer-copyright {
	padding: 2rem 0;
	background: #0639de4d !important;
	margin-top: 1.5rem;
}

.site-footer h4 {
	font-size: 1rem;
	font-weight: 400;
	margin-bottom: 1rem;
}

.payment-logos {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 1rem;
	flex-wrap: wrap;
}

.payment-logos div {
	border: 1px solid #fff;
	border-radius: 0.5rem;
	padding: 10px 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.payment-logos div img {
	width: 5rem;
	height: auto;
}

.social-media-logos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
}

.rg-img {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}

.social-media-logos a {
	text-decoration: none;
}

.footer-seo-text p {
	margin: 0;
	line-height: calc(1rem * 1.5);
}

.logo-mobile,
.cta-mobile {
	display: none;
}

.btn-primary {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	transition: background 0.2s ease;
}

/* Ripple pseudo-element */
.btn-primary::after {
	content: '';
	position: absolute;
	top: var(--ripple-y, 50%);
	left: var(--ripple-x, 50%);
	width: 0;
	height: 0;
	background: rgba(25, 118, 210, 0.6);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	opacity: 0;
}

/* Animate using custom properties */
.btn-primary.is-rippling::after {
	animation: ripple 0.6s ease-out;
}

@keyframes ripple {
	0% {
		width: 0;
		height: 0;
		opacity: 0.6;
	}

	100% {
		width: 400px;
		height: 400px;
		opacity: 0;
	}
}

.n2-section-smartslider {
	margin-bottom: 1.5rem;
}

.n2-section-smartslider .n2-ss-slider-2 {
	border-radius: 0.5rem 8px !important;
}

.desktop-slider {
	display: block;
}

.mobile-slider {
	display: none;
}

.cta-mobile {
	margin-bottom: 0 !important;
}

button.navbar-toggler {
	margin-right: 1rem;
}

button.navbar-toggler {
	margin-right: 12px;
	border: none;
	padding: 0;
}

.navbar-toggler:focus {
	box-shadow: none;
}

#dynamic-slider-container .n2-bullet {
	background: rgba(255, 255, 255, 0.7) !important;
	width: 10px;
	height: 5px !important;
	padding: 0 !important;
	transition: width 0.4s ease-in-out, background-color 0.4s ease-in-out !important;
	border-radius: 8px !important;
}

#dynamic-slider-container .n2-bullet.n2-active {
	background: #ffffff !important;
	width: 25px !important;
}

.btn-close {
	background: url(assets/close.svg) no-repeat center center;
	opacity: 1;
	width: 40px;
	height: 40px;
}

.navbar-toggler-icon {
	background: url(assets/menu-toggler.svg) no-repeat center center;
	opacity: 1;
	width: 32px;
	height: 32px;
}

.offcanvas-header {
	align-self: flex-end;
}

.offcanvas {
	transition: transform 0.15s ease-in-out !important;
}

.entry-content table {
	border: none;
	font-size: 14px;
	width: 100%;
	border-collapse: separate !important;
	border-spacing: 0;
	margin-bottom: 0.5rem;
	min-width: 600px;
	overflow: scroll;
    width: max-content !important;
    margin: 0 auto 0.5rem;
	border: #0f75ea 1px solid;
    border-radius: 8px;
}

.entry-content table td {
	padding: 7px;
	border: #0f75ea 1px solid !important;
	text-align: center;
	vertical-align: middle;
}

.entry-content table tr {
	background: #c7efffe5;
}

.entry-content table tr:first-child td:first-child {
	border-top-left-radius: 0.5rem !important;
}

.entry-content table tr:first-child td:last-child {
	border-top-right-radius: 0.5rem !important;
}

.entry-content table tr:last-child td:first-child {
	border-bottom-left-radius: 0.5rem !important;
}

.entry-content table tr:last-child td:last-child {
	border-bottom-right-radius: 0.5rem !important;
}

.entry-content table tr:nth-child(odd)  td {
	background: #c7efffe5;
}

.entry-content table tr:nth-child(even) td {
	background: #e1f7ffe5;
}

figure.wp-block-table .wp-element-caption {
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	color: #0f75ea;
}

.mechanics-row > div:first-child {
	border-right: 1px solid #c8c8c8;
	padding-right: 1rem;
}

.mechanics-row ol,
.terms ol,
.mechanics-row ul,
.terms ul {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 5px;
}

.wp-block-group.mechanics,
.wp-block-group.terms,
.featured-container {
	box-shadow: 2px 2px 4px 0px #0000001a;
	background: #ffffff80;
	padding: 0.8rem 1.5rem;
	border-radius: 0.5rem;
	margin-bottom: 1rem;
}

.mechanics-row {
	margin: 0;
}

.featured-container {
	padding: 1.5rem;
}

.featured-container img {
	width: 100%;
	border-radius: 8px;
	margin-bottom: 8px;
}

.featured-container a.btn.btn-primary {
	line-height: unset;
}

.single-post-header {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

h1.entry-title {
	font-size: 1.5rem;
	font-weight: 800;
	margin: 0;
	color: #393939;
}

.page div#page-wrapper {
	padding-top: 0;
}

.page-featured-image {
	width: 100%;
	margin-bottom: 1.5rem;
}

.page h1.entry-title {
	margin-bottom: 1.5rem;
}

.featured-excerpt p {
	margin-bottom: 0;
	font-weight: bold;
	line-height: calc(1rem * 1.3);
}

a.back-link {
	align-self: flex-start;
	min-width: 32px;
}

section.error-404.not-found h4 {
	font-weight: 600;
	color: #393939;
	margin: 1rem auto;
}

header.page-header-404 h1.page-title {
	font-size: 7rem;
	font-weight: 900;
	color: #212121;
}

div#error-404-wrapper,
div#search-wrapper {
	align-items: center;
	display: flex;
}

.error404 a.btn.btn-primary,
.search .btn-primary {
	width: max-content;
	margin: 0 auto;
}

form.search-form {
	max-width: 500px;
	margin: 0 auto;
}

.search .input-group {
	gap: 1rem;
}

input.submit.search-submit.btn.btn-primary,
form.search-form .search-field {
	border-radius: 8px !important;
}

form.search-form .search-field {
	height: 46px;
}

.wrapper nav {
    margin: 0 auto;
    display: flex;
}

ul.pagination {
    margin: 3rem auto 0;
}

.active>.page-link, .page-link.active {
    background-color: #eca511;
    border-color: #eca511;
}

.page-link {
	color: #000;
}

.page-link:focus {
	box-shadow: none;
}

@media (max-width: 991px) {
	.promo-list {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}
}

@media (max-width: 781px) {
	.mechanics-row div:first-child {
		border: none !important;
	}
	.featured-excerpt .btn-primary {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.featured-excerpt {
		flex-direction: column;
		display: flex;
	}
}

@media (max-width: 767px) {
	.featured-container {
		padding: 1rem;
	}
	header .main-nav {
		background: linear-gradient(
			9.96deg,
			rgba(52, 5, 239, 0.95) -12.1%,
			rgba(0, 160, 255, 0.95) 122.46%
		) !important;
	}
	.desktop-slider {
		display: none;
	}
	.logo-mobile,
	.cta-mobile,
	.mobile-slider {
		display: block;
	}
	.main-nav a {
		font-size: 1.5rem;
	}
	.main-nav .offcanvas-body {
		width: 100%;
		text-align: center;
	}
	a.navbar-brand.custom-logo-link {
		margin-right: 0;
	}
	.logo-mobile a.navbar-brand.custom-logo-link img {
		height: auto;
	}
	.cta-offcanvas {
		margin: 0 !important;
		width: 100%;
		padding: 1rem 1.5rem 2rem;
	}
	.cta-offcanvas .btn-primary {
		justify-content: center;
	}
	.main-nav {
		display: flex;
		flex-direction: column;
	}
	.page-featured-image {
		object-fit: cover;
		height: 300px !important;
	}
}
