/* ========================================================================
NDS Refresh V2.0.0 | ndsrefresh.uk
======================================================================== */

/* ----------------------------------------------
Defaults
---------------------------------------------- */
a { text-decoration: none; }
dd, dl, dt, p, pre { margin: 0; }
ol, ul { margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6 { font-weight: 500; margin: 0; }
img { display: block; height: auto; max-width: 100%; }


/* ----------------------------------------------
Fonts
---------------------------------------------- */
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 400; src: url('../fonts/roboto-v47-latin-regular.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 500; src: url('../fonts/roboto-v47-latin-500.woff2') format('woff2'); }


/* ----------------------------------------------
Light Theme Variables
---------------------------------------------- */
@media (prefers-color-scheme: light) {

	body { --body_1: #FFFFFF; --body_2: #575757; }	
	.site_loader { --site_loader_1: #FFFFFF; --site_loader_2: #1F6DD9; --site_loader_3: #ECF0F5; }
	.site_header { --site_header_1: #FFFFFF; --site_header_2: #1F6DD9; --site_header_3: #404040; --site_header_4: #F0F0F0; }
	.hero_header { --hero_header_1: #1F6DD9; --hero_header_2: #FFFFFF; }
	.page_header { --page_header_1: #1F6DD9; --page_header_2: #FFFFFF; --page_header_3: #CACACA; }
	.content_section { --content_section_1: #EDF3F9; }
	.content_header { --content_header_1: #404040; --content_header_2: #1B1BFE; --content_header_3: #1F6DD9; }
	.linked_list { --linked_list_1: #404040; }
	.card { --card_1: #FFFFFF; }
	.product_card { --product_card_1: #1F6DD9; --product_card_2: #404040; --product_card_3: #1F6DD9; --product_card_4: #FFFFFF; --product_card_5: #FFFFFF; }
	.review_card { --review_card_1: #D6EAFF; --review_card_2: #1F6DD9; --review_card_3: #404040; }


	/* Service Cards
	------------------------------- */
	.service_card {
		--service_card_1: #;
	}


	.feedback_card { --feedback_card_1: #D91139; --feedback_card_2: #717070; --feedback_card_3: #058440; --feedback_card_4: #FFFFFF; --feedback_card_5: #404040; }
	.site_footer { --site_footer_1: #FFFFFF; --site_footer_2: #1F6DD9; --site_footer_3: #404040; --site_footer_4: #F0F0F0; }
	.scroll_top { --scroll_top_1: #1F6DD9; --scroll_top_2: #535353A3; --scroll_top_3: #404040; --scroll_top_4: #FFFFFF; }


:root {
		--theme_font: #1F6DD9;
		--theme_button_bg: #1F6DD9;
		--theme_button_font: #FFFFFF;
		--border_colour_2: #1F6DD9;
		--theme_colour_1: #1F6DD9;
		--theme_colour_2: #FFFFFF;
		--theme_colour_3: #404040;
	}

}


/* ----------------------------------------------
Dark Theme Variables
---------------------------------------------- */
@media (prefers-color-scheme: dark) {

	body { --body_1: #1B2A47; --body_2: #A1BBC9; }
	.site_loader { --site_loader_1: #1B2A47; --site_loader_2: #1589FF; --site_loader_3: #152036; }
	.site_header { --site_header_1: #1B2A47; --site_header_2: #1589FF; --site_header_3: #CBE5F2; --site_header_4: #23375B; }
	.hero_header { --hero_header_1: #253D6C; --hero_header_2: #CBE5F2; }
	.page_header { --page_header_1: #253D6C; --page_header_2: #CBE5F2; --page_header_3: #9C9C9C; }
	.content_section { --content_section_1: #152036; }
	.content_header { --content_header_1: #CBE5F2; --content_header_2: #1589FF; --content_header_3: #1589FF; }
	.linked_list { --linked_list_1: #515C73; }
	.card { --card_1: #1B2A47; }
	.product_card { --product_card_1: #253D6C; --product_card_2: #CBE5F2; --product_card_3: #1589FF; --product_card_4: #FFFFFF; --product_card_5: #1B2A47; }
	.review_card { --review_card_1: #253D6C; --review_card_2: #1589FF; --review_card_3: #CBE5F2; }


	/* Service Cards
	------------------------------- */
	.service_card {
		--service_card_1: #;
	}


	.feedback_card { --feedback_card_1: #D42A2A; --feedback_card_2: #536484; --feedback_card_3: #1C9640; --feedback_card_4: #FFFFFF; --feedback_card_5: #CBE5F2; }
	.site_footer { --site_footer_1: #1B2A47; --site_footer_2: #1589FF; --site_footer_3: #CBE5F2; --site_footer_4: #23375B; }
	.scroll_top { --scroll_top_1: #1589FF; --scroll_top_2: #5C7880A3; --scroll_top_3: #5A6781; --scroll_top_4: #CBE5F2; }


:root {
		--theme_font: #1589FF;
		--theme_button_bg: #116CCA;
		--theme_button_font: #FFFFFF;
		--border_colour_2: #06B9FF;
		--theme_colour_1: #1F1F1F;
		--theme_colour_2: #0A0A0A;
		--theme_colour_3: #404040;
	}

}



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

/* Buttons
------------------------------- */

.icon_button {
	display: flex;
	align-items: center;
	justify-content: center;
	outline: 3px dotted transparent;
	outline-offset: 3px;
	transition: all 0.5s ease-in-out;
}


/* HTML
------------------------------- */
html {
	line-height: normal;
	scroll-behavior: smooth;
}


/* Body
------------------------------- */
body {
	background-color: var(--body_1);
	color: var(--body_2);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	min-width: 300px;
}


/* Site Loader
------------------------------- */
.site_loader {
	background-color: var(--site_loader_1);
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	inset: 0;
	overflow: hidden;
	z-index: 1000;
}

.site_loader span {
	border: 7px solid transparent;
	border-color: var(--site_loader_2) var(--site_loader_3) var(--site_loader_3) var(--site_loader_3);
	border-radius: 50%;
	height: 120px;
	width: 120px;
	animation: site_loader 1s linear infinite;
	-webkit-animation: site_loader 1s linear infinite;
}


/* Site Header
------------------------------- */
.site_header {
	background-color: var(--site_header_1);
	position: sticky;
	inset: 0;
	z-index: 1000;
}

.site_header .row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 80px;
	padding-inline: 40px;
	transition: padding-inline 0.5s ease-in-out;
}

.site_header .logo {
	font-size: 2.4em;
	font-weight: 500;
	transition: font-size 0.5s ease-in-out;
}

.site_header .logo a {
	color: var(--site_header_2);
	outline: none;
}

.site_header .logo a:before {
	content: '';
	display: block;
	margin: 0 auto;
	height: 4px;
	width: 0;
	transition: margin 0.5s ease-in-out;
}

.site_header .logo a span {
	color: var(--site_header_3);
	display: inline-block;
	margin-inline: 4px 0;
}

.site_header .logo a:after {
	background-color: var(--site_header_2);
	content: '';
	display: block;
	margin: 0 auto;
	height: 4px;
	width: 0;
	transition: background-color 0.5s ease-in-out, width 0.5s linear;
}

.site_header .logo a:focus:after {
	background-color: var(--site_header_3);
	width: 30px;
}

.site_header .logo a:active:after {
	width: 0;
}

.site_header .navigation ul {
	display: flex;
	list-style: none;
}

.site_header .navigation ul li {
	margin-inline: 40px 0;
	transition: margin 0.5s ease-in-out;
}

.site_header .navigation ul li:first-child {
	margin-inline: 0;
}

.site_header .navigation ul li a {
	color: var(--site_header_3);
	font-size: 1.2em;
	font-weight: 500;
	letter-spacing: 0.8px;
	padding-block: 4px;
	outline: none;
	transition: color 0.5s ease-in-out;
}

.site_header .navigation ul li a:focus {
	color: var(--site_header_2);
}

.site_header .navigation ul li a:before {
	content: '';
	display: block;
	margin-block: 0 4px;
	margin-inline: auto;
	height: 4px;
	width: 0;
	transition: margin 0.5s ease-in-out;
}

.site_header .navigation ul li a:after {
	background-color: var(--site_header_2);
	content: '';
	display: block;
	margin-block: 4px 0;
	margin-inline: auto;
	height: 4px;
	width: 0;
	transition: background-color 0.5s ease-in-out, margin 0.5s ease-in-out, width 0.5s linear;
}

.site_header .navigation ul li a:focus:after {
	background-color: var(--site_header_3);
	width: 30px;
}

.site_header .navigation ul li a:hover:after {
	width: 30px;
}

.site_header .navigation ul li a.active:after {
	width: 30px;
}

.site_header .menu_button {
	display: none;
}

.site_header .menu_button a {
	position: absolute;
	height: 24px;
	width: 36px;
}

.site_header .menu_button a:focus span,
.site_header .menu_button a:hover span {
	background-color: var(--site_header_2);
}

.site_header .menu_button span {
	background-color: var(--site_header_3);
	position: absolute;
	inset-block: 10px 0;
	inset-inline: auto 0;
	height: 4px;
	width: 20px;
	transition: background-color 0.5s ease-in-out, opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}

.site_header .menu_button span:first-child {
	inset-block: 0;
	width: 36px;
}

.site_header .menu_button span:last-child {
	inset-block: 20px;
	width: 36px;
}

.site_header .menu_button.visible span {
	opacity: 0;
}

.site_header .menu_button.visible span:first-child {
	transform: translateY(10px) translateX(0) rotate(45deg);
	opacity: 1;
}

.site_header .menu_button.visible span:last-child {
	transform: translateY(-10px) translateX(0) rotate(-45deg);
	opacity: 1;
}


/* Hero Header
------------------------------- */
.hero_header {
	background: url('../branding/background_x100.min.png'), var(--hero_header_1);
	animation: bg_animation 44s linear infinite;
	-webkit-animation: bg_animation 44s linear infinite;
}

.hero_header .container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: calc(100dvh - 80px);
	height: -moz-calc(100dvh - 80px);
	height: -o-calc(100dvh - 80px);
	height: -webkit-calc(100dvh - 80px);
	min-height: 270px;
}

.hero_header .row {
	display: flex;
	justify-content: center;
	padding-inline: 40px;
	transition: padding-inline 0.5s ease-in-out;
}

.hero_header .title {
	text-align: center;
}

.hero_header .title h1 {
	color: var(--hero_header_2);
	font-size: 4em;
	letter-spacing: 2px;
	line-height: 1.4;
	transition: font-size 0.5s ease-in-out;
}

.hero_header .middle_row {
	margin-block: 0 14px;
}

.hero_header .subtitle {
	display: flex;
	align-items: center;
	text-align: center;
	min-height: 70px;
}

.hero_header .subtitle p {
	color: var(--hero_header_2);
	font-size: 1.6em;
	font-weight: 500;
	letter-spacing: 0.6px;
	line-height: 1.4;
	transition: font-size 0.5s ease-in-out;
}

.hero_header .subtitle p span.static {
	display: none;
}

.hero_header .subtitle p span.typing_cursor {
	animation: animated_cursor 0.7s infinite;
	-webkit-animation: animated_cursor 0.7s infinite;
	opacity: 1;
}

.hero_header .link a {
	display: block;
	border: 2px solid var(--hero_header_2);
	border-radius: 50px;
	color: var(--hero_header_2);
	font-size: 1.1em;
	font-weight: 500;
	letter-spacing: 0.6px;
	padding: 12px 24px;
	outline: 3px dotted transparent;
	outline-offset: 3px;
	transition: background-color 0.5s ease-in-out, border-color 0.5s ease-in-out, color 0.5s ease-in-out, outline-color 0.5s ease-in-out;
}

.hero_header .link a:focus {
	background-color: var(--hero_header_2);
	border-color: var(--hero_header_2);
	color: var(--hero_header_1);
	outline-color: var(--hero_header_2);
}

.hero_header .link a:hover {
	background-color: var(--hero_header_2);
	border-color: var(--hero_header_2);
	color: var(--hero_header_1);
}

.hero_header + .content_section {
	scroll-margin-block: 80px 0;
}


/* Page Header
------------------------------- */
.page_header {
	background: url('../branding/background_x100.min.png'), var(--page_header_1);
	animation: bg_animation 44s linear infinite;
	-webkit-animation: bg_animation 44s linear infinite;
}

.page_header .row {
	padding-inline: 40px;
	transition: padding-inline 0.5s ease-in-out;
}

.page_header .top_row {
	margin-block: 0 8px;
	padding-block: 80px 0;
}

.page_header .bottom_row {
	padding-block: 0 80px;
}

.page_header .title {
	text-align: center;
}

.page_header .title h1 {
	color: var(--page_header_2);
	font-size: 2.2em;
	letter-spacing: 0.6px;
	line-height: 1.4;
	transition: font-size 0.5s ease-in-out;
}

.page_header .breadcrumb ol {
	display: flex;
	justify-content: center;
	list-style: none;
}

.page_header .breadcrumb ol li {
	color: var(--page_header_2);
	font-size: 0.9em;
	letter-spacing: 0.4px;
	padding-block: 4px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.page_header .breadcrumb ol li:not(.page_header .breadcrumb ol li.active) {
	min-width: max-content;
}

.page_header .breadcrumb ol li+li:before {
	content: '\2215';
	display: inline-block;
	padding-inline: 10px;
}

.page_header .breadcrumb ol li a {
	color: var(--page_header_3);
	outline: none;
	text-underline-offset: 4px;
	text-decoration: underline transparent;
	transition: color 0.5s ease-in-out, text-decoration-color 0.5s ease-in-out;
}

.page_header .breadcrumb ol li a:focus {
	color: var(--page_header_2);
	text-decoration-color: var(--page_header_2);
}

.page_header .breadcrumb ol li a:hover {
	color: var(--page_header_2);
}


/* Content Section
------------------------------- */
.content_section {
	background-color: var(--content_section_1);
}

.content_section.full_height {
	min-height: calc(100dvh - 80px);
	min-height: -moz-calc(100dvh - 80px);
	min-height: -o-calc(100dvh - 80px);
	min-height: -webkit-calc(100dvh - 80px);
}


/* Content Header
------------------------------- */
.content_header .row {
	padding-inline: 40px;
	transition: padding-inline 0.5s ease-in-out;
}

.content_header .top_row {
	margin-block: 0 8px;
	padding-block: 40px 0;
}

.content_header .title {
	text-align: center;
}

.content_header .title h2 {
	color: var(--content_header_1);
	font-size: 2.2em;
	letter-spacing: 0.6px;
	line-height: 1.4;
	transition: font-size 0.5s ease-in-out;
}

.content_header .subtitle {
	text-align: center;
}

.content_header .subtitle p {
	color: var(--content_header_1);
	font-size: 1.1em;
	line-height: 1.4;
	transition: font-size 0.5s ease-in-out;
}

.content_header .subtitle p:after {
	background-color: var(--content_header_3);
	content: '';
	display: block;
	height: 5px;
	width: 60px;
	margin: 20px auto 0 auto;
}

.content_header .subtitle p a {
	color: var(--content_header_2);
	font-weight: 500;
	letter-spacing: 0.3px;
	outline: none;
	text-underline-offset: 4px;
	text-decoration: underline double transparent;
	transition: color 0.5s ease-in-out, text-decoration-color 0.5s ease-in-out;
}

.content_header .subtitle p a:focus {
	color: var(--content_header_1);
	text-decoration-color: var(--content_header_2);
}

.content_header .subtitle p a:hover {
	color: var(--content_header_1);
}


/* Grid Containers
------------------------------- */
.grid_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	transition: padding-inline 0.5s ease-in-out;
}

.grid_container.x2_columns {
	padding-block: 20px;
	padding-inline: 20px;
}

.grid_container.x4_columns {
	padding-block: 20px;
	padding-inline: 30px;
}

.grid_container.x2_columns .column {
	display: flex;
	flex: 0 0 50%;
	max-width: 50%;
}

.grid_container.x4_columns .column {
	flex: 0 0 25%;
	max-width: 25%;
}

.grid_container.x2_columns .column .card {
	margin-block: 20px;
	margin-inline: 20px;
}

.grid_container.x4_columns .column .card {
	margin-block: 20px;
	margin-inline: 10px;
}


/* List Containers
------------------------------- */
.list_container {
	padding-block: 20px;
	padding-inline: 40px;
	transition: padding-inline 0.5s ease-in-out;
}


/* Linked Lists
------------------------------- */
.linked_list .link {
	position: relative;
	margin-block: 20px;
}

.linked_list .link:before {
	background-color: var(--linked_list_1);
	content: '';
	position: absolute;
	inset-block: 0;
	inset-inline: 4px 0;
	position: absolute;
	width: 3px;
}


/* Cards
------------------------------- */
.card {
	background-color: var(--card_1);
}


/* Product Cards
------------------------------- */
.product_card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.product_card .thumbnail {
	margin-block: 0 8px;
}

.product_card .thumbnail img.placeholder {
	background-color: var(--product_card_1);
}

.product_card .title {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	max-width: 100%;
	text-align: center;
}

.product_card .title h2 {
	color: var(--product_card_2);
	font-size: 1.2em;
	letter-spacing: 0.3px;
	line-height: 1.4;
}

.product_card .title h3 {
	color: var(--product_card_2);
	font-size: 1.2em;
	letter-spacing: 0.3px;
	line-height: 1.4;
}

.product_card .title .ellipsis_title {
	padding-inline: 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.product_card .long_title {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 80px;
	padding-inline: 12px;
	text-align: center;
}

.product_card .long_title h2 {
	color: var(--product_card_2);
	font-size: 1.2em;
	letter-spacing: 0.3px;
	line-height: 1.4;
}

.product_card .subtitle {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 70px;
	padding-inline: 12px;
	text-align: center;
}

.product_card .subtitle p {
	font-size: 1em;
	line-height: 1.4;
}

.product_card .price {
	margin-block: 0 10px;
	padding-inline: 12px;
}

.product_card .price span {
	color: var(--product_card_3);
	font-size: 1.6em;
	font-weight: 500;
	letter-spacing: 0.3px;
}

.product_card .link {
	margin-block: 0 20px;
	padding-inline: 12px;
}

.product_card .link a {
	display: block;
	background-color: var(--product_card_3);
	border: 2px solid var(--product_card_3);
	border-radius: 50px;
	color: var(--product_card_4);
	font-size: 1em;
	font-weight: 500;
	letter-spacing: 0.6px;
	padding: 10px 28px;
	outline: 3px dotted transparent;
	outline-offset: 3px;
	transition: background-color 0.5s ease-in-out, border-color 0.5s ease-in-out, color 0.5s ease-in-out, outline-color 0.5s ease-in-out;
}

.product_card .link a:focus {
	background-color: var(--product_card_5);
	border-color: var(--product_card_3);
	color: var(--product_card_3);
	outline-color: var(--product_card_3);
}

.product_card .link a:hover {
	background-color: var(--product_card_5);
	border-color: var(--product_card_3);
	color: var(--product_card_3);
}


/* Review Cards
------------------------------- */
.review_card {
	display: flex;
}

.review_card .first_column {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 20px 10px;
}

.review_card .icon {
	background-color: var(--review_card_1);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	width: 50px;
}

.review_card .icon svg path {
	fill: var(--review_card_2);
}

.review_card .last_column {
	padding-block: 20px;
	padding-inline: 10px 20px;
}

.review_card .title {
	margin-block: 0 18px;
}

.review_card .title h3 {
	color: var(--review_card_3);
	font-size: 1.4em;
	letter-spacing: 0.3px;
	line-height: 1.4;
}

.review_card .comment p {
	font-size: 1em;
	line-height: 1.4;
}


/* Service Cards
------------------------------- */


/* Feedback Cards
------------------------------- */
.feedback_card {
	border-inline-start: 4px solid transparent;
	position: relative;
	margin-block: 0 30px;
	margin-inline: 40px 0;
}

.feedback_card:last-child {
	margin-block: 0;
}

.feedback_card.negative {
	border-color: var(--feedback_card_1);
}

.feedback_card.neutral {
	border-color: var(--feedback_card_2);
}

.feedback_card.positive {
	border-color: var(--feedback_card_3);
}

.feedback_card:before {
	border: 11px solid transparent;
	content: '';
	position: absolute;
	inset-block: 28px auto;
	inset-inline: -24px auto;
}

.feedback_card.negative:before {
	border-inline-end-color: var(--feedback_card_1);
}

.feedback_card.neutral:before {
	border-inline-end-color: var(--feedback_card_2);
}

.feedback_card.positive:before {
	border-inline-end-color: var(--feedback_card_3);
}

.feedback_card .icon {
	border-radius: 50%;
	position: absolute;
	inset-block: 22px 0px;
	inset-inline: -54px 0px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 30px;
	width: 30px;
}

.feedback_card.negative .icon {
	background-color: var(--feedback_card_1);
}

.feedback_card.neutral .icon {
	background-color: var(--feedback_card_2);
}

.feedback_card.positive .icon {
	background-color: var(--feedback_card_3);
}

.feedback_card .icon svg path {
	fill: var(--feedback_card_4);
}

.feedback_card .row {
	padding-block: 18px;
	padding-inline: 18px;
}

.feedback_card .comment {
	margin-block: 0 14px;
}

.feedback_card .comment p {
	color: var(--feedback_card_5);
	font-size: 1em;
	font-weight: 500;
	letter-spacing: 0.2px;
	line-height: 1.4;
}

.feedback_card .subtitle p {
	font-size: 1em;
	line-height: 1.4;
}


/* Card Hover Effects
------------------------------- */
.jumping_card {
	transform: translateY(0);
	-moz-transform: translateY(0);
	-o-transform: translateY(0);
	-webkit-transform: translateY(0);
	transition: transform 0.4s ease-in-out;
	-moz-transition: transform 0.4s ease-in-out;
	-o-transition: transform 0.4s ease-in-out;
	-webkit-transition: transform 0.4s ease-in-out;
}

.jumping_card:hover {
	transform: translateY(-20px);
	-moz-transform: translateY(-20px);
	-o-transform: translateY(-20px);
	-webkit-transform: translateY(-20px);
}


/* Site Footer
------------------------------- */
.site_footer {
	background-color: var(--site_footer_1);
}

.site_footer .row {
	padding-inline: 40px;
	transition: padding-inline 0.5s ease-in-out;
}

.site_footer .top_row {
	display: flex;
	flex-wrap: wrap;
	margin-block: 0 8px;
	padding-block: 40px 0;
}

.site_footer .top_row .first_column {
	flex: 0 0 25%;
	max-width: 25%;
	transition: margin-block 0.5s ease-in-out;
}

.site_footer .logo {
	font-size: 2.4em;
	font-weight: 500;
	transition: font-size 0.5s ease-in-out;
}

.site_footer .logo {
	color: var(--site_footer_2);
}

.site_footer .logo span {
	color: var(--site_footer_3);
	display: inline-block;
	margin-inline: 4px 0;
}

.site_footer .top_row .middle_column {
	flex: 0 0 50%;
	max-width: 50%;
	transition: margin-block 0.5s ease-in-out;
}

.site_footer .navigation ul {
	display: flex;
	justify-content: center;
	list-style: none;
}

.site_footer .navigation ul li {
	margin-block: 6px;
	margin-inline: 12px;
	transition: margin-inline 0.5s ease-in-out;
}

.site_footer .navigation ul li a {
	color: var(--site_footer_3);
	font-size: 1.1em;
	font-weight: 500;
	letter-spacing: 0.6px;
	padding-block: 4px;
	outline: none;
	transition: color 0.5s ease-in-out;
}

.site_footer .navigation ul li a:focus {
	color: var(--site_footer_2);
}

.site_footer .navigation ul li a:before {
	content: '';
	display: block;
	margin-block: 0 4px;
	margin-inline: auto;
	height: 4px;
	width: 0;
	transition: margin 0.5s ease-in-out;
}

.site_footer .navigation ul li a:after {
	background-color: var(--site_footer_2);
	content: '';
	display: block;
	margin-block: 4px 0;
	margin-inline: auto;
	height: 4px;
	width: 0;
	transition: background-color 0.5s ease-in-out, margin 0.5s ease-in-out, width 0.5s linear;
}

.site_footer .navigation ul li a:focus:after {
	background-color: var(--site_footer_3);
	width: 30px;
}

.site_footer .navigation ul li a:hover:after {
	width: 30px;
}

.site_footer .navigation ul li a.active:after {
	width: 30px;
}

.site_footer .top_row .last_column {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 25%;
	max-width: 25%;
	transition: margin-inline 0.5s ease-in-out;
}

.site_footer .socials ul {
	display: flex;
	list-style: none;
}

.site_footer .socials ul li {
	margin-inline: 16px 0;
}

.site_footer .socials ul li:first-child {
	margin-inline: 0;
}

.site_footer .socials ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 30px;
	width: 30px;
	border-radius: 50px;
	outline: 3px dotted transparent;
	outline-offset: 2px;
	transition: outline 0.5s ease-in-out;
}

.site_footer .socials ul li a:focus {
	outline-color: var(--site_footer_3);
}

.site_footer .socials ul li a:hover {
	outline-color: transparent;
}

.site_footer .socials ul li a svg path {
	fill: var(--site_footer_3);
	transition: fill 0.5s ease-in-out;
}

.site_footer .socials ul li a:focus svg path {
	fill: var(--site_footer_2);
}

.site_footer .socials ul li a:hover svg path {
	fill: var(--site_footer_2);
}

.site_footer .middle_row {
	margin-block: 0 14px;
}

.site_footer .middle_row .links {
	text-align: center;
}

.site_footer .links a {
	display: inline-block;
	color: var(--site_footer_3);
	font-size: 1em;
	letter-spacing: 0.6px;
	min-width: 36px;
	margin-block: 6px;
	margin-inline: 8px;
	padding-block: 4px;
	outline: none;
	transition: color 0.5s ease-in-out;
}

.site_footer .links a:focus {
	color: var(--site_footer_2);
}

.site_footer .links a:before {
	content: '';
	display: block;
	margin-block: 0 4px;
	margin-inline: auto;
	height: 4px;
	width: 0;
	transition: margin 0.5s ease-in-out;
}

.site_footer .links a:after {
	background-color: var(--site_footer_2);
	content: '';
	display: block;
	margin-block: 4px 0;
	margin-inline: auto;
	height: 4px;
	width: 0;
	transition: background-color 0.5s ease-in-out, margin 0.5s ease-in-out, width 0.5s linear;
}

.site_footer .links a:focus:after {
	background-color: var(--site_footer_3);
	width: 30px;
}

.site_footer .links a:hover:after {
	width: 30px;
}

.site_footer .links a.active:after {
	width: 30px;
}

.site_footer .bottom_row {
	display: flex;
	justify-content: space-between;
	border-block-start: 1px solid var(--site_footer_4);
	padding-block: 16px;
}

.site_footer .information {
	font-size: 1em;
}


/* Scroll Top
------------------------------- */
.scroll_top {
	position: fixed;
	inset-block: auto 40px;
	inset-inline: auto 38px;
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
	transition: inset-inline 0.5s ease-in-out, opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}

.scroll_top.visible {
	opacity: 1;
	visibility: visible;
}

.scroll_top a {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--scroll_top_1);
	border-radius: 50%;
	box-shadow: 0 4px 16px 0 var(--scroll_top_2);
	outline: 3px dotted transparent;
	outline-offset: 3px;
	height: 50px;
	width: 50px;
	transition: background-color 0.5s ease-in-out, outline-color 0.5s ease-in-out, height 0.5s ease-in-out, width 0.5s ease-in-out;
}

.scroll_top a:focus {
	background-color: var(--scroll_top_3);
	outline-color: var(--scroll_top_3);
}

.scroll_top a:hover {
	background-color: var(--scroll_top_3);
}

.scroll_top a svg {
	transition: height 0.5s ease-in-out, width 0.5s ease-in-out;
}

.scroll_top a svg path {
	fill: var(--scroll_top_4);
}



/* Text Align Classes
---------------------------------- */
.ta_c {
	text-align: center;
}


/* Flex Icon Classes
---------------------------------- */
.flex_icon {
	display: flex;
	align-items: center;
	justify-content: center;
}


/* Content Links
---------------------------------- */
a.content_link {
	color: var(--theme_colour_3);
	font-weight: 500;
	letter-spacing: 0.3px;
	outline: none;
	text-underline-offset: 6px;
	text-decoration: underline transparent;
	transition: color 0.5s ease-in-out, text-decoration-color 0.5s ease-in-out;
}

a.content_link:focus {
	color: var(--theme_colour_1);
	text-decoration-color: #202020;
}

a.content_link:hover {
	color: var(--theme_colour_1);
}









/* Grid List
------------------------------- */
.flex_grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.grid_container .flex_row {
	display: flex;
	justify-content: center;
}

.grid_container .flex_column {
	display: flex;
}

.grid_container .sliding_card {
	transform: translateY(0);
	-moz-transform: translateY(0);
	-o-transform: translateY(0);
	-webkit-transform: translateY(0);
	transition: transform 0.4s ease-in-out;
	-moz-transition: transform 0.4s ease-in-out;
	-o-transition: transform 0.4s ease-in-out;
	-webkit-transition: transform 0.4s ease-in-out;
}

.grid_container .sliding_card:hover {
	transform: translateY(-20px);
	-moz-transform: translateY(-20px);
	-o-transform: translateY(-20px);
	-webkit-transform: translateY(-20px);
}

.grid_container .price_font {
	color: var(--theme_font);
	font-size: 1.6em;
	font-weight: 600;
	letter-spacing: 0.3px;
}

.card .theme_button {
	background-color: var(--theme_button_bg);
	color: var(--theme_button_font);
}

.grid_container .basic_card {
	padding-block: 20px 30px;
	padding-inline: 30px;
	width: 100%;
}

.grid_container .basic_card .title {
	border-block-end: 2px solid var(--border_colour_2);
	padding-block: 0 6px;
	padding-inline: 6px;
}

.grid_container .basic_card .title_font {
	font-size: 1.5em;
	letter-spacing: 0.6px;
	line-height: 1.4;
}

.grid_container .basic_card .information {
	padding-block: 12px 0;
}

.grid_container .basic_card .information_font {
	font-size: 1em;
	letter-spacing: 0.1px;
	line-height: 1.6;
	padding-block: 0 10px;
}

.grid_container .basic_card .information_font:last-child {
	padding-block: 0;
}


/* Row List
------------------------------- */
.row_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-block: 20px;
	padding-inline: 40px;
	transition: padding 0.5s ease-in-out;
}

.row_list .card {
	margin-block: 20px;
}

.row_list .card {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 100%;
}

.row_list .sliding_card {
	transform: translateX(0);
	-moz-transform: translateX(0);
	-o-transform: translateX(0);
	-webkit-transform: translateX(0);
	transition: transform 0.4s ease-in-out;
	-moz-transition: transform 0.4s ease-in-out;
	-o-transition: transform 0.4s ease-in-out;
	-webkit-transition: transform 0.4s ease-in-out;
}

.row_list .sliding_card:hover {
	transform: translateX(20px);
	-moz-transform: translateX(20px);
	-o-transform: translateX(20px);
	-webkit-transform: translateX(20px);
}

.row_list .card .first_column {
	display: flex;
	align-items: center;
	flex: 0 0 20%;
	max-width: 20%;
}

.row_list .card .middle_column {
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.row_list .card .title {
	padding-block: 18px 6px;
	padding-inline: 16px;
}

.row_list .card .title_font {
	font-size: 1.2em;
	letter-spacing: 0.3px;
	line-height: 1.4;
}

.row_list .card .subtitle {
	padding-inline: 16px;
}

.row_list .card .subtitle_font {
	font-size: 1em;
	letter-spacing: 0.1px;
	line-height: 1.4;
}

.row_list .card .description {
	padding-block: 6px 18px;
	padding-inline: 16px;
}

.row_list .card .description_font {
	font-size: 1em;
	letter-spacing: 0.1px;
	line-height: 1.4;
}

.row_list .card .information {
	padding-inline: 16px;
}

.row_list .card .information_font {
	font-size: 1em;
	font-style: italic;
	letter-spacing: 0.1px;
	line-height: 1.4;
}

.row_list .card .last_column {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	flex: 0 0 100%;
	max-width: 250px;
}

.row_list .card .price {
	padding-block: 18px 6px;
	padding-inline: 14px;
}

.row_list .card .price_font {
	color: var(--theme_colour_1);
	font-size: 1.6em;
	font-weight: 600;
	letter-spacing: 0.3px;
}

.row_list .card .link {
	padding-block: 6px 18px;
	padding-inline: 14px;
}

.row_list .card .link_button {
	font-size: 1em;
	background-color: var(--theme_colour_1);
	color: var(--theme_colour_2);
	width: 150px;
}

.row_list .card .link .button:focus {
	background-color: var(--theme_colour_2);
	border-color: var(--theme_colour_1);
	outline-color: var(--theme_colour_1);
	color: var(--theme_colour_1);
}

.row_list .card .link .button:hover {
	background-color: var(--theme_colour_2);
	border-color: var(--theme_colour_1);
	color: var(--theme_colour_1);
}

/* Pagination
------------------------------- */
.pagination {
	display: flex;
	justify-content: center;
	padding-block: 20px 40px;
	padding-inline: 40px;
}

.pagination ul {
	display: flex;
	list-style: none;
}

.pagination ul li {
	margin-inline: 8px;
}

.pagination ul li a {
	display: block;
	width: 34px;
	height: 34px;
	text-align: center;
	border-radius: 7px;
	outline: 2px solid transparent;
	outline-offset: 2px;
	transition: color 0.5s ease-in-out, background-color 0.5s ease-in-out, border-color 0.5s ease-in-out, outline 0.5s ease-in-out;
}

.pagination ul li a:not(.pagination ul li.arrow a) {
	line-height: 34px;
}

.pagination ul li a:not(.pagination ul li.current a) {
	color: var(--theme_colour_3);
}

.pagination ul li a:focus:not(.pagination ul li.current a:focus, .pagination ul li.arrow a:focus) {
	outline-color: var(--theme_colour_3);
	color: var(--theme_colour_1);
	font-weight: 500;
}

.pagination ul li a:hover:not(.pagination ul li.current a:hover, .pagination ul li.arrow a:hover) {
	color: var(--theme_colour_1);
	font-weight: 500;
}

.pagination ul li.arrow a {
	background-color: var(--theme_colour_2);
	border:	1px solid #E1E1E1;
	border-radius: 50%;
	line-height: 38px;
}

.pagination ul li.arrow a:focus {
	outline-color: var(--theme_colour_3);
}

.pagination ul li.arrow a:hover:not(.pagination ul li.current a:hover) {
	color: var(--theme_colour_2);
	background-color: var(--theme_colour_1);
	border-color: var(--theme_colour_1);
}

.pagination ul li.arrow a i {
	font-size: 1.2em;
}

.pagination ul li.current a {
	background-color: var(--theme_button_bg);
	color: var(--theme_button_font);
	font-weight: 500;
	padding-inline: 4px;
}

.pagination ul li.current a:focus {
	outline-color: var(--theme_colour_3);
}

.pagination .screen_reader {
	position: absolute;
	overflow: hidden;
	border: 0;
	clip-path: rect(0 0 0 0);
	margin: 0;
	padding: 0;
	height: auto;
	width: 1px;
}


/* Article Container
------------------------------- */
.article_container {
	padding-block: 20px;
	padding-inline: 30px;
	transition: padding 0.5s ease-in-out;
}

.flex_article {
	display: flex;
	flex-wrap: nowrap;
}

.flex_article .last_column {
	position: sticky;
	inset-block: 80px 0;
	height: 100%;
	flex: 0 0 100%;
	max-width: 350px;
	transition: max-width 0.5s ease-in-out;
}

.flex_article .card {
	margin-block: 20px 40px;
	margin-inline: 10px;
	padding-block: 16px;
	padding-inline: 16px;
}

.flex_article .card .title {
	border-block-end: 2px solid var(--border_colour_2);
	padding-block: 0 6px;
	padding-inline: 6px;
}

.flex_article .card .title_font {
	font-size: 1.2em;
	letter-spacing: 0.3px;
	line-height: 1.4;
}

.flex_article .card .information {
	padding-block: 14px 0;
	padding-inline: 16px;
}

.flex_article .card .information p {
	font-size: 1em;
	letter-spacing: 0.1px;
	line-height: 1.4;
}

.flex_article .card .information p b {
	font-weight: 500;
	color: #C90000;
}

.flex_article .card .information ul {
	padding-inline: 14px;
}

.flex_article .card .information ul.disc_list {
	list-style: disc;
}

.flex_article .card .information ul.icon_list {
	list-style: none;
}

.flex_article .card .information ul li {
	font-size: 1em;
	letter-spacing: 0.1px;
	line-height: 1.4;
	margin-block: 6px;
}

.flex_article .card .information .icon_list li i {
	color: var(--theme_colour_1);
	font-size: 20px;
	vertical-align: text-bottom;
	margin-inline: 0 4px;
}

.flex_article .card .information p + ul {
	margin-block: 14px 0;
}

.flex_article .card .information ul + p {
	margin-block: 14px 0;
}

.flex_article .information .price {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: 0 12px;
	padding-inline: 14px;
}

.flex_article .information .price_font {
	color: var(--theme_colour_1);
	font-size: 1.6em;
	font-weight: 600;
	letter-spacing: 0.3px;
}

.flex_article .information .mini_list {
	display: flex;
	justify-content: center;
	margin-block: 0 14px;
}

.flex_article .information .mini_list dl dt {
	color: var(--theme_colour_3);
	float: inline-start;
	font-weight: 500;
	line-height: 24px;
}

.flex_article .information .mini_list dl dd {
	line-height: 24px;
	margin-inline: 150px 0;
}

.flex_article .information .link {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: 0 18px;
	padding-inline: 14px;
}

.flex_article .information .link_button {
	font-size: 1em;
	background-color: var(--theme_colour_1);
	color: var(--theme_colour_2);
	width: 170px;
}

.flex_article .information .link .button:focus {
	background-color: var(--theme_colour_2);
	border-color: var(--theme_colour_1);
	outline-color: var(--theme_colour_1);
	color: var(--theme_colour_1);
}

.flex_article .information .link .button:hover {
	background-color: var(--theme_colour_2);
	border-color: var(--theme_colour_1);
	color: var(--theme_colour_1);
}


/* Content Block
------------------------------- */
.block_list {
	padding-block: 20px;
	padding-inline: 20px;
	transition: padding 0.5s ease-in-out;
}

.block_list .block_container {
	margin-block: 0 20px;
}

.block_list .block_container:last-child {
	margin-block: 0;
}


.block_list .block_container .block {
	background-color: var(--theme_colour_2);
	margin-block: 20px 40px;
	margin-inline: 20px;
	transition: margin 0.5s ease-in-out;
}

.block_list .block_container:last-child .block {
	margin-block: 20px;
}

.block_list .block_container .block .header {
	border-block-end: 4px solid var(--border_colour_2);
	padding-block: 16px 8px;
	padding-inline: 16px;
}

.block_list .block_container .block .header h2 {
	color: var(--theme_colour_3);
	font-size: 20px;
	letter-spacing: 0.3px;
	line-height: 1.4;
	transition: font-size 0.5s ease-in-out;
}

.block_list .block_container .block .content {
	padding-block: 16px;
	padding-inline: 16px;
}

.block_list .block_container .block .content p {
	font-size: 15px;
	line-height: 1.6;
	transition: font-size 0.5s ease-in-out;
}

.block_list .block_container .block .content ul {
	padding-inline: 16px 0;
}

.block_list .block_container .block .content ul li {
	font-size: 15px;
	line-height: 1.6;
	margin-block: 0 4px;
	transition: font-size 0.5s ease-in-out;
}

.block_list .block_container .block .content ul li:last-child {
	margin-block: 0;
}


/* Item Page
------------------------------- */
.item-content-block-expanded i {
	transform: rotate(-90deg);
}

.collapsible-item-content-block-inner {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease-in-out;
}

.item-content-block-inner {
	padding-block: 20px;
	padding-inline: 20px;
}

.item-content-block-inner h6 {
	color: var(--theme_colour_3);
	font-size: 15px;
	letter-spacing: 0.6px;
}

.item-gallery-image {
	display: grid;
	justify-items: center;
}

.gallery-item-content-block ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
}

.gallery-item-content-block li {
	margin-block: 20px 0;
	margin-inline: 10px;
	width: 100px;
}

.item-gallery-thumbnails img {
	cursor: pointer;
}

.regular-item-content-block p + p {
	margin-block: 12px 0;
}

.regular-item-content-block p + h6 {
	margin-block: 24px 0;
}

.regular-item-content-block h6 + ul {
	margin-block: 4px 0;
}

.regular-item-content-block ul + h6 {
	margin-block: 24px 0;
}

.regular-item-content-block code {
	background-color: #E0E5EC;
	color: #202020;
	display: inline-block;
	line-height: 1.6;
	padding-block: 10px;
	padding-inline: 10px;
}

.regular-item-content-block ul + pre {
	margin-block: 10px 0;
	margin-inline: 0 14px;
}

.regular-item-content-block dl + p {
	margin-block: 12px 0;
}


/* FAQ List
------------------------------- */
.faq-list {
	padding-block: 40px;
}

.collapsible-faq {
	background-color: var(--theme_colour_2);
	margin-block: 0 50px;
}

.collapsible-faq:first-child {
	margin-block: 20px 50px;
}

.collapsible-faq:last-child {
	margin-block: 0 20px;
}

.faq-header a {
	border-bottom: 4px solid #E80D0D;
	outline: 1px solid transparent;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-block: 16px 12px;
	padding-inline: 16px;
	transition: border 0.5s ease-in-out, color 0.5s ease-in-out, outline 0.5s ease-in-out;
}

.faq-header a:focus {
	outline-color: #C7CBD0;
}

.faq-header a:hover {
	border-color: #C60B0B;
}

.faq-header h2 {
	color: var(--theme_colour_3);
	font-size: 18px;
	letter-spacing: 0.3px;
	padding-block: 4px 0;
	padding-inline: 10px 0;
}

.faq-header i {
	color: var(--theme_colour_3);
	font-size: 20px;
	transition: all 0.5s;
}

.faq-expanded i {
	transform: rotate(-90deg);
}

.faq-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease-in-out;
}

.faq-expanded + .faq-content {
	max-height: 500px;
}

.faq-content p {
	line-height: 1.6;
	padding-block: 20px;
	padding-inline: 20px;
}



/* ----------------------------------------------
Keyframes
---------------------------------------------- */

/* Site Loader
------------------------------- */
@keyframes site_loader {
	0% {
		transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
	}
}

@-webkit-keyframes site_loader {
	0% {
		transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
	}
}


/* Animated Cursor
------------------------------- */
@keyframes animated_cursor {
	0% {
		opacity: 1;
	}

	50% {
		opacity: 0.0;
	}

	100% {
		opacity: 1;
	}
}

@-webkit-keyframes animated_cursor {
	0% {
		opacity: 1;
	}

	50% {
		opacity: 0.0;
	}

	100% {
		opacity: 1;
	}
}


/* Background Animation
------------------------------- */
@keyframes bg_animation {
	50% {
		background-position: -20% 100%
	}
}

@-webkit-keyframes bg_animation {
	50% {
		background-position: -20% 100%
	}
}



/* ----------------------------------------------
Responsive
---------------------------------------------- */

@media (max-width: 1200px) {

	/* Grid Containers
	------------------------------- */
	.grid_container.x4_columns .column {
		flex: 0 0 33.333%;
		min-width: 33.333%;
	}

}


@media (max-width: 1024px) {

	/* Site Header
	------------------------------- */
	.site_header .row {
		padding-inline: 30px;
	}

	.site_header .navigation ul li {
		margin-inline: 26px 0;
	}


	/* Hero Header
	------------------------------- */
	.hero_header .row {
		padding-inline: 30px;
	}

	.hero_header .title h1 {
		font-size: 3.6em;
	}

	.hero_header .subtitle p {
		font-size: 1.4em;
	}


	/* Page Header
	------------------------------- */
	.page_header .row {
		padding-inline: 30px;
	}

	.page_header .title h1 {
		font-size: 2em;
	}


	/* Content Header
	------------------------------- */
	.content_header .row {
		padding-inline: 30px;
	}

	.content_header .title h2 {
		font-size: 2em;
	}

	.content_header .subtitle p {
		font-size: 1em;
	}


	/* Grid Containers
	------------------------------- */
	.grid_container.x2_columns {
		padding-inline: 10px;
	}

	.grid_container.x4_columns {
		padding-inline: 20px;
	}


	/* List Containers
	------------------------------- */
	.list_container {
		padding-inline: 30px;
	}


	/* Site Footer
	------------------------------- */
	.site_footer .row {
		padding-inline: 30px;
	}

	.site_footer .navigation ul li {
		margin-inline: 8px;
	}

	.site_footer .socials ul li {
		margin-inline: 12px 0;
	}


	/* Scroll Top
	------------------------------- */
	.scroll_top {
		inset-inline: auto 28px;
	}

	.scroll_top a {
		height: 44px;
		width: 44px;
	}

	.scroll_top a svg {
		height: 20px;
		width: 20px;
	}





	/* Row List
	------------------------------- */
	.row_list {
		padding-inline: 30px;
	}

	.row_list .card .last_column {
		max-width: 220px;
	}

	/* Article Container
	------------------------------- */
	.article_container {
		padding-inline: 20px;
	}

	.flex_article .last_column {
		max-width: 320px;
	}

}


@media (max-width: 900px) {

	/* Grid Containers
	------------------------------- */
	.grid_container.x2_columns .column {
		flex: 0 0 100%;
		min-width: 100%;
	}

	.grid_container.x4_columns .column {
		flex: 0 0 50%;
		min-width: 50%;
	}


	/* Site Footer
	------------------------------- */
	.site_footer .top_row .first_column {
		display: flex;
		justify-content: center;
		flex: 0 0 100%;
		max-width: 100%;
		margin-block: 0 8px;
	}

	.site_footer .top_row .middle_column {
		justify-content: center;
		flex: 0 0 100%;
		max-width: 100%;
		margin-block: 0 20px;
	}

	.site_footer .top_row .last_column {
		justify-content: center;
		flex: 0 0 100%;
		max-width: 100%;
		margin-block: 0 4px;
	}

	.site_footer .top_row .socials ul li, .site_footer .top_row .socials ul li:first-child {
		margin-inline: 16px;
	}





	/* Row List
	------------------------------- */
	.row_list .card .last_column {
		max-width: 190px;
	}


	/* Article Container
	------------------------------- */
	.flex_article .last_column {
		max-width: 280px;
	}

}


@media (max-width: 860px) {

	/* Page Header
	------------------------------- */
	.page-header-title h1 {
		font-size: 34px;
	}


	/* Flex Article
	------------------------------- */
	.flex_article {
		flex-wrap: wrap;
	}

	.flex_article .last_column {
		position: revert;
		max-width: none;
	}

	.flex_article .first_column .card:last-child {
		margin-block: 20px;
	}

	.flex_article .last_column .card:last-child {
		margin-block: 20px;
	}

}


@media (max-width: 767px) {

	/* Site Header
	------------------------------- */
	.site_header .row {
		padding-inline: 20px;
	}

	.site_header .navigation {
		background-color: var(--site_header_1);
		inset-block: 80px auto;
		inset-inline: 0;
		position: absolute;
		visibility: hidden;
		overflow: hidden;
		transition: visibility 0.5s ease-in-out;
	}

	.site_header .navigation.visible {
		visibility: visible;
	}

	.site_header .navigation ul {
		display: block;
		max-height: 0;
		transition: max-height 0.5s ease-in-out;
	}

	.site_header .navigation.visible ul {
		max-height: 260px;
	}

	.site_header .navigation ul li {
		border-block-start: 1px solid var(--site_header_4);
		text-align: center;
		margin-inline: 0;
		padding-block: 10px;
		padding-inline: 12px;
		transition: none;
	}

	.site_header .navigation ul li:last-child {
		border-block-end: 1px solid var(--site_header_4);
	}

	.site_header .navigation ul li a:before {
		margin-block: 0 2px;
	}

	.site_header .navigation ul li a {
		display: block;
		padding-block: 2px;
	}

	.site_header .navigation ul li a:after {
		margin-block: 2px 0;
	}

	.site_header .menu_button {
		display: block;
		height: 24px;
		width: 36px;
	}


	/* Hero Header
	------------------------------- */
	.hero_header .row {
		padding-inline: 20px;
	}

	.hero_header .title h1 {
		font-size: 3em;
	}


	/* Page Header
	------------------------------- */
	.page_header .row {
		padding-inline: 20px;
	}

	.page_header .title h1 {
		font-size: 1.8em;
	}


	/* Content Header
	------------------------------- */
	.content_header .row {
		padding-inline: 20px;
	}

	.section_header .title_font {
		font-size: 1.8em;
	}


	/* Grid Containers
	------------------------------- */
	.grid_container.x2_columns {
		padding-inline: 0;
	}

	.grid_container.x4_columns {
		padding-inline: 10px;
	}


	/* Site Footer
	------------------------------- */
	.site_footer .row {
		padding-inline: 20px;
	}








	/* Row List
	------------------------------- */
	.row_list {
		padding-inline: 20px;
	}

	.row_list .row {
		flex: 0 0 50%;
		min-width: 50%;
	}

	.row_list .card {
		margin-block: 20px;
		margin-inline: 10px;
	}

	.row_list .card {
		flex-direction: column;
		width: auto;
	}

	.row_list .sliding_card:hover {
		transform: translateY(-20px);
		-moz-transform: translateY(-20px);
		-o-transform: translateY(-20px);
		-webkit-transform: translateY(-20px);
	}

	.row_list .card .first_column {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.row_list .card .title {
		text-align: center;
	}

	.row_list .card .subtitle {
		text-align: center;
	}

	.row_list .card .last_column {
		max-width: 100%;
	}


	/* FAQ List
	------------------------------- */
	.faq-list {
		padding-inline: 30px;
	}

}


@media (max-width: 720px) {

	/* Item Page
	------------------------------- */
	.regular-item-content-block dd {
		margin-inline: 130px 0;
	}

}


@media (max-width: 680px) {

	/* Item Page
	------------------------------- */
	.regular-item-content-block dd {
		margin-inline: 150px 0;
	}


	/* Article Container
	------------------------------- */
	.gallery-item-content-block li {
		width: 84px;
	}

}


@media (max-width: 600px) {

	/* Grid Containers
	------------------------------- */
	.grid_container.x4_columns .column {
		flex: 0 0 100%;
		min-width: 100%;
	}






	/* Row List
	------------------------------- */
	.row_list .row {
		flex: 0 0 100%;
		min-width: 100%;
	}

}


@media (max-width: 500px) {

	/* Item Page
	------------------------------- */
	.item-gallery {
		padding-block: 20px 5px;
		padding-inline: 20px;
	}

}


@media (max-width: 480px) {
	/* Site Header
	------------------------------- */
	.site_header .logo {
		font-size: 2.2em;
	}


	/* Hero Header
	------------------------------- */
	.hero_header .title h1 {
		font-size: 2.4em;
	}

	.hero_header .subtitle p {
		font-size: 1.1em;
	}


	/* Page Header
	------------------------------- */
	.page_header .title h1 {
		font-size: 1.7em;
	}


	/* Content Header
	------------------------------- */
	.content_header .title h2 {
		font-size: 1.7em;
	}


	/* List Containers
	------------------------------- */
	.list_container {
		padding-inline: 20px;
	}


	/* Cards
	------------------------------- */
	.review_card {
		flex-direction: column;
	}

	.review_card .first_column {
		padding-block: 20px 10px;
		padding-inline: 20px;
	}

	.review_card .last_column {
		padding-block: 10px 20px;
		padding-inline: 20px;
	}

	.review_card .title {
		text-align: center;
	}


	/* Site Footer
	------------------------------- */
	.site_footer .logo {
		font-size: 2.2em;
	}


	/* Scroll Top
	------------------------------- */
	.scroll_top {
		inset-inline: auto 18px;
	}







	/* Row List
	------------------------------- */
	.row_list {
		padding-inline: 10px;
	}


	/* Article Container
	------------------------------- */
	.article_container {
		padding-inline: 10px;
	}


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

	.block_list .block_container .block .content p {
		font-size: 14px;
	}

	.block_list .block_container .block .content ul li {
		font-size: 14px;
	}

}


@media (max-width: 380px) {

	/* Feedback Cards
	------------------------------- */
	.feedback_card {
		margin-inline: 36px 0;
	}

	.feedback_card .icon {
		inset-inline: -50px 0;
	}


	/* Site Footer
	------------------------------- */
	.site_footer .top_row .socials ul li,
	.site_footer .top_row .socials ul li:first-child {
		margin-inline: 12px;
	}






	/* Item Page
	------------------------------- */
	.regular-item-content-block dd {
		margin-inline: 130px 0;
	}

}
