/* =================================================================== 
 *  Hesed Base Stylesheet
 *  Ver. 1.0.0
 *  07-25-2019
 *  ------------------------------------------------------------------
 *
 *  TOC:
 *	# imports 
 *	# normalize
 *	# grid v2.1.0
 *	# block grids
 *	# MISC
 *
 * =================================================================== */

/* ===================================================================
 * # imports 
 *
 * ------------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700|Open+Sans:300,400,500,600,700|Lora:400,400i,700,700i&display=swap");


/* ==========================================================================
 * # normalize
 * normalize.css v8.0.1 | MIT License |
 * github.com/necolas/normalize.css
 *
 * -------------------------------------------------------------------------- */

/* ------------------------------------------------------------------- 
 * ## document
 * ------------------------------------------------------------------- */

/* 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.*/
html {
	line-height: 1.15;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
}

/* ------------------------------------------------------------------- 
 * ## sections
 * ------------------------------------------------------------------- */

/* Remove the margin in all browsers. */
body {
	margin: 0;
}

/* Render the `main` element consistently in IE. */
main {
	display: block;
}


/* ------------------------------------------------------------------- 
 * ## text-level semantics
 * ------------------------------------------------------------------- */

/* Remove the gray background on active links in IE 10. */
a {
	background-color: transparent;
}

/* 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] {
	border-bottom: none;
	/* 1 */
	text-decoration: underline;
	/* 2 */
	text-decoration: underline dotted;
	/* 2 */
}

/* Add the correct font weight in Chrome, Edge, and Safari. */
b,
strong {
	font-weight: bolder;
}

/* 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers. */
code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/* Add the correct font size in all browsers. */
small {
	font-size: 80%;
}

/* Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers. */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* ------------------------------------------------------------------- 
 * ## embedded content
 * ------------------------------------------------------------------- */

/* Remove the border on images inside links in IE 10. */
img {
	border-style: none;
}

/* ------------------------------------------------------------------- 
 * ## forms
 * ------------------------------------------------------------------- */

/* 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari. */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	/* 1 */
	font-size: 100%;
	/* 1 */
	line-height: 1.15;
	/* 1 */
	margin: 0;
	/* 2 */
}

/* Show the overflow in IE.
 * 1. Show the overflow in Edge. */
button,
input {

	/* 1 */
	overflow: visible;
}

/* Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox. */
button,
select {

	/* 1 */
	text-transform: none;
}

/* Correct the inability to style clickable types in iOS and Safari. */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/* Remove the inner border and padding in Firefox. */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/* Restore the focus styles unset by the previous rule. */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/* Correct the padding in Firefox. */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/* 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers. */
legend {
	box-sizing: border-box;
	/* 1 */
	color: inherit;
	/* 2 */
	display: table;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 3 */
	white-space: normal;
	/* 1 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress {
	vertical-align: baseline;
}

/* Remove the default vertical scrollbar in IE 10+. */
textarea {
	overflow: auto;
}

/* 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10. */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	/* 1 */
	padding: 0;
	/* 2 */
}

/* Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/* 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari. */
[type="search"] {
	-webkit-appearance: textfield;
	/* 1 */
	outline-offset: -2px;
	/* 2 */
}

/* Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/* 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}

/* ------------------------------------------------------------------- 
 * ## interactive
 * ------------------------------------------------------------------- */

/* Add the correct display in Edge, IE 10+, and Firefox. */
details {
	display: block;
}

/* Add the correct display in all browsers. */
summary {
	display: list-item;
}

/* ------------------------------------------------------------------- 
 * ## misc
 * ------------------------------------------------------------------- */

/* Add the correct display in IE 10+. */
template {
	display: none;
}

/* Add the correct display in IE 10. */
[hidden] {
	display: none;
}


/* ===================================================================
 * # basic/base setup styles
 *
 * ------------------------------------------------------------------- */
html {
	font-size: 62.5%;
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	font-weight: normal;
	line-height: 1;
	word-wrap: break-word;
	-moz-font-smoothing: grayscale;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-overflow-scrolling: touch;
	-webkit-text-size-adjust: none;
}





/* ------------------------------------------------------------------- 
 * ## inputs
 * ------------------------------------------------------------------- */
fieldset {
	margin: 0;
	padding: 0;
}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}


/* ===================================================================
 * # grid v2.1.0
 *
 *   -----------------------------------------------------------------
 * - Grid breakpoints are based on MAXIMUM WIDTH media queries, 
 *   meaning they apply to that one breakpoint and ALL THOSE BELOW IT.
 * - Grid columns without a specified width will automatically layout 
 *   as equal width columns.
 * ------------------------------------------------------------------- */

/* rows
 * ------------------------------------- */
.row {
	width: 89%;
	max-width: 1340px;
	margin: 0 auto;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}

.row .row {
	width: auto;
	max-width: none;
	margin-left: -20px;
	margin-right: -20px;
}

/* columns
 * -------------------------------------- */
.column {
	-webkit-flex: 1 1 0%;
	-ms-flex: 1 1 0%;
	flex: 1 1 0%;
	padding: 0 20px;
}

.collapse>.column,
.column.collapse {
	padding: 0;
}


/* flex item utility alignment classes
 * ----------------------------------------- */
.align-center {
	margin: auto;
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
}

.align-left {
	margin-right: auto;
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
}

.align-right {
	margin-left: auto;
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
}

.align-x-center {
	margin-right: auto;
	margin-left: auto;
}

.align-x-left {
	margin-right: auto;
}

.align-x-right {
	margin-left: auto;
}

.align-y-center {
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
}

.align-y-top {
	-webkit-align-self: flex-start;
	-ms-flex-item-align: start;
	align-self: flex-start;
}

.align-y-bottom {
	-webkit-align-self: flex-end;
	-ms-flex-item-align: end;
	align-self: flex-end;
}

/* large screen column widths 
 * -------------------------------------- */
.large-1 {
	-webkit-flex: 0 0 8.33333%;
	-ms-flex: 0 0 8.33333%;
	flex: 0 0 8.33333%;
	max-width: 8.33333%;
}

.large-2 {
	-webkit-flex: 0 0 16.66667%;
	-ms-flex: 0 0 16.66667%;
	flex: 0 0 16.66667%;
	max-width: 16.66667%;
}

.large-3 {
	-webkit-flex: 0 0 25%;
	-ms-flex: 0 0 25%;
	flex: 0 0 25%;
	max-width: 25%;
}

.large-4 {
	-webkit-flex: 0 0 33.33333%;
	-ms-flex: 0 0 33.33333%;
	flex: 0 0 33.33333%;
	max-width: 33.33333%;
}

.large-5 {
	-webkit-flex: 0 0 41.66667%;
	-ms-flex: 0 0 41.66667%;
	flex: 0 0 41.66667%;
	max-width: 41.66667%;
}

.large-6,
.large-half {
	-webkit-flex: 0 0 50%;
	-ms-flex: 0 0 50%;
	flex: 0 0 50%;
	max-width: 50%;
}

.large-7 {
	-webkit-flex: 0 0 58.33333%;
	-ms-flex: 0 0 58.33333%;
	flex: 0 0 58.33333%;
	max-width: 58.33333%;
}

.large-8 {
	-webkit-flex: 0 0 66.66667%;
	-ms-flex: 0 0 66.66667%;
	flex: 0 0 66.66667%;
	max-width: 66.66667%;
}

.large-9 {
	-webkit-flex: 0 0 75%;
	-ms-flex: 0 0 75%;
	flex: 0 0 75%;
	max-width: 75%;
}

.large-10 {
	-webkit-flex: 0 0 83.33333%;
	-ms-flex: 0 0 83.33333%;
	flex: 0 0 83.33333%;
	max-width: 83.33333%;
}

.large-11 {
	-webkit-flex: 0 0 91.66667%;
	-ms-flex: 0 0 91.66667%;
	flex: 0 0 91.66667%;
	max-width: 91.66667%;
}

.large-12,
.large-full {
	-webkit-flex: 0 0 100%;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
}

/* ------------------------------------------------------------------- 
 * ## medium screen devices
 * ------------------------------------------------------------------- */
@media screen and (max-width:1200px) {
	.row .row {
		margin-left: -16px;
		margin-right: -16px;
	}

	.column {
		padding: 0 16px;
	}

	.medium-1 {
		-webkit-flex: 0 0 8.33333%;
		-ms-flex: 0 0 8.33333%;
		flex: 0 0 8.33333%;
		max-width: 8.33333%;
	}

	.medium-2 {
		-webkit-flex: 0 0 16.66667%;
		-ms-flex: 0 0 16.66667%;
		flex: 0 0 16.66667%;
		max-width: 16.66667%;
	}

	.medium-3 {
		-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}

	.medium-4 {
		-webkit-flex: 0 0 33.33333%;
		-ms-flex: 0 0 33.33333%;
		flex: 0 0 33.33333%;
		max-width: 33.33333%;
	}

	.medium-5 {
		-webkit-flex: 0 0 41.66667%;
		-ms-flex: 0 0 41.66667%;
		flex: 0 0 41.66667%;
		max-width: 41.66667%;
	}

	.medium-6,
	.medium-half {
		-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}

	.medium-7 {
		-webkit-flex: 0 0 58.33333%;
		-ms-flex: 0 0 58.33333%;
		flex: 0 0 58.33333%;
		max-width: 58.33333%;
	}

	.medium-8 {
		-webkit-flex: 0 0 66.66667%;
		-ms-flex: 0 0 66.66667%;
		flex: 0 0 66.66667%;
		max-width: 66.66667%;
	}

	.medium-9 {
		-webkit-flex: 0 0 75%;
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}

	.medium-10 {
		-webkit-flex: 0 0 83.33333%;
		-ms-flex: 0 0 83.33333%;
		flex: 0 0 83.33333%;
		max-width: 83.33333%;
	}

	.medium-11 {
		-webkit-flex: 0 0 91.66667%;
		-ms-flex: 0 0 91.66667%;
		flex: 0 0 91.66667%;
		max-width: 91.66667%;
	}

	.medium-12,
	.medium-full {
		-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

}

/* ------------------------------------------------------------------- 
 * ## tablets
 * ------------------------------------------------------------------- */
@media screen and (max-width:800px) {
	.tab-1 {
		-webkit-flex: 0 0 8.33333%;
		-ms-flex: 0 0 8.33333%;
		flex: 0 0 8.33333%;
		max-width: 8.33333%;
	}

	.tab-2 {
		-webkit-flex: 0 0 16.66667%;
		-ms-flex: 0 0 16.66667%;
		flex: 0 0 16.66667%;
		max-width: 16.66667%;
	}

	.tab-3 {
		-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}

	.tab-4 {
		-webkit-flex: 0 0 33.33333%;
		-ms-flex: 0 0 33.33333%;
		flex: 0 0 33.33333%;
		max-width: 33.33333%;
	}

	.tab-5 {
		-webkit-flex: 0 0 41.66667%;
		-ms-flex: 0 0 41.66667%;
		flex: 0 0 41.66667%;
		max-width: 41.66667%;
	}

	.tab-6,
	.tab-half {
		-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}

	.tab-7 {
		-webkit-flex: 0 0 58.33333%;
		-ms-flex: 0 0 58.33333%;
		flex: 0 0 58.33333%;
		max-width: 58.33333%;
	}

	.tab-8 {
		-webkit-flex: 0 0 66.66667%;
		-ms-flex: 0 0 66.66667%;
		flex: 0 0 66.66667%;
		max-width: 66.66667%;
	}

	.tab-9 {
		-webkit-flex: 0 0 75%;
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}

	.tab-10 {
		-webkit-flex: 0 0 83.33333%;
		-ms-flex: 0 0 83.33333%;
		flex: 0 0 83.33333%;
		max-width: 83.33333%;
	}

	.tab-11 {
		-webkit-flex: 0 0 91.66667%;
		-ms-flex: 0 0 91.66667%;
		flex: 0 0 91.66667%;
		max-width: 91.66667%;
	}

	.tab-12,
	.tab-full {
		-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

	.hide-on-tablet {
		display: none;
	}

}

/* ------------------------------------------------------------------- 
 * ## mobile devices 
 * ------------------------------------------------------------------- */
@media screen and (max-width:600px) {
	.row {
		width: 100%;
		padding-left: 25px;
		padding-right: 25px;
	}

	.row .row {
		margin-left: -10px;
		margin-right: -10px;
		padding-left: 0;
		padding-right: 0;
	}

	.column {
		padding: 0 10px;
	}

	.mob-1 {
		-webkit-flex: 0 0 8.33333%;
		-ms-flex: 0 0 8.33333%;
		flex: 0 0 8.33333%;
		max-width: 8.33333%;
	}

	.mob-2 {
		-webkit-flex: 0 0 16.66667%;
		-ms-flex: 0 0 16.66667%;
		flex: 0 0 16.66667%;
		max-width: 16.66667%;
	}

	.mob-3 {
		-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}

	.mob-4 {
		-webkit-flex: 0 0 33.33333%;
		-ms-flex: 0 0 33.33333%;
		flex: 0 0 33.33333%;
		max-width: 33.33333%;
	}

	.mob-5 {
		-webkit-flex: 0 0 41.66667%;
		-ms-flex: 0 0 41.66667%;
		flex: 0 0 41.66667%;
		max-width: 41.66667%;
	}

	.mob-6,
	.mob-half {
		-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}

	.mob-7 {
		-webkit-flex: 0 0 58.33333%;
		-ms-flex: 0 0 58.33333%;
		flex: 0 0 58.33333%;
		max-width: 58.33333%;
	}

	.mob-8 {
		-webkit-flex: 0 0 66.66667%;
		-ms-flex: 0 0 66.66667%;
		flex: 0 0 66.66667%;
		max-width: 66.66667%;
	}

	.mob-9 {
		-webkit-flex: 0 0 75%;
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}

	.mob-10 {
		-webkit-flex: 0 0 83.33333%;
		-ms-flex: 0 0 83.33333%;
		flex: 0 0 83.33333%;
		max-width: 83.33333%;
	}

	.mob-11 {
		-webkit-flex: 0 0 91.66667%;
		-ms-flex: 0 0 91.66667%;
		flex: 0 0 91.66667%;
		max-width: 91.66667%;
	}

	.mob-12,
	.mob-full {
		-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

	.hide-on-mobile {
		display: none;
	}

}

/* ------------------------------------------------------------------- 
 * ## small mobile devices <= 400px
 * ------------------------------------------------------------------- */
@media screen and (max-width:400px) {
	.row {
		padding-left: 22px;
		padding-right: 22px;
	}

	.row .row {
		margin-left: 0;
		margin-right: 0;
	}

	.column {
		-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding: 0;
	}

}


/* ===================================================================
 * # block grids
 *
 * -------------------------------------------------------------------
 * Equally-sized columns define at parent/row level.
 * ------------------------------------------------------------------- */
.block-large-1-8>.column {
	-webkit-flex: 0 0 12.5%;
	-ms-flex: 0 0 12.5%;
	flex: 0 0 12.5%;
	max-width: 12.5%;
}

.block-large-1-6>.column {
	-webkit-flex: 0 0 16.66667%;
	-ms-flex: 0 0 16.66667%;
	flex: 0 0 16.66667%;
	max-width: 16.66667%;
}

.block-large-1-5>.column {
	-webkit-flex: 0 0 20%;
	-ms-flex: 0 0 20%;
	flex: 0 0 20%;
	max-width: 20%;
}

.block-large-1-4>.column {
	-webkit-flex: 0 0 25%;
	-ms-flex: 0 0 25%;
	flex: 0 0 25%;
	max-width: 25%;
}

.block-large-1-3>.column {
	-webkit-flex: 0 0 33.33333%;
	-ms-flex: 0 0 33.33333%;
	flex: 0 0 33.33333%;
	max-width: 33.33333%;
}

.block-large-1-2>.column {
	-webkit-flex: 0 0 50%;
	-ms-flex: 0 0 50%;
	flex: 0 0 50%;
	max-width: 50%;
}

.block-large-full>.column {
	-webkit-flex: 0 0 100%;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
}

/* ------------------------------------------------------------------- 
 * ## block grids - medium screen devices
 * ------------------------------------------------------------------- */
@media screen and (max-width:1200px) {
	.block-medium-1-8>.column {
		-webkit-flex: 0 0 12.5%;
		-ms-flex: 0 0 12.5%;
		flex: 0 0 12.5%;
		max-width: 12.5%;
	}

	.block-medium-1-6>.column {
		-webkit-flex: 0 0 16.66667%;
		-ms-flex: 0 0 16.66667%;
		flex: 0 0 16.66667%;
		max-width: 16.66667%;
	}

	.block-medium-1-5>.column {
		-webkit-flex: 0 0 20%;
		-ms-flex: 0 0 20%;
		flex: 0 0 20%;
		max-width: 20%;
	}

	.block-medium-1-4>.column {
		-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}

	.block-medium-1-3>.column {
		-webkit-flex: 0 0 33.33333%;
		-ms-flex: 0 0 33.33333%;
		flex: 0 0 33.33333%;
		max-width: 33.33333%;
	}

	.block-medium-1-2>.column {
		-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}

	.block-medium-full>.column {
		-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

}

/* ------------------------------------------------------------------- 
 * ## block grids - tablets
 * ------------------------------------------------------------------- */
@media screen and (max-width:800px) {
	.block-tab-1-8>.column {
		-webkit-flex: 0 0 12.5%;
		-ms-flex: 0 0 12.5%;
		flex: 0 0 12.5%;
		max-width: 12.5%;
	}

	.block-tab-1-6>.column {
		-webkit-flex: 0 0 16.66667%;
		-ms-flex: 0 0 16.66667%;
		flex: 0 0 16.66667%;
		max-width: 16.66667%;
	}

	.block-tab-1-5>.column {
		-webkit-flex: 0 0 20%;
		-ms-flex: 0 0 20%;
		flex: 0 0 20%;
		max-width: 20%;
	}

	.block-tab-1-4>.column {
		-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}

	.block-tab-1-3>.column {
		-webkit-flex: 0 0 33.33333%;
		-ms-flex: 0 0 33.33333%;
		flex: 0 0 33.33333%;
		max-width: 33.33333%;
	}

	.block-tab-1-2>.column {
		-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}

	.block-tab-full>.column {
		-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

}

/* ------------------------------------------------------------------- 
 * ## block grids - mobile devices
 * ------------------------------------------------------------------- */
@media screen and (max-width:600px) {
	.block-mob-1-8>.column {
		-webkit-flex: 0 0 12.5%;
		-ms-flex: 0 0 12.5%;
		flex: 0 0 12.5%;
		max-width: 12.5%;
	}

	.block-mob-1-6>.column {
		-webkit-flex: 0 0 16.66667%;
		-ms-flex: 0 0 16.66667%;
		flex: 0 0 16.66667%;
		max-width: 16.66667%;
	}

	.block-mob-1-5>.column {
		-webkit-flex: 0 0 20%;
		-ms-flex: 0 0 20%;
		flex: 0 0 20%;
		max-width: 20%;
	}

	.block-mob-1-4>.column {
		-webkit-flex: 0 0 25%;
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}

	.block-mob-1-3>.column {
		-webkit-flex: 0 0 33.33333%;
		-ms-flex: 0 0 33.33333%;
		flex: 0 0 33.33333%;
		max-width: 33.33333%;
	}

	.block-mob-1-2>.column {
		-webkit-flex: 0 0 50%;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}

	.block-mob-full>.column {
		-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

}

/* ------------------------------------------------------------------- 
 * ## block grids - small mobile devices <= 400px
 * ------------------------------------------------------------------- */
@media screen and (max-width:400px) {
	.stack>.column {
		-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding: 0;
	}

}


/* ===================================================================
 * # MISC
 *
 * ------------------------------------------------------------------- */
.h-group:after {
	content: "";
	display: table;
	clear: both;
}

/* misc helper classes
 * -------------------------------------- */
.is-hidden {
	display: none;
}

.is-invisible {
	visibility: hidden;
}

.h-antialiased {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.h-overflow-hidden {
	overflow: hidden;
}

.h-remove-bottom {
	margin-bottom: 0;
}

.h-add-half-bottom {
	margin-bottom: 1.6rem !important;
}

.h-add-bottom {
	margin-bottom: 3.2rem !important;
}

.h-no-border {
	border: none;
}

.h-full-width {
	width: 100%;
}

.h-text-center {
	text-align: center;
}

.h-text-left {
	text-align: left;
}

.h-text-right {
	text-align: right;
}

.h-pull-left {
	float: left;
}

.h-pull-right {
	float: right;
}

/*# sourceMappingURL=base.css.map */
/* Reset browser default styling */

/* start */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Body styling */
body {
	font-family: Arial, sans-serif;
	background-color: #f4f4f4;
	color: #333;
}

/* Header Styles */
header {
	background-color: #070474;
	color: white;
	padding: 10px 0;
}

.top-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px;
}

.logo {
	display: flex;
	align-items: center;
}

.logo img {
	width: 80px;
	margin-right: 10px;
}

.logo-text h1 {
	font-size: 1.5rem;
	margin-bottom: 5px;
}

.logo-text p {
	font-size: 1.1rem;
	margin: 0;
}

/* Buttons styling */
.buttons {
	display: flex;
	gap: 15px;
}

.button {
	padding: 10px 20px;
	border: 2px solid white;
	color: white;
	text-decoration: none;
	border-radius: 5px;
	transition: background 0.3s ease;
}

.button:hover {
	background-color: white;
	color: #0d2240;
}

/* Social media icons styling */
.social-media a {
	margin-left: 10px;
}

.social-media img {
	width: 30px;
	height: 30px;
}

/* Navigation styles */
nav {
	background-color: #3b0d11;
	;
	padding: 15px 0;
	text-align: center;
}

nav ul {
	list-style-type: none;
	display: flex;
	justify-content: center;
	gap: 20px;
}

nav ul li {
	position: relative;
}

nav ul li a {
	text-decoration: none;
	color: white;
	font-size: 1.5rem;
	padding: 5px 15px;
	transition: background 0.3s;
}

nav ul li a:hover {
	background-color: #a23740;
	border-radius: 5px;
}

nav ul li span {
	margin-left: 5px;
}

/* Dropdown Menu Styling */
.dropdown-content {
	display: none;
	position: absolute;
	background-color: #a23740;
	min-width: 160px;
	box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
	z-index: 1;
	padding: 10px 0;
}

.dropdown-content li {
	text-align: left;
}

.dropdown-content a {
	display: block;
	padding: 10px 20px;
	text-decoration: none;
	color: white;
}

.dropdown-content a:hover {
	background-color: #ffca28;
	color: #6a1b9a;
}

.dropdown:hover .dropdown-content {
	display: block;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.top-bar {
		flex-direction: column;
		text-align: center;
		padding: 10px 0; /* Add some padding */
	}
	.logo {
		margin-bottom: 10px; /* Add margin below the logo */
	}

}

/* schedules */


.container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	margin: auto;
}

.schedule-box {
	background-color: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	padding: 30px;
	margin: 10px;
	flex: 1 1 calc(25% - 20px);
	/* Adjust the width as needed */
	text-align: center;
	transition: transform 0.2s;
}

.schedule-box:hover {
	transform: translateY(-5px);
}

.schedule-box h3 {
	color: #333;
	font-size: 1.5em;
	margin: 10px 0;
}

.schedule-box p {
	color: #555;
	margin: 5px 0;
}

.schedule-box i {
	color: #007bff;
	/* Change to your desired icon color */
	margin-bottom: 10px;
}

/* Image Gallery Section */
.image-gallery {
	text-align: center;
	/* Center-align text in the section */
	padding: 20px;
	/* Padding around the gallery */
	background-color: #f9f9f9;
	/* Light background color for contrast */
	border-radius: 8px;
	/* Rounded corners */
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	/* Subtle shadow for depth */
}

/* Title Styling */
.gallery-title {
	font-size: 2em;
	/* Large title font size */
	margin-bottom: 20px;
	/* Space below the title */
	color: #333;
	/* Dark color for title */
}

/* Container for the items */
.container {
	display: flex;
	/* Flexbox layout */
	flex-wrap: wrap;
	/* Allow items to wrap to the next line */
	justify-content: space-between;
	/* Space between items */
	margin: 0 auto;
	/* Center the container */
	max-width: 1200px;
	/* Max width for large screens */
}

/* Individual item styles */
.item {
	position: relative;
	/* Position relative for absolute children */
	width: calc(25% - 20px);
	/* Four items per row, with some space */
	margin: 10px;
	/* Margin around each item */
	overflow: hidden;
	/* Hide overflow for clean image cropping */
	border-radius: 8px;
	/* Rounded corners for items */
	transition: transform 0.3s;
	/* Transition for hover effect */
}

/* Image styling */
.item img {
	width: 100%;
	/* Make images full width of the item */
	height: 200px;
	/* Set a fixed height for uniformity */
	object-fit: cover;
	/* Cover the area while maintaining aspect ratio */
	display: block;
	/* Remove bottom space */
	border-radius: 8px;
	/* Rounded corners for images */
}

/* Title overlay styling */
.item h3 {
	position: absolute;
	/* Position absolute to overlay on the image */
	bottom: 10px;
	/* Position from the bottom */
	left: 0;
	/* Align to left */
	right: 0;
	/* Align to right */
	color: white;
	/* White text color for contrast */
	text-align: center;
	/* Center the text */
	font-size: 1.5em;
	/* Font size */
	background-color: rgba(0, 0, 0, 0.6);
	/* Semi-transparent background for readability */
	padding: 10px;
	/* Padding around the text */
	margin: 0;
	/* Remove default margin */
}

/* Hover effect for items */
.item:hover {
	transform: scale(1.05);
	/* Scale up on hover */
}

/* Responsive Design */
@media (max-width: 768px) {
	.item {
		width: calc(50% - 20px);
		/* Two items per row on smaller screens */
	}
}

@media (max-width: 480px) {
	.item {
		width: 100%;
		/* One item per row on very small screens */
	}
}

/* Upcoming Events Section */
.upcoming-events {
	background-color: #e8d0e8fc;
	/* Light grey background for the entire section */
	padding: 20px;
	/* Optional: Add padding to the section */
}

.event-header {
	text-align: center;
	/* Center the header */
	margin-bottom: 2.4rem;
	/* Spacing below the header */
}

.event-grid {
	display: flex;
	flex-wrap: wrap;
	/* Allows items to wrap to the next line */
	justify-content: space-between;
	/* Ensure space between items */
}

.event-item {
	background-color: #ffffff;
	/* White background for items */
	border-radius: 8px;
	/* Rounded corners for items */
	padding: 20px;
	flex: 0 1 calc(50% - 20px);
	/* Maintain two items on each line with space for margins */
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
	/* Light shadow on items */
	transition: transform 0.2s;
	/* Smooth hover effect */
	min-width: 300px;
	/* Minimum width to maintain item size */
	box-sizing: border-box;
	/* Include padding and border in width calculation */
	margin-bottom: 20px;
	/* Add vertical space between rows */
	margin-left: 10px;
	/* Add margin to the left */
	margin-right: 10px;
	/* Add margin to the right */

}

.event-item:hover {
	transform: translateY(-5px);
	/* Slight lift on hover */
}

.event-title {
	font-size: 2em;
	/* Title size */
	color: #094789;
	/* Primary color for links */
}

.event-title a {
	text-decoration: none;
	/* Remove underline from links */
}

.event-title a:hover {
	text-decoration: underline;
	/* Underline on hover */
}

.event-details {
	list-style: none;
	/* Remove bullet points */
	padding: 0;
	margin: 10px 0 0;
}

.event-details div {
	color: #555;
	/* Subdued text color for metadata */
	font-size: 0.9em;
	/* Smaller font size for metadata */
}

.detail-divider {
	border: none;
	/* Remove default border */
	border-top: 1px solid #ccc;
	/* Light grey line */
	margin: 5px 0;
	/* Space above and below the line */
}

/* Background color for different event items */
.event-item-1 {
	background-color: #b0e6ed;
	/* Light cyan */
}

.event-item-2 {
	background-color: #ffe0b2;
	/* Light orange */
}

.event-item-3 {
	background-color: #ffccbc;
	/* Light red */
}

.event-item-4 {
	background-color: #c8e6c9;
	/* Light green */
}

.event-item-5 {
	background-color: #b7a4da;
	/* Light purple */
}

.event-item-6 {
	background-color: #f0e68c;
	/* Light yellow */
}

/* footer */
.footer-contact,
.footer-social,
.footer-donations {
	text-align: left;
}

.footer-contact h4,
.footer-social h4,
.footer-donations h4 {
	font-size: 1.4em;
	text-transform: uppercase;
	color: #ffd700;
}

.footer-social img {
	width: 30px;
	margin-right: 10px;
}

.footer-donations .donate-btn {
	background-color: #ffd700;
	color: #094789;
	padding: 10px 20px;
	text-transform: uppercase;
	font-weight: bold;
	border-radius: 5px;
	text-decoration: none;
}

.footer-bottom {
	margin-top: 20px;
	border-top: 1px solid #ccc;
	padding-top: 20px;
	font-size: 0.9em;
}

.footer-bottom a {
	color: #ffd700;
	margin: 0 5px;
	text-decoration: none;
}

.footer-bottom a:hover {
	text-decoration: underline;
}

/* Media Query for smaller screens */
@media (max-width: 768px) {
	.footer-container {
		flex-direction: column;
		/* Stack elements vertically on small screens */
		text-align: center;
	}

	.footer-contact,
	.footer-social,
	.footer-donations {
		margin-bottom: 20px;
		/* Add spacing between sections */
	}
}

.footer-container {
	display: flex;
	justify-content: space-between;
	/* Space between items */
	align-items: center;
	/* Vertically center content */
	flex-wrap: wrap;
	/* Wrap content if it overflows */
	max-width: 1500px;
	/* Set max-width for the content */
	margin: 0 auto;
	/* Center container horizontally */
	padding: 0 20px;
	/* Optional: Add padding for spacing */
}

.s-footer {
	background-color: #094789;
	/* Dark background */
	color: #fff;
	/* White text */
	padding: 40px 0;
	text-align: center;
}

.logo {
	display: flex;
	align-items: center;
}

.logo img {
	width: 80px;
	margin-right: 15px;
}

.logo-text {
	text-align: left;
}

.logo-text h1 {
	font-size: 1.5em;
	color: #ffd700;
}

.logo-text p {

	margin: 0;
}

/* About Section Styles */
.s-about {
	background-color: #f0f4ff;
	/* Light background color */
	padding: 40px 20px;
	/* Add padding around the section */
}

.about-content {
	display: flex;
	/* Use flexbox for layout */
	justify-content: space-between;
	/* Space out the columns */
	align-items: center;
	/* Center items vertically */
}

.about-text {
	padding-right: 20px;
	/* Add space between text and image */
}

.about-image {
	text-align: center;
	/* Center the image and caption */
}

.about-img {
	max-width: 90%;
	/* Make sure the image is responsive */
	height: auto;
	/* Maintain aspect ratio */
	border-radius: 8px;
	/* Rounded corners for the image */
}

h3.subhead {
	font-size: 1.4em;
	/* Make the heading larger */
	font-weight: bold;
	/* Bold the heading */
	color: #6a1b9a;
	/* Deep purple color for the heading */
	margin-bottom: 15px;
	/* Space below the heading */
}

p.lead {


	color: #333;
	/* Dark text color for contrast */
	margin-bottom: 20px;
	/* Space below the paragraph */
}

.caption {
	font-style: italic;
	color: #6a1b9a;
	/* Match with the heading */
	margin-top: 15px;
	/* Space above caption */
	text-align: center;
	/* Center the caption under the image */
}

.hamburger {
	display: none;
	font-size: 30px;
	cursor: pointer;
	padding: 15px;
}


/* Hide the menu on small screens */
@media (max-width: 768px) {
	nav {
		display: flex;
		justify-content: flex-end;
		/* Push the hamburger to the right */
	}

	nav ul {
		display: none;
		/* Hide the menu initially */
		flex-direction: column;
		align-items: flex-start;
		/* Align menu items to the left */
		width: 100%;
		background-color: #ffffff;
		position: absolute;
		/* Absolutely position the menu */
		top: 0;
		right: 0;
		/* Position the menu on the right side */
		z-index: 1000;
		padding: 0;
	}

	nav ul li {
		width: 100%;
		text-align: right;
		/* Align menu items to the right */
	}

	nav ul li a {
		padding: 15px;
		text-align: left;
		/* Align links to the left */
		font-size: 1.2rem;
		/* Adjust font size */
		color: #333333;
		/* Dark text for readability */
		text-decoration: none;
		/* Remove underline from links */
		transition: background-color 0.3s ease, color 0.3s ease;
		/* Smooth transition */
		display: block; /* Make links block level for better touch target */
	}

	/* Hover effect for links */
	nav ul li a:hover {
		background-color: #fb8b23;
		/* Highlight on hover */
		color: #ffffff;
		/* Change text color on hover */
	}

	/* Show the menu when toggled */
	nav ul.show {
		display: flex;
		/* Show the menu when toggled */
	}

	.hamburger {
		display: block;
		/* Show hamburger icon */
	}
}

#menu {
	display: none;
}

.menu-toggle {
	display: block;
	/* Ensure the toggle is visible */
}

/* Hide the dropdown menu initially */
nav ul li ul {
    display: none; /* Dropdown is hidden by default */
    position: absolute; /* Position the dropdown relative to parent */
    top: 100%; /* Position dropdown below parent item */
    left: 0; /* Align dropdown to the left */
    background-color: #ffffff; /* Background color */
    padding: 0; /* Remove padding */
    margin: 0; /* Remove margin */
    list-style: none; /* Remove bullets */
    z-index: 1000; /* Ensure it appears above other elements */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Optional shadow */
}

/* Show the dropdown when hovering over parent item */
nav ul li:hover > ul {
    display: block; /* Make the dropdown visible */
}

/* Style the dropdown items */
nav ul li ul li {
    text-align: left; /* Align items to the left */
    padding: 10px; /* Add padding for items */
}

nav ul li ul li a {
    display: block; /* Make links block-level */
    padding: 10px; /* Add padding for clickable area */
    color: #333333; /* Text color */
    text-decoration: none; /* Remove underline */
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth hover effect */
}

/* Hover effect for dropdown links */
nav ul li ul li a:hover {
    background-color: #fb8b23; /* Highlight background on hover */
    color: #ffffff; /* Change text color on hover */
}
