.header-03 {

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

	.container,
	.row,
	.col-md-12 {
		height: 100%;
	}

	.page-header-inner {
		> .container {
			> .row {
				> .col-xs-12 {
					position: static;
				}
			}
		}
	}

	.header-wrap {
		display: flex;
		align-items: center;
		height: 100%;
	}

	.desktop-menu & {
		&.headroom--top {
			.header-wrap {
				padding-top: 15px;
			}
		}

		.branding {
			flex-shrink: 0;
			flex-basis: 20%;
		}

		.header-right {
			flex-grow: 1;
		}

		.menu--primary {
			position: static;
			text-align: center;
		}
	}

	.mobile-menu & {
		.header-wrap {
			display: flex;
			align-content: center;
		}

		.branding {
			flex-grow: 1;
		}

		.header-right {
			flex-shrink: 0;
		}
	}

	.menu__container {
		.menu-item {
			&:hover {
				> a {
					.menu-item-title {
						&:after {
							width: 100%;
							left: 0;
							right: auto;
						}
					}
				}
			}
		}

		.menu-item-title {
			position: relative;
			overflow: hidden;
			z-index: 1;

			&:after {
				content: '';
				width: 0;
				height: 1px;
				bottom: 0;
				position: absolute;
				left: auto;
				right: 0;
				z-index: -1;
				transition: width .6s cubic-bezier(.25, .8, .25, 1) 0s;
				background: currentColor;
			}
		}
	}
}

@include media-breakpoint-up(xl) {
	.header-03 {
		.desktop-menu & {
			.page-header-inner {
				> .container {
					max-width: 1920px;
					padding-left: 50px;
					padding-right: 50px;
				}
			}
		}
	}
}

@media (min-width: 1600px) {
	.header-03 {
		.desktop-menu & {
			.page-header-inner {
				> .container {
					padding-left: 100px;
					padding-right: 100px;
				}
			}
		}
	}
}
