.main-header{
	border-bottom: 1px solid rgba(0,0,0,.2);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	background-color: #ffffff;
	height: var(--header-height);
}

.main-header .header-container{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.main-header .header-title-link h1{
	margin: 0;
	line-height: 0;
}

.main-header .header-title-link svg{
	max-width: 40px;
}

.main-header .header-menu-container{
	display: none;
}

.main-header .open-search-modal{
	display: none;
	outline: none;
	margin-left: auto;
	margin-right: 24px;
}

.main-header.home .open-search-modal{
	display: block;
}

@media(min-width: 768px){
	.main-header .open-search-modal{
		display: block;
		margin-left: 32px;
	}
}

@media(min-width: 1200px){
	.main-header .header-menu-container{
		display: block;
	}

	.main-header .open-menu-modal{
		display: none;
	}

	.main-header .open-search-modal{
		flex-grow: 1;
		line-height: 0;
		pointer-events: none;
	}

	.main-header .open-search-modal svg{
		cursor: pointer;
		pointer-events: all;
	}

	.main-header .header-menu-list{
		margin: 0 0 0 20px;
		padding: 0;
		list-style: none;
		display: flex;
		align-items: center;
		height: var(--header-height);
	}

	.main-header .header-menu-list .sub-menu{
		pointer-events: none;
		opacity: 0;
		position: absolute;
		background-color: #fff;
		width: 100%;
		top: var(--header-height);
		left: 0;
		transition: opacity 0.2s ease-out;
		border-bottom: 1px solid rgba(0,0,0,.2);
		box-sizing: border-box;
		padding: 48px calc(100% - 1000px + var(--header-container-2-size)) 48px var(--header-container-2-size);
		list-style: none;
		display: flex;
		flex-wrap: wrap;
	}

	.main-header .header-menu-list .sub-menu > a{
		position: absolute;
		right: var(--header-container-2-size);
		bottom: 48px;
		color: #820AD1;
	}

	.main-header .header-menu-list .sub-menu > a > svg{
		margin-left: 8px;
		vertical-align: middle;
	}

	.main-header .header-menu-list .sub-menu > .menu-item{
		font-size: 24px;
		flex-basis: 33%;
		margin-bottom: 20px;
		padding-right: 20px;
		box-sizing: border-box;
	}

	.main-header .header-menu-list > .menu-item{
		display: flex;
		align-items: center;
		height: 100%;
		margin: 0 15px;
		font-size: 18px;
		font-weight: 600;
		line-height: 1em;
		box-sizing: border-box;
		padding: calc((var(--header-height) - 1em)/2) 0;
	}

	.main-header .header-menu-list > .menu-item > a,
	.main-header .header-menu-list .sub-menu > .menu-item > a{
		color: #111;
		transition: color .2s ease-out;
	}

	.main-header .header-menu-list > .menu-item:hover > a,
	.main-header .header-menu-list .sub-menu > .menu-item:hover > a{
		color: #820AD1;
	}

	.main-header .header-menu-list > .menu-item:hover > .sub-menu{
		opacity: 1;
		pointer-events: all;
	}
}

@media(min-width: 1366px){
	.main-header .header-menu-list{
		margin: 0 20px 0 49px;
	}

	.main-header .header-menu-list > .menu-item{
		margin: 0 20px;
	}
}

@media(min-width: 1400px){
	.main-header .header-menu-list .sub-menu{
		padding-right: calc(100% - 1200px + var(--header-container-2-size));
	}
}

/* Header CTA */
.main-header.home .header-cta{
	display: none;
}

.main-header .header-cta{
	display: flex;
	align-items: center;
	margin: 0 20px 0 10px;
} 

@media(min-width: 400px) {
	.main-header .header-cta{
		margin-left: 0;
	}
}

@media(min-width: 768px){
	.main-header.home .header-cta{
		display: flex;
		align-items: center;
	} 

	.main-header .header-cta{
		margin-left: auto;
		margin-right: initial;
	}
}

@media(min-width: 1200px){
	.main-header .header-cta{
		order: 1;
	}
}

/* Common Modals */
/*** Header */
.modal-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--header-height);
	margin-bottom: 47px;
}

.modal-title{
	font-size: 20px;
	font-weight: 600;
	color: #111;
}

.search-modal-icon{
	display: none;
}

.modal-close-button{
	outline: none;
	cursor: pointer;
}

@media(min-width: 768px){
	.search-modal-icon{
		display: block;
		margin-left: auto;
		margin-right: 28px;
	}
}

/* Search Modal */
.search-modal{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 4;
}

/*** Form */
.search-modal .search-input{
	width: 100%;
	font-size: 28px;
	border: none;
	color: #111;
	padding: 0;
	font-weight: 600;
	outline: none;
	margin-bottom: 27px;
}

.search-modal .search-input::-moz-placeholder{
	color: #cfcfcf;
}

.search-modal .search-input:-ms-input-placeholder{
	color: #cfcfcf;
}

.search-modal .search-input::-ms-input-placeholder{
	color: #cfcfcf;
}

.search-modal .search-input::placeholder{
	color: #cfcfcf;
}

/*** List */
.search-modal .search-list{
	height: calc(100vh - 170px);
}

.search-modal .search-results-posts-list-wrapper:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 20px;
	background-image: linear-gradient(to bottom, #ffffff00, #ffffff);
}

.search-modal .search-results-posts-list{
	margin: 0;
	padding: 0;
	position: relative;
	list-style: none;
	overflow-y: auto;
	max-height: 296px;
}

.search-modal .search-results-posts-list-wrapper{
	position: relative;
	margin-bottom: 26px;
}

.search-modal .search-results-posts-list::-webkit-scrollbar{
	width: 5px;
}

.search-modal .search-results-posts-list::-webkit-scrollbar-thumb{
	background: #cfcfcf;
	border-radius: 5px;
}

.search-modal .search-list-item{
	font-size: 18px;
	font-weight: 600;
	line-height: 1.32;
	margin-bottom: 26px;
}

.search-modal .search-list-item a{
	color: #cfcfcf;
}

.search-modal .search-results-tags-list{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

.search-modal .search-list-tag{
	font-size: 14px;
	background-color: #e7e7e7;
	margin-right: 8px;
	margin-bottom: 8px;
	border-radius: 4px;
}

.search-modal .search-list-tag a{
	color: #111;
	padding: 8px 10px;
	display: inline-block;
}

@media(min-width: 768px){
	.search-modal .modal-header{
		margin-bottom: 55px;
	}

	.search-modal .search-modal-icon{
		display: block;
		flex-grow: 1;
		text-align: right;
		margin-right: 28px;
	}

	.search-modal .search-modal-icon path{
		fill: #820AD1;
	}

	.search-modal .search-input{
		font-size: 32px;
	}

	.search-modal .search-list-item{
		font-size: 20px;
		line-height: 1.2;
	}
}

@media(min-width: 1200px){
	.search-modal{
		top: var(--header-height);
		height: auto;
		box-shadow: 0 6px 20px -10px #00000033;
	}

	.search-modal .modal-header{
		height: auto;
		margin-top: 48px;
		margin-bottom: 0;
	}

	.search-modal .modal-title,
	.search-modal .search-modal-icon{
		display: none;
	}

	.search-modal .modal-close-button{
		margin-left: auto;
	}

	.search-modal .search-input{
		font-size: 96px;
	}

	.search-modal .search-list{
		max-height: 260px;
	}

	.search-modal .search-list > div[role="list"]{
		height: 100%;
	}

	.search-modal .search-list > div[role="list"] > div{
		height: 100%;
		display: flex;
		flex-flow: column
	}

	.search-modal .search-results-posts-list{
		max-height: 140px;
	}

	.search-modal .search-list-item{
		margin-bottom: 16px;
	}

	.search-modal .search-results-tags-list{
		align-items: center;
		flex-grow: 1;
	}
}

/* Menu Modal */
.menu-modal{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 3;
}

.menu-modal .menu-modal-list{
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu-modal .menu-item{
	position: relative;
	font-size: 20px;
	font-weight: 600;
	padding: 13px 36px 13px 0;
	outline: none;
	transition: height 0.2s ease-out, padding 0.2s ease-out;
	cursor: pointer;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	-webkit-tap-highlight-color: transparent;
}

.menu-modal .menu-item > a{
	color: #111;
}

.menu-modal .menu-category-link{
	display: none;
}

.menu-modal .menu-item .menu-item-icon{
	position: absolute;
	top: 23px;
	right: 0;
	transform: translateY(-50%);
	transition: height 0.2s	ease-out;
}

.menu-modal .menu-item .open-menu-item{
	height: 20px;
	width: 18px;
	right: 1px;
}

.menu-modal .menu-item > .sub-menu{
	list-style: none;
	height: 0;
	padding-left: 24px;
	pointer-events: none;
	opacity: 0;
	transition: padding 0.2s ease-out;
}

.menu-modal .menu-item .sub-menu > .menu-item{
	padding: 0;
}

.menu-modal .menu-item .sub-menu > .menu-item a:not(.menu-category-link){
	display: inline-block;
	width: 100%;
	padding: 13px 0;
}

.menu-modal .menu-search-button{
	font-size: 20px;
	font-weight: 600;
	color: #cfcfcf;
	padding: 13px 0;
}

.menu-modal .menu-search-button span{
	color: #585858;
	cursor: pointer;
}

.menu-modal .menu-modal-list-wrapper{
	max-height: calc(100vh - var(--header-height) - 47px);
	overflow-y: auto;
}

.menu-modal .menu-modal-list-wrapper > .header-container{
	margin-bottom: 24px;
}

@media(max-width: 767px){
	.menu-modal-list-wrapper.item-opened .menu-modal-list > .menu-item:not(.opened),
	.menu-modal-list-wrapper.item-opened .menu-search-button{
		height: 0;
		padding: 0;
		pointer-events: none;
		opacity: 0;
	}

	.menu-modal .menu-item.opened > .sub-menu{
		height: auto;
		padding-top: 13px;
		padding-bottom: 13px;
		pointer-events: all;
		opacity: 1;
		transition: opacity 0.2s ease-out;
	}

	.menu-modal .menu-item.opened .open-menu-item{
		height: 0;
	}
}

@media(min-width: 768px){
	.menu-modal .menu-item .menu-item-icon{
		display: none;
	}

	.menu-modal .menu-modal-list-wrapper > .header-container{
		margin-bottom: 40px;
	}

	.menu-modal .menu-item{
		padding-right: 0;
	}

	.menu-modal .menu-modal-list > .menu-item:not(.menu-item-has-children){
		border-bottom: 1px solid #cfcfcf;
		margin-bottom: 32px;
	}

	.menu-modal .menu-item .menu-category-link{
		display: inline-block;
		position: absolute;
		right: 0;
		top: 13px;
		color: #820AD1;
		font-size: 18px;
	}

	.menu-modal .sub-menu .menu-item .menu-category-link{
		display: none;
	}

	.menu-modal .menu-category-link > svg{
		margin-left: 8px;
	}

	.menu-modal .menu-modal-list > .menu-item:not(.menu-item-has-children) > a:not(.menu-category-link),
	.menu-modal .menu-item-has-children > a{
		color: #585858;
		font-size: 18px;
	}

	.menu-modal .menu-item > .sub-menu{
		display: flex;
		flex-wrap: wrap;
		height: auto;
		margin-top: 8px;
		padding-left: 0;
		padding-top: 56px;
		padding-bottom: 80px;
		pointer-events: all;
		opacity: 1;
		transition: none;
		border-top: 1px solid #cfcfcf;
	}

	.menu-modal .menu-item > .sub-menu > .menu-item{
		flex-basis: 33%;
		padding-right: 24px;
		box-sizing: border-box;
	}

	.menu-modal .menu-search-button{
		display: none;
	}
}

@media(min-width: 1200px){
	.menu-modal{
		display: none;
	}
}