/*
Theme Name: PortalProtectia
Text Domain: protectia
Version: 2.1
Tested up to: 6.1.1
Requires PHP: 8.0.1
*/
/*	0. CSS Reset
/* -------------------------------------------------------------------------- */
html,
body {
	border: none;
	margin: 0;
	padding: 0;
	font-display: swap;
	font-family: 'Inter';
	color: #7d7d7d;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td {
	border: none;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0;
	text-align: inherit;
}

blockquote::before,
blockquote::after {
	content: "";
}


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

/*	1. Document Setup
/* -------------------------------------------------------------------------- */


html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	background: #ffffff;
	box-sizing: border-box;
	color: #000;
	font-family: 'Inter';
	font-size: 1.8rem;
	letter-spacing: -0.015em;
	text-align: left;
}

@supports ( font-variation-settings: normal ) {

	body {
		font-family: 'Inter';
	}
}

*,
*::before,
*::after {
	box-sizing: inherit;
	-webkit-font-smoothing: antialiased;
	word-break: break-word;
	word-wrap: break-word;
}

#site-content {
	overflow: hidden;
}


/* Clearing ---------------------------------- */

.group::after,
.entry-content::after {
	clear: both;
	content: "";
	display: block;
}


/* Base Transitions -------------------------- */

a,
path {
	transition: all 0.15s linear;
}


/* Screen Reader Text ------------------------ */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
	word-break: normal;
}

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


/* Skip Link --------------------------------- */

.skip-link {
	left: -9999rem;
	top: 2.5rem;
	z-index: 999999999;
	text-decoration: underline;
}

.skip-link:focus {
	display: block;
	left: 6px;
	top: 7px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	line-height: normal;
	padding: 15px 23px 14px;
	z-index: 100000;
	right: auto;
}


/* Fonts ------------------------------------- */

/*
 * Chrome renders extra-wide &nbsp; characters for the Hoefler Text font.
 * This results in a jumping cursor when typing in both the classic editor and
 * block editor. The following font-face override fixes the issue by manually
 * inserting a custom font that includes just a Hoefler Text space replacement
 * for that character instead.
 */
@font-face {
	font-family: NonBreakingSpaceOverride;
	src: url(data:application/font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMoAA0AAAAACDQAAALTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGh4GYACCahEICjx3CywAATYCJANUBCAFhiEHgWwbXQfILgpsY+rQRRARwyAs6uL7pxzYhxEE+32b3aeHmifR6tklkS9hiZA0ewkqGRJE+H7/+6378ASViK/PGeavqJyOzsceKi1s3BCiQsiOdn1r/RBgIJYEgCUhbm/8/8/h4saPssnTNkkiWUBrTRtjmQSajw3Ui3pZ3LYDPD+XG2C3JA/yKAS8/rU5eNfuGqRf4eNNgV4YAlIIgxglEkWe6FYpq10+wi3g+/nUgvgPFczNrz/RsTgVm/zfbPuHZlsuQECxuyqBcQwKFBjFgKO8AqP4bAN9tFJtnM9xPcbNjeXS/x1wY/xU52f5W/X1+9cnH4YwKIaoRRAkUkj/YlAAeF/624foiIDBgBmgQBeGAyhBljUPZUm/l2dTvmpqcBDUOHdbPZWd8JsBAsGr4w8/EDn82/bUPx4eh0YNrQTBuHO2FjQEAGBwK0DeI37DpQVqdERS4gZBhpeUhWCfLFz7J99aEBgsJCHvUGAdAPp4IADDCAPCEFMGpMZ9AQpTfQtQGhLbGVBZFV8BaqNyP68oTZgHNj3M8kBPfXTTC9t90UuzYhy9ciH0grVlOcqyCytisvbsERsEYztiznR0WCrmTksJwbSNK6fd1Rvr25I9oLvctUoEbNOmXJbqgYgPXEHJ82IUsrCnpkxh23F1rfZ2zcRnJYoXtauB3VTFkFXQg3uoZYD5qE0kdjDtoDoF1h2bulGmev5HbYhbrjtohQSRI4aNOkffIcT+d3v6atpaYh3JvPoQsztCcqvaBkppDSPcQ3bw3KaCBo1f5CJWTZEgW3LjLofYg51MaVezrx8xZitYbQ9KYeoRaqQdVLwSEfrKXLK1otCWOKNdR/YwYAfon5Yk8O2MJfSD10dPGA5PIJJQMkah0ugMJiv6x4Dm7LEa8xnrRGGGLAg4sAlbsA07sAt76DOsXKO3hIjtIlpnnFrt1qW4kh6NhS83P/6HB/fl1SMAAA==) format("woff2"), url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAUQAA0AAAAACDQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAE9AAAABwAAAAchf5yU0dERUYAAATYAAAAHAAAAB4AJwAbT1MvMgAAAaAAAABJAAAAYJAcgU5jbWFwAAACIAAAAF4AAAFqUUxBZ2dhc3AAAATQAAAACAAAAAgAAAAQZ2x5ZgAAApAAAAAyAAAAPL0n8y9oZWFkAAABMAAAADAAAAA2Fi93Z2hoZWEAAAFgAAAAHQAAACQOSgWaaG10eAAAAewAAAAzAAAAVC7TAQBsb2NhAAACgAAAABAAAAAsAOQBAm1heHAAAAGAAAAAHQAAACAAWQALbmFtZQAAAsQAAAF6AAADIYvD/Adwb3N0AAAEQAAAAI4AAADsapk2o3jaY2BkYGAA4ov5mwzj+W2+MnCzXwCKMNzgCBSB0LfbQDQ7AxuI4mBgAlEAFKQIRHjaY2BkYGD3+NvCwMDBAALsDAyMDKhAFAA3+wH3AAAAeNpjYGRgYBBl4GBgYgABEMnIABJzAPMZAAVmAGUAAAB42mNgZlJhnMDAysDCKsKygYGBYRqEZtrDYMT4D8gHSmEHjgUFOQwODAqqf9g9/rYwMLB7MNUAhRlBcsxBrMlASoGBEQAj8QtyAAAAeNrjYGBkAAGmWQwMjO8gmBnIZ2NA0ExAzNjAAFYJVn0ASBsD6VAIDZb7AtELAgANIgb9AHjaY2BgYGaAYBkGRgYQSAHyGMF8FgYPIM3HwMHAxMDGoMCwQIFLQV8hXvXP//9AcRCfAcb///h/ygPW+w/vb7olBjUHCTCyMcAFGZmABBO6AogThgZgIUsXAEDcEzcAAHjaY2BgECMCyoEgACZaAed42mNgYmRgYGBnYGNgYAZSDJqMgorCgoqCjECRXwwNrCAKSP5mAAFGBiRgyAAAi/YFBQAAeNqtkc1OwkAUhU/5M25cEhcsZick0AwlBJq6MWwgJkAgYV/KAA2lJeUn+hY+gktXvpKv4dLTMqKycGHsTZNv7px7z50ZAFd4hYHjdw1Ls4EiHjVncIFnzVnc4F1zDkWjrzmPW+NNcwGlzIRKI3fJlUyrEjZQxb3mDH2fNGfRx4vmHKqG0JzHg6E0F9DOlFBGBxUI1GEzLNT4S0aLuTtsGAEUuYcQHkyg3KmIum1bNUvKlrjbbAIleqHHnS4iSudpQcySMYtdFiXlAxzSbAwfMxK6kZoHKhbjjespMTioOPZnzI+4ucCeTVyKMVKLfeAS6vSWaTinuZwzyy/Dc7vaed+6KaV0kukdPUk6yOcctZPvvxxqksq2lEW8RvHjMEO2FCl/zy6p3NEm0R9OFSafJdldc4QVeyaaObMBO0/5cCaa6d9Ggyubxire+lEojscdjoWUR1xGOy8KD8mG2ZLO2l2paDc3A39qmU2z2W5YNv5+u79e6QfGJY/hAAB42m3NywrCMBQE0DupWp/1AYI7/6DEaLQu66Mrd35BKUWKJSlFv1+rue4cGM7shgR981qSon+ZNwUJ8iDgoYU2OvDRRQ99DDDECAHGmGCKmf80hZSx/Kik/LliFbtmN6xmt+yOjdg9GztV4tROnRwX/Bsaaw51nt4Lc7tWaZYHp/MlzKx51LZs5htNri+2AAAAAQAB//8AD3jaY2BkYGDgAWIxIGZiYARCESBmAfMYAAR6AEMAAAABAAAAANXtRbgAAAAA2AhRFAAAAADYCNuG) format("woff");
}

/* ----------------------------------------------
Inter variable font. Usage:

@supports (font-variation-settings: normal) {
	html { font-family: 'Inter var', sans-serif; }
}
---------------------------------------------- */


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

@media ( prefers-reduced-motion: reduce ) {

	* {
		animation-duration: 0s !important;
		transition-duration: 0s !important;
	}
}


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

/*	2. Element Base
/* ---------------------------------------------*---------------------------- */


main {
	display: block;
}



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

em em,
em i,
i em,
i i,
cite em,
cite i {
	font-weight: bolder;
}

big {
	font-size: 1.2em;
}

small {
	font-size: 0.75em;
}

b,
strong {
	font-weight: 700;
}

ins {
	text-decoration: underline;
}

sub,
sup {
	font-size: 55%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

abbr,
acronym {
	cursor: help;
}

address {
	line-height: 1.5;
	margin: 0 0 2rem 0;
}

hr {
	border-style: solid;
	border-width: 0.1rem 0 0 0;
	border-color: #dcd7ca;
	margin: 4rem 0;
}

a {
	color: #ff5c39;
	text-decoration: none;
}

a:hover,
a:focus {
	text-decoration: none;
}


/* Lists ------------------------------------- */

ul,
ol {
	margin: 0;
}

ul {
	list-style: disc;
	padding-left: 40px !important;
}

ul ul {
	list-style: circle;
}

ul ul ul {
	list-style: square;
}

ol {
	list-style: decimal;
}

ol ol {
	list-style: lower-alpha;
}

ol ol ol {
	list-style: lower-roman;
}

li {
	line-height: 1.5;
	margin: 0.5rem 0 0 0;
}

li > ul,
li > ol {
	margin: 1rem 0 0 0;
}

.reset-list-style,
.reset-list-style ul,
.reset-list-style ol {
	list-style: none;
	margin: 0;
}

.reset-list-style li {
	margin: 0;
}

dt,
dd {
	line-height: 1.5;
}

dt {
	font-weight: 700;
}

dt + dd {
	margin-top: 0.5rem;
}

dd + dt {
	margin-top: 1.5rem;
}


/* Quotes ------------------------------------ */

blockquote {
	border-color: #ff5c39;
	border-style: solid;

	/*rtl:ignore*/
	border-width: 0 0 0 0.2rem;
	color: inherit;
	font-size: 1em;
	margin: 4rem 0;

	/*rtl:ignore*/
	padding: 0.5rem 0 0.5rem 2rem;
}

cite {
	color: #6d6d6d;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1.25;
}

blockquote cite {
	display: block;
	margin: 2rem 0 0 0;
}

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


/* Code -------------------------------------- */

code,
kbd,
pre,
samp {
	font-family: monospace;
	font-size: 0.9em;
	padding: 0.4rem 0.6rem;
}

code,
kbd,
samp {
	background: rgba(0, 0, 0, 0.075);
	border-radius: 0.2rem;
}

pre {
	border: 0.1rem solid #dcd7ca;
	line-height: 1.5;
	margin: 4rem 0;
	overflow: auto;
	padding: 3rem 2rem;
	text-align: left;
}

pre code {
	background: transparent;
	padding: 0;
}


/* Media ------------------------------------- */

figure {
	display: block;
	margin: 0;
}

iframe {
	display: block;
	max-width: 100%;
}

video {
	display: block;
}

svg,
img,
embed,
object {
	display: block;
	height: auto;
	max-width: 100%;
}

figcaption,
.wp-caption-text {
	color: #6d6d6d;
	display: block;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.2;
	margin-top: 1.5rem;
}

figcaption a,
.wp-caption-text a {
	color: inherit;
}

blockquote.instagram-media,
iframe.instagram-media {
	margin: auto !important;
}


/* GALLERIES */

.gallery {
	display: flex;
	flex-wrap: wrap;
	margin: 3em 0 3em -0.8em;
	width: calc(100% + 1.6em);
}

.gallery-item {
	margin: 0.8em 0;
	padding: 0 0.8em;
	width: 100%;
}

.gallery-caption {
	display: block;
	margin-top: 0.8em;
}


/* Inputs ------------------------------------ */

fieldset {
	border: 0.2rem solid #dcd7ca;
	padding: 2rem;
}

legend {
	font-size: 0.85em;
	font-weight: 700;
	padding: 0 1rem;
}


@supports ( font-variation-settings: normal ) {

	input,
	textarea,
	button,
	.button,
	.faux-button,
	.faux-button.more-link,
	.wp-block-button__link,
	.wp-block-file__button {
		font-family: 'Inter';
	}
}


/* Tables ------------------------------------ */

table {
	border: 0.1rem solid #dcd7ca;
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
	font-size: 1.6rem;
	margin: 4rem 0;
	max-width: 100%;
	overflow: hidden;
	width: 100%;
}

.alignleft > table {
	margin: 0;
}

.alignright > table {
	margin: 0;
}

th,
td {
	border: 0.1rem solid #dcd7ca;
	line-height: 1.4;
	margin: 0;
	overflow: visible;
	padding: 0.5em;
}

caption {
	background: #dcd7ca;
	font-weight: 600;
	padding: 0.5em;
	text-align: center;
}

thead {
	vertical-align: bottom;
	white-space: nowrap;
}

th {
	font-weight: 700;
}


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

/*	3. Helper Classes
/* -------------------------------------------------------------------------- */


/* Layout ------------------------------------ */

.no-margin {
	margin: 0;
}

.no-padding {
	padding: 0;
}

.screen-height {
	min-height: 100vh;
}

.admin-bar .screen-height {
	min-height: calc(100vh - 32px);
}

@media (max-width: 782px) {

	.admin-bar .screen-height {
		min-height: calc(100vh - 46px);
	}
}

.screen-width {
	position: relative;
	left: calc(50% - 50vw);
	width: 100vw;
}

/* Toggles ----------------------------------- */

.toggle {
	-moz-appearance: none;
	-webkit-appearance: none;
	color: inherit;
	cursor: pointer;
	font-family: inherit;
	position: relative;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	text-align: inherit;
	user-select: none;
}

button.toggle {
	background: none;
	border: none;
	box-shadow: none;
	border-radius: 0;
	font-size: inherit;
	font-weight: 400;
	letter-spacing: inherit;
	padding: 0;
	text-transform: none;
}

/* Hiding and Showing ------------------------ */

.js .show-js {
	display: block !important;
}

.js .hide-js {
	display: none !important;
}

.no-js .show-no-js {
	display: block !important;
}

.no-js .hide-no-js {
	display: none !important;
}


/* Typography -------------------------------- */

.font-size-xl {
	font-size: 1.25em;
}

.font-size-xs {
	font-size: 0.8em;
}

.no-select {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.bg-attachment-fixed {
	background-attachment: fixed;
}

@supports ( -webkit-overflow-scrolling: touch ) {

	.bg-attachment-fixed {
		background-attachment: scroll;
	}
}

@media ( prefers-reduced-motion: reduce ) {

	.bg-attachment-fixed {
		background-attachment: scroll;
	}
}

.wp-block-image.is-resized {
	margin-left: auto;
	margin-right: auto;
}

body:not(.enable-search-modal) .site-logo img {
	margin: 0;
}



@media (max-width: 782px) {

	.admin-bar.overlay-header #site-header {
		top: 46px;
	}
}

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

.header-navigation-wrapper {
	display: none;
}

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

.header-toggles {
	display: none;
}

.header-inner .toggle {
	align-items: center;
	display: flex;
	overflow: visible;
	padding: 0 3.3rem;
}

.header-inner .toggle svg {
	display: block;
	position: relative;
	z-index: 1;
}

.header-inner .toggle path {
	fill: currentColor;
}

.toggle-inner {
	display: flex;
	justify-content: center;
	height: 2.3rem;
	position: relative;
}

.toggle-icon {
	display: block;
	overflow: hidden;
}

.toggle-inner .toggle-text {
	color: #6d6d6d;
	font-size: 1rem;
	font-weight: 600;
	position: absolute;
	top: calc(100% + 0.5rem);
	width: auto;
	white-space: nowrap;
	word-break: break-all;
}

.overlay-header .toggle-text {
	color: inherit;
}

.header-inner .toggle:focus .toggle-text,
.header-inner .toggle:hover .toggle-text {
	text-decoration: underline;
}

/* Navigation Toggle ------------------------- */

.nav-toggle {
	position: absolute;
	bottom: 0;
	right: 0;
	top: 0;
	width: 6.6rem;
}

.nav-toggle .toggle-icon,
.nav-toggle svg {
	height: 0.8rem;
	width: 2.6rem;
}

.nav-toggle .toggle-inner {
	padding-top: 0.8rem;
}

/* Primary Menu ---------------------------- */

.primary-menu-wrapper {
	display: none;
}

ul.primary-menu {
	display: flex;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: -0.0277em;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: -0.8rem 0 0 -1.6rem;
}

.primary-menu .icon {
	display: block;
	height: 0.7rem;
	position: absolute;
	pointer-events: none;
	transform: rotate(-45deg);
	width: 1.3rem;
}

.primary-menu .icon::before,
.primary-menu .icon::after {
	content: "";
	display: block;
	background-color: currentColor;
	position: absolute;
	bottom: calc(50% - 0.1rem);
	left: 0;
}

.primary-menu .icon::before {
	height: 0.9rem;
	width: 0.2rem;
}

.primary-menu .icon::after {
	height: 0.2rem;
	width: 0.9rem;
}

.primary-menu li {
	font-size: 15px;
	line-height: 1.25;
	position: relative;
	text-transform: uppercase;
	font-weight: 600;
}

.primary-menu > li {
	margin: 0.8rem 0 0 1.6rem;
}

.primary-menu > li.menu-item-has-children > a {
	padding-right: 2rem;
}

.primary-menu > li > .icon {
	right: -0.5rem;
	top: calc(50% - 0.4rem);
}

.primary-menu a {
	color: inherit;
	display: block;
	line-height: 1.2;
	text-decoration: none;
	word-break: normal;
	word-wrap: normal;
}

.primary-menu a:hover,
.primary-menu a:focus,
.primary-menu .current_page_ancestor {
	text-decoration: none;
}

.primary-menu li.current-menu-item > a,
.primary-menu li.current-menu-item > .link-icon-wrapper > a {
	text-decoration: none;
	color: #ff5c39;

}

.primary-menu li.current-menu-item > a:hover,
.primary-menu li.current-menu-item > .link-icon-wrapper > a:hover,
.primary-menu li.current-menu-item > a:focus,
.primary-menu li.current-menu-item > .link-icon-wrapper > a:focus {
	text-decoration: none;
	color: #ff5c39;
}

.nav-portal li.current-menu-item > a,
.nav-portal li.current-menu-item > .link-icon-wrapper > a {
	text-decoration: none;
	color: #ff5c39;
font-weight: bold;
}
/* SUB MENU */

.primary-menu ul {
	background: #000;
	border-radius: 0.4rem;
	color: #fff;
	font-size: 1.7rem;
	opacity: 0;
	padding: 1rem 0;
	position: absolute;
	right: 9999rem;
	top: calc(100% + 2rem);
	transition: opacity 0.15s linear, transform 0.15s linear, right 0s 0.15s;
	transform: translateY(0.6rem);
	width: 20rem;
	z-index: 1;
}

.primary-menu li.menu-item-has-children:hover > ul,
.primary-menu li.menu-item-has-children:focus > ul,
.primary-menu li.menu-item-has-children.focus > ul {
	right: 0;
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.15s linear, transform 0.15s linear;
}

.primary-menu ul::before,
.primary-menu ul::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 100%;
}

.primary-menu ul::before {
	height: 2rem;
	left: 0;
	right: 0;
}

.primary-menu ul::after {
	border: 0.8rem solid transparent;
	border-bottom-color: #000;
	right: 1.8rem;
}

.primary-menu ul a {
	background: transparent;
	border: none;
	color: inherit;
	display: block;
	padding: 1rem 2rem;
	transition: background-color 0.15s linear;
	width: 100%;
}

.primary-menu ul li.menu-item-has-children > a {
	padding-right: 4.5rem;
}

.primary-menu ul li.menu-item-has-children .icon {
	position: absolute;
	right: 1.5rem;
	top: calc(50% - 0.5rem);
}

/* DEEP DOWN */

.primary-menu ul ul {
	top: -1rem;
}

.primary-menu ul li.menu-item-has-children:hover > ul,
.primary-menu ul li.menu-item-has-children:focus > ul,
.primary-menu ul li.menu-item-has-children.focus > ul {
	right: calc(100% + 2rem);
}

.primary-menu ul ul::before {
	bottom: 0;
	height: auto;
	left: auto;
	right: -2rem;
	top: 0;
	width: 2rem;
}

.primary-menu ul ul::after {
	border-bottom-color: transparent;

	/*rtl:ignore*/
	border-left-color: #000;
	bottom: auto;
	right: -1.6rem;
	top: 2rem;
}

.rtl .primary-menu ul ul::after {
	transform: rotate(180deg);
}

/*
 * Enable nav submenu expansion with tapping on arrows on large-viewport
 * touch interfaces (e.g. tablets or laptops with touch screens).
 * These rules are supported by all browsers (>IE11) and when JS is disabled.
 */
@media (any-pointer: coarse) {

	.primary-menu > li.menu-item-has-children > a {
		padding-right: 0;
		margin-right: 2rem;
	}

	.primary-menu ul li.menu-item-has-children > a {
		margin-right: 4.5rem;
		padding-right: 0;
		width: unset;
	}

}

/* Repeat previous rules for IE11 (when JS enabled for polyfill). */
body.touch-enabled .primary-menu > li.menu-item-has-children > a {
	padding-right: 0;
	margin-right: 2rem;
}

body.touch-enabled .primary-menu ul li.menu-item-has-children > a {
	margin-right: 4.5rem;
	padding-right: 0;
	width: unset;
}

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

/*	5. Menu Modal
/* -------------------------------------------------------------------------- */


.menu-modal {
	background: #fff;
	display: none;
	opacity: 0;
	overflow-y: auto;
	overflow-x: hidden;
	position: fixed;
	bottom: 0;
	left: -99999rem;
	right: 99999rem;
	top: 0;
	transition: opacity 0.25s ease-in, left 0s 0.25s, right 0s 0.25s;
	z-index: 20000;
}

.admin-bar .menu-modal {
	top: 32px;
}

@media (max-width: 782px) {

	.admin-bar .menu-modal {
		top: 46px;
	}
}

.menu-modal.show-modal {
	display: flex;
}

.menu-modal.active {
	left: 0;
	opacity: 1;
	right: 0;
	transition: opacity 0.25s ease-out;
}

.menu-modal-inner {
	background: #fff;
	justify-content: stretch;
	overflow: auto;
	width: 100%;
}

.menu-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
}
button.close-nav-toggle {
	align-items: center;
	display: flex;
	font-size: 14px;
	font-weight: 500;
	justify-content: flex-end;
	padding: 3.1rem 20px 3.1rem 0;
	width: 100%;
}
button.close-nav-toggle svg {
	height: 20px;
	width: 20px;
}

button.close-nav-toggle .toggle-text {
	margin-right: 1.6rem;
}

.menu-modal .menu-top {
	flex-shrink: 0;
}


/* Main Menu --------------------------------- */

.modal-menu {
	position: relative;
	left: calc(50% - 50vw);
	width: 100vw;
}

.modal-menu li {
	border-color: #dedfdf;
	border-style: solid;
	border-width: 0.1rem 0 0 0;
	display: flex;
	flex-wrap: wrap;
	line-height: 1;
	justify-content: flex-start;
	margin: 0;
}
.modal-menu > li > a, .modal-menu > li > .ancestor-wrapper > a {
	font-size: 18px;
	font-weight: normal;
	letter-spacing: normal;
}

.modal-menu > li:last-child {
	border-bottom-width: 0.1rem;
}

.modal-menu .ancestor-wrapper {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.modal-menu a {
	display: block;
	padding: 20px 40px;
	text-decoration: none;
	width: 100%;
}

.modal-menu a:focus,
.modal-menu a:hover,
.modal-menu li.current-menu-item > .ancestor-wrapper > a,
.modal-menu li.current_page_ancestor > .ancestor-wrapper > a {
	text-decoration: underline;
}

button.sub-menu-toggle {
	border-left: 0.1rem solid #dedfdf;
	flex-shrink: 0;
	margin: 1rem 0;
	padding: 0 2.5rem;
}

button.sub-menu-toggle svg {
	height: 0.9rem;
	transition: transform 0.15s linear;
	width: 1.5rem;
}

button.sub-menu-toggle.active svg {
	transform: rotate(180deg);
}

.modal-menu ul {
	display: none;
	margin: 0;
	width: 100%;
}

.modal-menu ul li {
	border-left-width: 1rem;
}

.modal-menu ul li a {
	color: inherit;
	font-weight: 500;
}

/* Main menu animation ----------------------- */

.menu-wrapper .menu-item {
	position: relative;
}

.menu-wrapper .active {
	display: block;
}

.menu-wrapper.is-toggling {
	pointer-events: none;
}

.menu-wrapper.is-toggling .menu-item {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
}

.menu-wrapper.is-toggling .menu-bottom .social-menu .menu-item {
	width: auto;
}

.menu-wrapper.is-animating .menu-item,
.menu-wrapper.is-animating .toggling-target {
	transition-duration: 250ms;
}

.menu-wrapper.is-animating .menu-item {
	transition-property: transform;
}

.menu-wrapper.is-toggling .toggling-target {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
}

.menu-wrapper.is-toggling .toggling-target.active {
	opacity: 0;
}

.menu-wrapper.is-animating.is-toggling .toggling-target {
	display: block;
	transition-property: opacity;
	opacity: 0;
}

.menu-wrapper.is-animating.is-toggling .toggling-target.active {
	opacity: 1;
}

.menu-wrapper.is-toggling .modal-menu > li:last-child li {
	border-top-color: transparent;
	border-bottom-width: 0.1rem;
}

@media (prefers-reduced-motion: reduce) {

	.menu-wrapper.is-animating .menu-item,
	.menu-wrapper.is-animating .toggling-target {
		transition-duration: 1ms !important;
	}

}


/* Expanded Menu ----------------------------- */

.expanded-menu {
	display: none;
}

.mobile-menu {
	display: block;
}


/* Menu Bottom ------------------------------- */

.menu-bottom {
	flex-shrink: 0;
	padding: 4rem 0;
}

.menu-bottom nav {
	width: 100%;
}

.menu-copyright {
	display: none;
	font-size: 1.6rem;
	font-weight: 500;
	margin: 0;
}

.menu-copyright a:focus,
.menu-copyright a:hover {
	text-decoration: underline;
}

.menu-bottom .social-menu {
	justify-content: center;
}


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

/*	6. Search Modal
/* -------------------------------------------------------------------------- */


.search-modal {
	background: rgba(0, 0, 0, 0.2);
	display: none;
	opacity: 0;
	position: fixed;
	bottom: 0;
	left: -9999rem;
	top: 0;
	transition: opacity 0.2s linear, left 0s 0.2s linear;
	width: 100%;
	z-index: 999;
}

.admin-bar .search-modal.active {
	top: 32px;
}

@media (max-width: 782px) {

	.admin-bar .search-modal.active {
		top: 46px;
	}
}



/* To The Content ---------------------------- */

.to-the-content-wrapper {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 0.5rem);
}

.to-the-content {
	align-items: center;
	display: flex;
	justify-content: center;
	height: 4rem;
	text-decoration: none;
}

.to-the-content svg {
	height: 2rem;
	transition: transform 0.15s linear;
	transform: translateY(0);
	width: 1.767rem;
}

.to-the-content:focus svg,
.to-the-content:hover svg {
	transform: translateY(20%);
}


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

/*	17. Media Queries
/* -------------------------------------------------------------------------- */


@media ( min-width: 700px ) {
/*
	.header-inner {
		padding: 3.8rem 0;
	}
*/
	/* HEADER TOGGLES */

	.toggle-inner .toggle-text {
		font-size: 1.2rem;
	}


	.nav-toggle {
		right: 2rem;
	}


	/* Menu Modal ---------------------------- */

	button.close-nav-toggle {
		font-size: 1.5rem;
		padding: 2rem 2rem 2rem 1rem;
	}

	button.close-nav-toggle svg {
		height: 2rem;
		width: 2rem;
	}

	button.close-nav-toggle .toggle-text {
		margin-right: 2.1rem;
	}

	.modal-menu {
		left: auto;
		width: 100%;
	}

	.modal-menu > li > a,
	.modal-menu > li > .ancestor-wrapper > a {
		font-size:18px;
	}

	.modal-menu ul li {
		border-left-color: transparent;
	}

	.modal-menu > li > .ancestor-wrapper > button.sub-menu-toggle {
		padding: 0 3rem;
	}

	.modal-menu > li > .ancestor-wrapper > button.sub-menu-toggle svg {
		height: 1.1rem;
		width: 1.8rem;
	}

	.menu-bottom {
		align-items: center;
		display: flex;
		justify-content: space-between;
		padding: 4.4rem 0;
	}

	.menu-copyright {
		display: block;
		flex-shrink: 0;
		margin-right: 4rem;
	}
}

@media ( min-width: 1000px ) {

	#site-header {
		z-index: 2;
	}

	.header-inner {
		align-items: center;
		/* display: flex; */
		justify-content: space-between;
		padding: 0 0 10px 0;
	}
	.header-titles-wrapper {
	margin-right: 4rem;
	width: auto;
	padding: 0;
	text-align: left;
	display: inline-block;
	float: left;
	}
	.header-titles {
		align-items: baseline;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin: 0;
	}

	/* HEADER NAVIGATION */
	.header-navigation-wrapper {
	align-items: center;
	display: flex;
	float: right;
	margin: 30px 30px 20px 0;
	}	

	.primary-menu-wrapper {
		display: block;
		width: 100%;
	}

	/* HEADER TOGGLES */

	.mobile-search-toggle,
	.mobile-nav-toggle {
		display: none !important;
	}

	.primary-menu-wrapper + .header-toggles {
		margin-left: 3rem;
	}

	.header-toggles {
		display: flex;
		flex-shrink: 0;
		margin-right: -3rem;
	}

	.header-inner .toggle {
		height: 4.4rem;
		padding: 0 3rem;
		position: relative;
		bottom: auto;
		left: auto;
		right: auto;
		top: auto;
		width: auto;
	}

	.header-inner .toggle-wrapper {
		position: relative;
	}

	.header-inner .toggle-wrapper::before {
		background: #dedfdf;
		content: "";
		display: block;
		height: 2.7rem;
		position: absolute;
		left: 0;
		top: calc(50% - 1.35rem);
		width: 0.1rem;
	}

	.header-inner .toggle-wrapper:first-child::before {
		content: none;
	}

	.header-inner .primary-menu-wrapper + .header-toggles .toggle-wrapper:first-child::before {
		content: "";
	}

	.nav-toggle-wrapper:not(.has-expanded-menu) {
		display: none;
	}

	.toggle-inner {
		position: static;
	}

	.toggle-inner .toggle-text {
		left: 0;
		right: 0;
		text-align: center;
		top: calc(100% - 0.3rem);
		width: auto;
	}

	.header-toggles:only-child .nav-toggle .toggle-inner {
		padding-top: 0;
	}

	.header-toggles:only-child .toggle-inner {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
	}

	.header-toggles:only-child .toggle-inner .svg-icon {
		order: 1;
	}

	.header-toggles:only-child .toggle-inner .toggle-text {
		position: static;
		padding-right: 20px;
		font-size: 15px;
		color: inherit;
	}

	/* Menu Modal ---------------------------- */

	.menu-modal {
		opacity: 1;
		justify-content: flex-end;
		padding: 0;
		transition: background-color 0.3s ease-in, left 0s 0.3s, right 0s 0.3s;
	}

	.menu-modal.cover-modal {
		background: rgba(0, 0, 0, 0);
	}

	.menu-modal.active {
		background: rgba(0, 0, 0, 0.2);
		transition: background-color 0.3s ease-out;
	}

	.menu-wrapper.section-inner {
		width: calc(100% - 8rem);
	}

	.menu-modal-inner {
		box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.1);
		opacity: 0;
		padding: 0;
		transform: translateX(20rem);
		transition: transform 0.2s ease-in, opacity 0.2s ease-in;
		width: 50rem;
	}

	.menu-modal.active .menu-modal-inner {
		opacity: 1;
		transform: translateX(0);
		transition-timing-function: ease-out;
	}

	.mobile-menu {
		display: none;
	}

	.expanded-menu {
		display: block;
	}

	.menu-bottom {
		padding: 6rem 0;
	}

	.menu-bottom .social-menu {
		justify-content: flex-start;
	}
}


@media ( min-width: 1220px ) {

	/* PRIMARY MENU */

	ul.primary-menu {
		margin: -0.8rem 0 0 -2rem;
	}

	.primary-menu > li {
		margin: 0.8rem 0 0 2.5rem;
	}

	/* HEADER TOGGLES */

	.primary-menu-wrapper + .header-toggles {
		margin-left: 4rem;
	}

	.header-toggles {
		margin-right: -4rem;
	}

	.header-toggles .toggle {
		padding: 0 4rem;
	}

}
