img {
	max-width: 100%;
	height: auto;
}

#main,
#sidebar {
	min-width: 0;
}

@media screen and (max-width: 1280px) {
	#wrapper {
		display: block;
		width: 100%;
	}

	#sidebar {
		width: 100%;
		min-width: 0;
		margin: 3em 0 0;
		padding: 3em 0 0;
		border-top: 1px solid hsla(0, 0%, 63%, 0.3);
	}

	#sidebar > * {
		border-top: 0;
		margin: 0 0 3em;
		padding: 0;
	}

	#sidebar > *:last-child {
		margin-bottom: 0;
	}

	#intro {
		margin-bottom: 3em;
		text-align: center;
	}
}

@media screen and (max-width: 980px) {
	#header .nav {
		display: none;
	}

	#header .hamburger-container {
		display: block;
		margin-left: auto;
		padding: 0 1em;
	}

	.mobile-menu {
		display: none;
		position: fixed;
		top: 3.5em;
		left: 0;
		right: 0;
		background: #fff;
		border-bottom: 1px solid hsla(0, 0%, 63%, 0.3);
		padding: 0.5em 0;
		z-index: 9999;
		max-height: 80vh;
		overflow-y: auto;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
	}

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

	.mobile-menu a {
		display: block;
		padding: 0.9em 1.5em;
		font-family: 'Raleway', Helvetica, sans-serif;
		font-size: 0.7em;
		font-weight: 400;
		letter-spacing: 0.25em;
		text-transform: uppercase;
		color: #3c3b3b;
		border-bottom: 0;
	}

	.mobile-menu a:hover {
		color: #2e59ba;
	}

	form.contact-mini .form-row,
	form.contact-mini .form-footer {
		grid-template-columns: 1fr;
	}

	form.contact-mini button {
		width: 100%;
		min-width: 0;
	}

	.skill-tabs {
		gap: 0.75em 0.5em;
	}

	.project-links,
	.cv-links {
		flex-wrap: wrap;
		gap: 0.5em 0.75em;
	}

	.link-container h4 {
		flex-wrap: wrap;
	}

	.mini-post header {
		padding: 1.25em 1.25em 0.5em;
	}
}

@media screen and (max-width: 736px) {
	body {
		padding-top: 2.75em;
	}

	#header {
		height: 2.75em;
		line-height: 2.75em;
	}

	#header .name {
		padding-left: 1em;
		font-size: 0.8em;
	}

	.mobile-menu {
		top: 2.75em;
	}

	#wrapper {
		padding: 1.5em;
	}

	#intro {
		margin-bottom: 1.5em;
	}

	#intro .logo {
		margin-bottom: 0.5em;
	}

	#intro .logo img {
		width: 8em;
		height: 8em;
	}

	#intro header h2 {
		font-size: 1.25em;
	}

	#intro header p {
		font-size: 0.65em;
		word-break: break-word;
	}

	section.home-content,
	section.about-content,
	section.resume-content,
	section.projects-content,
	section.contact-content {
		padding: 1.5em;
	}

	.page-divider {
		margin: 1.5em 0;
	}

	.skill-tab {
		padding: 1.1em;
		font-size: 0.62em;
		letter-spacing: 0.18em;
	}

	.skillbar-title > span {
		padding: 0 14px;
		font-size: 12px;
	}

	.skill-bar-percent {
		font-size: 10px;
		right: 6px;
	}

	.jobs-container .points li,
	.mini-post-body ul li,
	.about-list li {
		font-size: 0.95em;
	}

	.link-container h4 a {
		padding: 0 0.35em;
	}

	.mini-post header h3 {
		font-size: 0.75em;
	}

	.mini-post-body {
		padding: 0 1.25em 1.25em;
	}

	#footer {
		text-align: center;
	}

	.social-icons {
		justify-content: center;
	}
}

@media screen and (max-width: 480px) {
	#wrapper {
		padding: 1em;
	}

	section.home-content,
	section.about-content,
	section.resume-content,
	section.projects-content,
	section.contact-content {
		padding: 1.25em;
	}

	#intro .logo img {
		width: 7em;
		height: 7em;
	}

	#intro header h2 {
		font-size: 1.1em;
	}

	.hamburger-button span {
		width: 20px;
	}

	.project-link,
	.cv-links .about-me-btn {
		font-size: 0.55em;
		letter-spacing: 0.12em;
		padding: 0.9em 0.8em;
	}

	.skillbar-title > span {
		padding: 0 10px;
		font-size: 11px;
	}

	.form-row,
	.form-footer {
		gap: 1em !important;
	}
}
