@media (max-width:540px) {
	/*----------------------------------------------------*/
	
	.section#home #logo,
	.section#home .circle {
		width: 240px;
		height: 240px;
	}

	/*----------------------------------------------------*/
	
	.grid {
		display: inline-grid;
		grid-template-columns: repeat(12, 1fr);
		grid-column-gap: 10px;
		width: 100%;
	}
	
	.grid.full-page-grid {
		width: calc(100% - 10px);
	}

	/*----------------------------------------------------*/
	
	#menu-button-grid {
		position: fixed;
		right: 50%;
		transform: translateX(50%);
		top: 32px;
		z-index: 99999;
	}

	#menu-button {
		grid-column: 10/12;
		width: 26px;
		position: relative;
		justify-self: end;
	}
	
	.menu-line {
		position: absolute;
		box-sizing: border-box;
		height: 0px;
		right: 0;
		border: 1px solid #1f1f1f;
		background: #1f1f1f;
		transform: translateY(-50%);
		transform-origin: center center;
		transition: top .3s .3s, transform .3s .0s, border-color .3s, width .3s;
		opacity: 1;
	}
	
	body.menu-open .menu-line,
	body[section-theme="dark"] .menu-line {
		border-color: #f8f8f8;
		background: #f8f8f8;
	}
	
	#menu-button .middle-line {
		width: 18px;
		top: 0;
	}

	#menu-button .top-line,
	#menu-button .bottom-line {
		transform: translateX(50%) translateY(-50%) rotateZ(0);
		right: 50%;
		width: 26px;
	}

	#menu-button .top-line {
		top: -7px;
	}

	#menu-button .bottom-line {
		top: 7px;
	}
	
	body.menu-open .menu-line {
		transition: top .3s 0s, transform .3s .3s, border-color .3s, width .3s;
	}
	
	body.menu-open #menu-button .middle-line {
		opacity: 0;
	}

	body.menu-open #menu-button .top-line,
	body.menu-open #menu-button .bottom-line {
		top: 0;
		width: 18px;
	}

	body.menu-open #menu-button .top-line {
		transform: translateX(50%) translateY(-50%) rotateZ(45deg);
	}

	body.menu-open #menu-button .bottom-line {
		transform: translateX(50%) translateY(-50%) rotateZ(-45deg);
	}
	
	/*----------------------------------------------------*/

	.menu-container {
		position: fixed;
		width: 100%;
		left: 0;
		right: 0;
		top: 0;
		height: 64px;
		z-index: 999;
		background: transparent;
		transition: right .3s, opacity .3s, height 0s 1s;
		opacity: 1 !important;
	}

	body.menu-open .menu-container {
		height: 100%;
		transition: right .3s, opacity .3s, height 0s 0s;
	}

	.menu-container li {
		color: #f8f8f8 !important;
	}
	
	.menu-container .grid {
		height: 100%;
		grid-template-rows: 64px auto 70px;
	}

	.menu {
		grid-column: 2/12;
		grid-row: 2/2;
		align-self: end;
		margin-bottom: 75px;
	}
	
	.menu li {
		margin: 0;
		display: block;
		text-align: left;
		font-size: 36px;
		font-weight: bold;
		padding: 9px 0;
	}	

	.menu li a {
		overflow: hidden;
		line-height: 1em;
		border-bottom: 1px solid transparent;
	}
	
	.menu a.selected,
	.menu a:active {
		border-bottom: 1px solid white;
	}

	.menu-container .animate-reveal > * {
		transform: translate3d(0,101%,0) !important;
		transition: transform 0s .65s, opacity 0s .65s !important;
	}
	
	body.menu-open .menu-container .animate-reveal > * {
		transform: translate3d(0,0%,0) !important;
		transition: transform 1.1s .2s, opacity 1.1s .2s !important;
	}
	
	body.menu-open .menu-container .social .animate-reveal > * {
		transition: transform .7s 1.15s, opacity .7s 1.15s;
	}
	
	.menu-container .social {
		display: block;
		grid-row: 3/3;
		grid-column: 2/12;
		text-align: left;
	}
	
	.menu-container .menu,
	.menu-container .social {
		opacity: 0;
		padding-left: 150%;
		margin-left: 12px;
		transition: padding-left .5s, opacity 1s;
	}

	body.menu-open .menu-container .menu,
	body.menu-open .menu-container .social {
		opacity: 1;
		padding-left: 0;
	}

	.menu-container:before {
		content: '';
		position: fixed;
		top: 0;
		height: 100%;
		left: 100%;
		width: 100%;
		transition: left .5s;
		background: black;
		z-index: -1;
	}

	body.menu-open .menu-container:before {
		content: '';
		left: 0;
	}

	/*----------------------------------------------------*/

	.small-logo {
		grid-column: 2 / 7;
		grid-row: 1 / 1;
		position: relative;
		margin-top: 22px;
	}
	
	.small-logo img {
		width: 96px;
	}
	
	body.menu-open .small-logo img.dark {
		opacity: 0;
	}
	
	body.menu-open .small-logo img.light {
		opacity: 1;
	}
		
	/*----------------------------------------------------*/

	h2 {
		font-size: 28px;
		font-weight: bold;
		line-height: 1.29;
	}

	/*----------------------------------------------------*/

	.section {
		min-height: auto;
	}

	.section:not(#footer):not(#home) {
		padding-top: 79px;
	}
		
	.section#home #logo img {
		width: 274px;
	}

	body[section=home]:not(.menu-open) .small-logo img {
		opacity: 0 !important;
	}

	.section:not(#footer) > .grid {
		margin-top: 0 !important;
		transform: none !important;
	}
	/*----------------------------------------------------*/

	.section#about {
		padding-bottom: 80px;
	}

	.section#about .content {
		grid-column: 2/12;
		font-size: 18px;
		line-height: 1.44;
	}

	.section#about .content p {
		margin-bottom: 25px;
	}
	
	/*----------------------------------------------------*/

	.section#careers {
		padding-bottom: 80px;
	}

	.section#careers .content {
		grid-column: 2/12;
	}

	.section#careers .subtitle {
		font-size: 16px;
		line-height: 1.5;
	}

	.section#careers .position {
		display: inline-grid;
		grid-template-columns: auto auto auto;
		margin-top: 40px;
	}

	.section#careers .position {
		grid-template-columns: auto;
		margin-top: 25px;
	}
	
	.section#careers .position .title,
	.section#careers .position .description,
	.section#careers .position .link {
		grid-column: 1/1;
		margin: 0;
		text-align: left;
	}

	.section#careers .position .title {
		margin-bottom: 10px;
	}

	/*----------------------------------------------------*/

	.section#contact {
		padding-bottom: 60px;
	}

	.section#contact h2,
	.section#contact .intro {
		grid-column: 2/12;
	}

	.section#contact form {
		grid-column: 3/11;
	}
	
	.section#contact .intro {
		margin-bottom: 25px;
	}

	.section#contact form {
		grid-row: 4/4;
	}

	.section#contact input,
	.section#contact textarea {
		padding: 16px 10px;
		font-size: 14px;
	}

	.section#contact button {
		padding: 12px 45px;
		width: 100%;
		height: 50px;
		margin-top: 10px;
	}

	/*----------------------------------------------------*/

	#footer .social {
		grid-column: 2/7;
	}

	#footer .links {
		grid-column: 7/12;
	}
	
	/*----------------------------------------------------*/
	
	#careers-page #main h2,
	#careers-page #main .subtitle,
	#careers-page #main .job-section {
		grid-column: 3/11;
	}

	#careers-page .job-section {
		grid-template-columns: 100%;
	}

	#careers-page .content {
		padding-bottom: 60px;
	}

	#careers-page .content p {
		font-size: 16px;
	}

	#careers-page .job-section .title,
	#careers-page .job-section ul {
		grid-column: 1/1;
	}
	
	#careers-page .job-section ul {
		padding-left: 1.1em;
		margin-top: 10px;
	}

	/*----------------------------------------------------*/

	#legal-page .content {
		grid-column: 2/12;
	}

	/*----------------------------------------------------*/
}
