/*
Theme Name: TwentyTwenty Child
Template: twentytwenty

Description: Child theme for TwentyTwenty theme
Author: VVI
 Version: 1.1.3
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

	0. 	CSS Reset
	1. 	Document Setup
	2. 	Element Base
	3. 	Helper Classes
	4. 	Site Header
	5. 	Menu Modal
	6. 	Search Modal
	7. 	Page Templates
		a. 	Template: Cover Template
		c. 	Template: Full Width
	8.  Post: Archive
	9.  Post: Single
	10. Blocks
	11. Entry Content
	12. Comments
	13. Site Pagination
	14. Error 404
	15. Widgets
	16. Site Footer
	17. Media Queries

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

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

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%;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	background: #fff;
	border-radius: 0;
	border-style: solid;
	border-width: 0.1rem;
	box-shadow: none;
	display: block;
	font-size: 1.6rem;
	letter-spacing: -0.015em;
	margin: 0;
	max-width: 100%;
	padding: 1.5rem 1.8rem;
	width: 100%;
}

select {
	font-size: 1em;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}

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;
}

.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;
}

.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: 99;
}

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

.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;
	display: flex;
	justify-content: stretch;
	overflow: auto;
	-ms-overflow-style: 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: 1.6rem;
	font-weight: 500;
	justify-content: flex-end;
	padding: 3.1rem 0;
	width: 100%;
}

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

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: 2rem;
	font-weight: 700;
	letter-spacing: -0.0375em;
}

.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: 2rem 2.5rem;
	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;
	}
}

.search-modal-inner {
	background: #fff;
	transform: translateY(-100%);
	transition: transform 0.15s linear, box-shadow 0.15s linear;
}

.search-modal-inner .section-inner {
	display: flex;
	justify-content: space-between;
	max-width: 168rem;
}

.search-modal.active {
	left: 0;
	opacity: 1;
	transition: opacity 0.2s linear;
}

.search-modal.active .search-modal-inner {
	box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.08);
	transform: translateY(0);
	transition: transform 0.25s ease-in-out, box-shadow 0.1s 0.25s linear;
}

button.search-untoggle {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	margin-right: -2.5rem;
	padding: 0 2.5rem;
}

.search-modal button.search-untoggle {
	color: inherit;
}

.search-modal.active .search-untoggle {
	animation: popIn both 0.3s 0.2s;
}

.search-untoggle svg {
	height: 1.5rem;
	transition: transform 0.15s ease-in-out;
	width: 1.5rem;
}

.search-untoggle:focus svg,
.search-untoggle:hover svg {
	transform: scale(1.15);
}


/* Modal Search Form ------------------------- */

.search-modal form {
	margin: 0;
	position: relative;
	width: 100%;
}

.search-modal .search-field {
	background: none;
	border: none;
	border-radius: 0;
	color: inherit;
	font-size: 2rem;
	letter-spacing: -0.0277em;
	height: 8.4rem;
	margin: 0 0 0 -2rem;
	max-width: calc(100% + 2rem);
	padding: 0 0 0 2rem;
	width: calc(100% + 2rem);
}

.search-modal .search-field::-webkit-input-placeholder {
	color: inherit;
}

.search-modal .search-field:-ms-input-placeholder {
	color: inherit;
}

.search-modal .search-field::-moz-placeholder {
	color: inherit;
	line-height: 4;
}

.search-modal .search-submit {
	position: absolute;
	right: -9999rem;
	top: 50%;
	transform: translateY(-50%);
}

.search-modal .search-submit:focus {
	right: 0;
}

@media (max-width: 782px) {

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

.header-titles-wrapper {
	align-items: center;
	display: flex;
	text-align: center;
}

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

.header-toggles {
	display: none;
}

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

.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;
}

/* Search Toggle ----------------------------- */

.search-toggle {
	position: absolute;
	bottom: 0;
	left: 0;
	top: 0;
}

.search-toggle .toggle-icon,
.search-toggle svg {
	height: 2.5rem;
	max-width: 2.3rem;
	width: 2.3rem;
}

/* 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;
}

/* Error 404 ------------------------------- */

main#site-content.hbr-404 {
	display: grid;
	min-height: clamp(420px, 62vh, 680px);
	padding: clamp(72px, 7vw, 96px) 24px clamp(112px, 9vw, 128px);
	place-items: center;
	text-align: center;
}

.hbr-404__inner {
	max-width: 680px;
}

.hbr-404__code {
	color: #db6d3c;
	font-size: clamp(88px, 15vw, 160px);
	font-weight: 700;
	letter-spacing: -0.06em;
	line-height: 0.8;
	margin: 0 0 32px;
}

.hbr-404__title {
	color: #111;
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0;
}

.hbr-404__message {
	color: #444;
	font-size: 18px;
	line-height: 1.6;
	margin: 24px auto 32px;
	max-width: 560px;
}

.hbr-404__button {
	align-items: center;
	background: #111;
	border: 2px solid #111;
	border-radius: 40px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	min-height: 52px;
	padding: 0 30px;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.hbr-404__button:hover,
.hbr-404__button:focus {
	background: #fff;
	color: #111;
	text-decoration: none;
}

@media (max-width: 600px) {
	main#site-content.hbr-404 {
		min-height: 480px;
		padding: 48px 20px 96px;
	}

	.hbr-404__code {
		margin-bottom: 24px;
	}

	.hbr-404__message {
		font-size: 17px;
		margin-top: 20px;
	}
}
