#wpadminbar {
  display: none;
}

html {
  font-size: 62.5%;
}

body {
  background: #4A4A4E;
  font-family: BellGothic-Roman, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.8rem;
  color: #2C2C30;
}

@media screen and (max-width: 700px) {
  body {
    font-size: 1.5rem;
  }
}
a,
a:link {
  color: #0073E6;
  text-decoration: underline;
}

/*a:visited {
	color: $color_text_links_visited;
}*/
a:hover,
a:focus {
  color: #0059B2;
}

a:focus {
  outline: 1px dotted #0059B2;
}

a:active {
  background: #CCE3FA;
  color: #0059B2;
}

abbr,
abbr[title] {
  border-bottom: 0;
  text-decoration: none;
}

main {
  background: #FFFFFF;
  box-sizing: border-box;
  clear: both;
  margin-top: 0rem;
  margin-right: auto;
  margin-bottom: 10rem;
  margin-left: auto;
  padding: 1.9rem 2rem 2rem;
  width: 100%;
  max-width: 96.5rem;
}

header.project_name h1 {
  color: #2C2C30;
  font-family: filosgra, Arial, Helvetica, Georgia, Times, "Times New Roman", serif;
  font-size: 2.4rem;
  display: block;
  line-height: 1.25;
  margin-bottom: 1.1rem;
}

@media screen and (min-width: 584px) {
  header.project_name h1 {
    font-size: 3rem;
    line-height: 1.3333;
  }
}
@media screen and (min-width: 961px) {
  header.project_name h1 {
    font-size: 4.9rem;
    line-height: 1.2245;
  }
}
a[class^=button_],
.form input.wpcf7-submit {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3), 0 4px 10px rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  font-size: 1.5rem;
  min-width: 15rem;
  padding: 0.7rem 1rem;
  text-align: center;
  text-decoration: none;
  width: auto;
}

a.button_secondary,
a.button_secondary:link a.button_secondary:visited {
  background: #EBEBEC;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #EBEBEC 0%, #C8C8CA 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  border: 1px solid #ADADB0;
  color: #2C2C30;
}

a.button_secondary:hover,
a.button_secondary:focus {
  background: #FFFFFF;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #FFFFFF 0%, #EBEBEC 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
  border: 1px solid #C8C8CA;
}

a.button_secondary:focus {
  outline: 1px dotted #2C2C30;
}

a.button_secondary:active {
  background: #EBEBEC;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #EBEBEC 0%, #FFFFFF 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  box-shadow: 0 0 0 #fff;
  border: 1px solid #C8C8CA;
  outline: none;
}

a.button_secondary:focus:active {
  outline: none;
}

a.button_primary,
a.button_primary:link a.button_primary:visited,
.form input.wpcf7-submit,
.form input.wpcf7-submit:link .form input.wpcf7-submit:visited {
  background: #0059B2;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #0059B2 0%, #004C97 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  border: 1px solid #003263;
  color: #FFFFFF;
}

a.button_primary:hover,
a.button_primary:focus,
.form input.wpcf7-submit:hover,
.form input.wpcf7-submit:focus {
  background: #0066CC;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #0066CC 0%, #0059B2 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
  border: 1px solid #003F7D;
  color: #FFFFFF;
  cursor: pointer;
}

a.button_primary:focus,
.form input.wpcf7-submit:focus {
  outline: 1px dotted #2C2C30;
}

a.button_primary:active,
.form input.wpcf7-submit:active {
  background: #0066CC;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #0066CC 0%, #0059B2 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  box-shadow: 0 0 0 #fff;
  border: 1px solid #003F7D;
  outline: none;
}

a.button_primary:focus:active,
.form input.wpcf7-submit:focus:active {
  outline: none;
}

/*
.contact div.form .group { 
	position: relative; 
	margin-bottom: 4.9rem; 

}

.form input,
.form textarea {
	border: none;
	border-bottom: 1px solid $color_field_border;
	box-sizing: border-box;
	display: block;
	font-size: 1.5rem;
	padding: 0 10px 3px 0;
	width: 100%;
}

.form input:hover,
.form input:focus,
.form textarea:hover,
.form textarea:focus {
	border-color: $color_field_border_hover;
	color: $color_text_main;
	outline: 0;
	transition: border-color .15s ease;
}

.form label {
	color: $color_field_label_empty; 
	font: {
		size: 1.5rem;
		weight: normal;
	}
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 3px;
	transition: all 0.15s ease; 
}

//	Active state
.form input:focus ~ label,
.form input:valid ~ label,,
.form textarea:focus ~label,
.form textarea:valid ~ label {
	color: $color_field_label_active;
	font-size: 1.1rem;
	top: -14px;
}


//	Bottom bars
.form .bar {
	box-sizing: border-box;
	display: block;
	position: relative;
	width: 100%;
}

.form .bar:before,
.form .bar:after   {
	background: $color_field_border_active; 
	bottom: 0; 
	content: '';
	height: 2px; 
	position: absolute;
	transition: 0.15s ease all; 
	width: 0;
}
.form .bar:before {
	left: 50%;
}
.form .bar:after {
	right: 50%; 
}

//	Active state
.form input:focus ~ .bar:before,
.form input:focus ~ .bar:after,
.form textarea:focus ~ .bar:before,
.form textarea:focus ~ .bar:after {
  width:50%;
}


//	Highlighter
.form .highlight {
	height: 60%; 
	top: 25%; 
	left: 0;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	width: 100px; 
}

//	Active state
.form input:focus ~ .highlight,,
.form textarea:focus ~ .highlight {
	animation: inputHighlighter 0.3s ease;
}

//	Animations
@keyframes inputHighlighter {
	from  { background:#5264AE; }
	to    { width:0; background:transparent; }
}
*/
form {
  display: -moz-flex;
  display: flex;
  flex-direction: column;
}
form .group {
  margin-bottom: 2rem;
}
form .group label {
  font-family: BellGothic-Roman, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.1rem;
  width: 100%;
}
form .group input,
form .group textarea {
  border: 1px solid #ADADB0;
  box-sizing: border-box;
  font-family: BellGothic-Roman, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
  padding: 0.5rem 1rem;
  width: 100%;
}
form .group input:focus,
form .group textarea:focus {
  border: 2px solid #004C97;
  outline: none;
  padding: 0.4rem 0.9rem;
}

header[role=banner] {
  box-sizing: border-box;
  margin: 1.6rem auto;
  max-width: 96.1rem;
  padding: 0.9rem 0 0 2rem;
}

@media screen and (min-width: 584px) {
  header[role=banner] {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 961px) {
  header[role=banner] {
    margin: 2.4rem auto;
  }
}
header[role=banner] h1 a:focus {
  outline: 1px dotted #FFFFFF;
}
header[role=banner] h1 img {
  width: 20.2rem;
}

@media screen and (min-width: 584px) {
  header[role=banner] h1 img {
    margin-top: 0.9rem;
  }
}
@media screen and (min-width: 961px) {
  header[role=banner] h1 img {
    margin-top: -0.1rem;
    width: 34.3rem;
  }
}
header[role=banner] nav {
  margin: -0.1rem 0 0 -0.8rem;
  z-index: 100;
}

header[role=banner] nav > ul {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  min-height: 4rem;
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

header[role=banner] nav .dropdown {
  display: none;
}

header[role=banner] nav li {
  font-family: filosgra, Arial, Helvetica, Georgia, Times, "Times New Roman", serif;
  font-size: 1.5rem;
  line-height: 2.4rem;
  margin-left: -0.8rem;
  padding: 0.8rem;
}
header[role=banner] nav li:hover {
  background: #F8F8F8;
}
header[role=banner] nav li:focus, header[role=banner] nav li:focus-within {
  background: transparent;
}
header[role=banner] nav li a,
header[role=banner] nav li a:link,
header[role=banner] nav li a:visited {
  color: #FFFFFF;
  padding: 0.8rem;
  text-decoration: none;
}
header[role=banner] nav li a:hover {
  color: #2C2C30;
}
header[role=banner] nav li a:focus {
  outline: 1px dotted #FFFFFF;
}
header[role=banner] nav li:last-of-type {
  margin-right: 0.4rem;
}

@media screen and (min-width: 961px) {
  header[role=banner] nav li {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 584px) {
  header[role=banner] nav li.about,
header[role=banner] nav li.projects {
    position: relative;
  }

  header[role=banner] nav li.about:hover .dropdown,
header[role=banner] nav li.projects:hover .dropdown {
    background: #F8F8F8;
    display: block;
    position: absolute;
    padding: 0.8rem 0;
    width: auto;
  }
  header[role=banner] nav li.about:hover .dropdown a,
header[role=banner] nav li.projects:hover .dropdown a {
    display: block;
  }
  header[role=banner] nav li.about:hover .dropdown a:link, header[role=banner] nav li.about:hover .dropdown a:visited,
header[role=banner] nav li.projects:hover .dropdown a:link,
header[role=banner] nav li.projects:hover .dropdown a:visited {
    color: #2C2C30;
    font-family: BellGothic-Roman, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.5rem;
    line-height: 3rem;
    padding: 0 2rem;
    white-space: nowrap;
  }
  header[role=banner] nav li.about:hover .dropdown a:hover, header[role=banner] nav li.about:hover .dropdown a:focus,
header[role=banner] nav li.projects:hover .dropdown a:hover,
header[role=banner] nav li.projects:hover .dropdown a:focus {
    background: #EBEBEC;
    margin-left: 0;
  }
  header[role=banner] nav li.about:hover .dropdown li,
header[role=banner] nav li.projects:hover .dropdown li {
    margin-left: 0;
    padding: 0;
  }
  header[role=banner] nav li.about:hover .dropdown a:focus,
header[role=banner] nav li.projects:hover .dropdown a:focus {
    outline: 1px dotted #2C2C30;
  }
  header[role=banner] nav li.about:hover .dropdown a:active,
header[role=banner] nav li.projects:hover .dropdown a:active {
    background: #C8C8CA;
  }

  header[role=banner] nav li.about:hover .dropdown {
    left: 0;
  }

  header[role=banner] nav ul li.about:hover a,
header[role=banner] nav ul li.projects:hover a {
    color: #2C2C30;
  }

  header[role=banner] nav li.projects:hover .dropdown {
    display: grid;
    grid-column-gap: 1rem;
    grid-template-columns: -webkit-max-content -webkit-max-content;
    grid-template-columns: max-content max-content;
    grid-template-areas: "col_1 col_2";
    right: -100%;
  }
  header[role=banner] nav li.projects:hover .dropdown[class^=col_] {
    padding: 0;
  }
  header[role=banner] nav li.projects:hover .dropdown[class^=col_] li {
    padding: 0;
  }
  header[role=banner] nav li.projects:hover .dropdown .col_1 {
    grid-area: col_1;
  }
  header[role=banner] nav li.projects:hover .dropdown .col_2 {
    grid-area: col_2;
  }
  header[role=banner] nav li.projects:hover .dropdown span {
    font-size: 1.8rem;
    display: block;
    margin-top: 2.4rem;
    padding: 0.8rem 2rem 0.4rem;
  }

  header[role=banner] nav li.projects:hover .dropdown li[class^=col_] > ul > li:first-of-type span {
    margin-top: 0.5rem;
  }

  header[role=banner] nav li.about,
header[role=banner] nav li.projects {
    -webkit-filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0));
            filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0));
    -webkit-filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0));
            filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0));
    will-change: filter;
  }

  header[role=banner] nav li.about:hover,
header[role=banner] nav li.projects:hover {
    -webkit-filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.5));
    -webkit-filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.25));
            filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.25));
    background: #F8F8F8;
    cursor: pointer;
  }
}
@media screen and (min-width: 961px) {
  header[role=banner] nav li.projects:hover .dropdown span {
    font-size: 2.4rem;
  }

  header[role=banner] nav li.about:hover .dropdown a,
header[role=banner] nav li.about:hover .dropdown a:link,
header[role=banner] nav li.about:hover .dropdown a:visited,
header[role=banner] nav li.projects:hover .dropdown a,
header[role=banner] nav li.projects:hover .dropdown a:link,
header[role=banner] nav li.projects:hover .dropdown a:visited {
    font-size: 1.8rem;
  }
}
main.front {
  background: transparent;
  margin: 0 auto 5rem;
  padding: 0.8rem 0 0;
  max-width: 96rem;
  width: calc(100% - 4rem);
}

main.front img {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3), 0 4px 10px rgba(0, 0, 0, 0.15);
  border: 10px solid white;
  box-sizing: border-box;
  width: 100%;
}

main.front p {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 100;
  line-height: calc(40 / 24);
  margin-top: 2rem;
}

@media screen and (max-width: 700px) {
  main.front p {
    font-size: 1.5rem;
  }
}
.project_archive main {
  padding: 1.4rem 1.5rem 2rem;
}
.project_archive main ul {
  display: -moz-flex;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.project_archive main li {
  box-sizing: border-box;
  margin-bottom: 2rem;
  padding: 0.5rem;
  width: calc( (100% - 1rem) / 2 );
}
.project_archive main li:nth-of-type(odd) {
  margin-right: 1rem;
}
@media screen and (min-width: 584px) {
  .project_archive main li {
    width: calc( (100% - 2rem) / 3 );
  }
  .project_archive main li:nth-of-type(1n), .project_archive main li:nth-of-type(2n) {
    margin-right: 1rem;
  }
  .project_archive main li:nth-of-type(3n) {
    margin-right: 0;
  }
}
@media screen and (min-width: 961px) {
  .project_archive main li {
    width: calc( (100% - 4rem) / 5 );
  }
  .project_archive main li:nth-of-type(1n), .project_archive main li:nth-of-type(2n), .project_archive main li:nth-of-type(3n), .project_archive main li:nth-of-type(4n) {
    margin-right: 1rem;
  }
  .project_archive main li:nth-of-type(5n) {
    margin-right: 0;
  }
}
.project_archive main a {
  color: #2C2C30;
  text-align: center;
  text-decoration: none;
}
.project_archive main a:focus {
  outline: 1px dotted #2C2C30;
}
.project_archive main a img {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3), 0 4px 10px rgba(0, 0, 0, 0.15);
  border: 0.5rem solid white;
  box-sizing: border-box;
  height: auto;
  width: 100%;
}
.project_archive main a span {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-family: filosgra, Arial, Helvetica, Georgia, Times, "Times New Roman", serif;
  font-size: 1.5rem;
  line-height: 1.333;
  margin: 0 0.5rem;
  width: calc( 100% - 1rem );
}
.project_archive main li:hover {
  padding: 0;
}
.project_archive main li:hover img {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
}
.project_archive main li:hover span {
  box-sizing: border-box;
  display: block;
  margin: -0.5rem 1rem 0.5rem;
  width: calc( 100% - 2rem );
}

.project main[role=main] {
  display: grid;
  grid-column-gap: 2rem;
  grid-template-areas: "project_name project_name" "photos       thumbnails" "content      thumbnails" "attribution  thumbnails";
  grid-template-columns: 4fr 1fr;
  grid-template-rows: auto minmax(0, -webkit-max-content) -webkit-min-content auto;
  grid-template-rows: auto minmax(0, max-content) min-content auto;
}
@media screen and (min-width: 961px) {
  .project main[role=main] {
    grid-template-areas: "project_name project_name" "photos       content" "photos       attribution" "photos       thumbnails";
    grid-template-columns: 3fr 2fr;
  }
}
.project .project_name {
  grid-area: project_name;
}
.project .gallery {
  grid-area: photos;
}
.project .content {
  grid-area: content;
}
.project .gallery_nav {
  grid-area: thumbnails;
}
.project .project_attribution {
  grid-area: attribution;
}
.project .project_name h1 {
  margin-bottom: 0;
}
.project .project_name h2 {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: filosgra, Arial, Helvetica, Georgia, Times, "Times New Roman", serif;
  font-size: 1.5rem;
  line-height: 1.3333;
  margin: -0.3rem 0 1.5rem;
}
.project .gallery li {
  display: none;
}
.project .gallery img {
  width: 100%;
}
.project .gallery img.show {
  display: block;
}
.project .gallery img.hide {
  display: none;
}
.project section.gallery ul li.focusImage {
  display: block;
  z-index: 11;
  transform: rotate(0);
  transition: transform 0.25s;
}
@media screen and (min-width: 584px) {
  .project .gallery ul li img {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3), 0 4px 10px rgba(0, 0, 0, 0.15);
  }
}
@media screen and (min-width: 1376px) {
  .project .gallery ul {
    position: relative;
  }
  .project .gallery ul li {
    display: block;
    position: absolute;
    top: 0;
  }
  .project .gallery ul li:nth-of-type(1) {
    transform: rotate(0);
    -webkit-backface-visibility: hidden;
    z-index: 10;
  }
  .project .gallery ul li:nth-of-type(2) {
    transform: rotate(-2deg);
    -webkit-backface-visibility: hidden;
    z-index: 9;
  }
  .project .gallery ul li:nth-of-type(3) {
    transform: rotate(-4deg);
    -webkit-backface-visibility: hidden;
    z-index: 8;
  }
  .project .gallery ul li:nth-of-type(4) {
    transform: rotate(-6deg);
    -webkit-backface-visibility: hidden;
    z-index: 7;
  }
}
@media screen and (min-width: 1376px) and (min-width: 1376px) {
  .project .gallery ul {
    margin-left: -18.9rem;
  }
}
.project .gallery_nav {
  position: relative;
}
.project .gallery_nav header {
  display: none;
}
.project .gallery_nav a,
.project .gallery_nav a:link {
  text-decoration: none;
}
.project .gallery_nav figcaption .photographer {
  bottom: -4rem;
  left: 0;
  opacity: 0;
  position: absolute;
}
.project .gallery_nav img {
  box-sizing: border-box;
  border: 1px solid rgba(17, 17, 19, 0.11);
  height: auto;
  margin-bottom: 0.7rem;
  width: 100%;
}
.project .gallery_nav span.caption {
  display: none;
}
.project .gallery_nav span.photographer {
  display: block;
}
@media screen and (min-width: 961px) {
  .project .gallery_nav header {
    font-smooth: always;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    border-bottom: 1px solid #C8C8CA;
    color: #67676C;
    display: block;
    font-size: 1.5rem;
    line-height: 1.3333;
    margin: 3.2rem 0 1rem;
    padding-bottom: 0.4rem;
    text-transform: uppercase;
  }
  .project .gallery_nav ul {
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
  }
  .project .gallery_nav ul li {
    margin-bottom: -0.6rem;
    width: calc( 50% - 1rem );
  }
  .project .gallery_nav ul li:nth-of-type(odd) {
    margin-right: 2rem;
  }
  .project .gallery_nav ul li:hover img {
    border-color: rgba(17, 17, 19, 0.22);
    cursor: pointer;
  }
  .project .gallery_nav ul li:hover span.caption {
    color: #2C2C30;
  }
  .project .gallery_nav ul li:hover span.photographer {
    opacity: 1;
  }
  .project .gallery_nav ul li:focus {
    outline: 1px dotted #2C2C30;
  }
  .project .gallery_nav ul li img {
    margin-bottom: 0.1rem;
  }
  .project .gallery_nav ul li span.caption {
    font-smooth: always;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #67676C;
    display: block;
    font-size: 1.1rem;
    line-height: 1.3636;
    margin-bottom: 3.1rem;
  }
}
.project .content {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #2C2C30;
  font-size: 1.5rem;
  line-height: 2rem;
  margin-top: 1.3rem;
}
@media screen and (min-width: 584px) {
  .project .content {
    font-size: 1.8rem;
    line-height: 1.3889;
  }
}
.project .project_attribution {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #67676C;
  font-size: 1.1rem;
  line-height: 1.5rem;
  margin-top: 1.4rem;
}
.project .project_attribution .entity {
  display: block;
}
.project .project_attribution .role {
  display: block;
  margin: -1.5rem 0 1rem;
}
.project .project_attribution .divider {
  display: none;
}
@media screen and (min-width: 584px) {
  .project .project_attribution p {
    margin-bottom: 0.5rem;
  }
  .project .project_attribution p .entity,
.project .project_attribution p .divider {
    display: inline;
  }
  .project .project_attribution p .role {
    display: inline;
    margin: 0;
  }
}
@media screen and (min-width: 961px) {
  .project .project_attribution {
    margin-top: 0.6rem;
  }
}

.news main article {
  box-sizing: border-box;
  width: 100%;
}
@media screen and (min-width: 584px) {
  .news section.news_container {
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
  }
  .news section.news_container article {
    width: calc( 50% - 1rem );
  }
  .news section.news_container article:nth-of-type(odd) {
    margin-right: 2rem;
  }
}
.news article {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3), 0 4px 10px rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  box-sizing: border-box;
  display: grid;
  grid-gap: 1rem;
  grid-template-areas: "header" "content" "footer";
  grid-template-rows: -webkit-min-content auto 2rem;
  grid-template-rows: min-content auto 2rem;
  margin-bottom: 2rem;
  padding: 0.8rem 2rem;
}
.news article header {
  align-self: start;
  grid-area: header;
}
.news article section {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  grid-area: content;
}
.news article section figure {
  margin-right: 2rem;
}
.news article footer {
  align-self: end;
  grid-area: footer;
}
.news article.no_link {
  grid-template-areas: "header" "content";
  grid-template-rows: -webkit-min-content auto;
  grid-template-rows: min-content auto;
}
.news article header {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #67676C;
  font-size: 1.1rem;
  text-transform: uppercase;
}
.news article header h1 {
  font-smooth: auto;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  color: #2C2C30;
  font-family: filosgra, Arial, Helvetica, Georgia, Times, "Times New Roman", serif;
  font-size: 2.4rem;
  line-height: 1.25;
  margin-bottom: 1.2rem;
  text-transform: none;
}
.news article section p {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #2C2C30;
  font-size: 1.5rem;
  line-height: 1.6666;
}
.news article section figure {
  display: none;
}
.news article section figure figcaption {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #67676C;
  font-size: 0.9rem;
  line-height: 1.3333;
}
.news article footer a {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.1rem;
  line-height: 1.1818;
  text-transform: uppercase;
}
@media screen and (min-width: 961px) {
  .news article section figure {
    display: block;
  }
}

main.contact .card {
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3), 0 4px 10px rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
  display: grid;
  grid-column-gap: 2rem;
  grid-row-gap: 1.1rem;
  grid-template-areas: "photo info" "photo button";
  grid-template-columns: auto 1fr;
  margin-bottom: 2rem;
  padding: 2rem;
}
main.contact .card .text {
  grid-area: info;
}
main.contact .card .text .fn {
  display: block;
  font-family: filosgra, Arial, Helvetica, Georgia, Times, "Times New Roman", serif;
  font-size: 2.4rem;
  margin-top: 0.2rem;
}
main.contact .card .text .n {
  display: none;
}
main.contact .card .text .org {
  font-size: 1.1rem;
  line-height: 1.3636;
  margin-top: 0.4rem;
}
main.contact .card .text .adr {
  font-size: 1.1rem;
  line-height: 1.3636;
}
main.contact .card .text .adr div {
  margin-top: 0.1rem;
}
main.contact .card .text .adr .country-name {
  display: none;
}
main.contact .card .text .phone {
  display: grid;
  font-size: 1.1rem;
  grid-column-gap: 2rem;
  grid-template-areas: "phone fax";
  grid-template-columns: 1fr 1fr;
  line-height: 1.3636;
  margin-top: 1.6rem;
}
main.contact .card .text .phone .tel:first-of-type {
  grid-area: phone;
}
main.contact .card .text .phone .tel:nth-of-type(2) {
  grid-area: fax;
}
main.contact .card .text .phone .type,
main.contact .card .text .phone .value {
  display: block;
}
main.contact .card .text .phone .value {
  margin-top: 0.2rem;
}
main.contact .card .text .email {
  display: block;
  font-size: 1.1rem;
  line-height: 1.3636;
  margin-top: 1.5rem;
}
main.contact .card .text .url {
  display: none;
}
main.contact .card .photo {
  grid-area: photo;
}
main.contact .card .button_secondary {
  grid-area: button;
}
main.contact .form {
  border: 1px solid rgba(17, 17, 19, 0.11);
  padding: 2rem;
}
@media screen and (min-width: 584px) {
  main.contact .card .text .phone {
    grid-template-areas: "phone fax empty";
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 961px) {
  main.contact {
    align-items: start;
    display: grid;
    grid-column-gap: 2rem;
    grid-template-areas: "card form";
    grid-template-columns: 1fr 1fr;
  }
  main.contact .card {
    grid-area: card;
  }
  main.contact .form {
    border: 0;
    grid-area: form;
    padding: 0;
  }
}

.resume section,
.honors section,
.experience section {
  margin-bottom: 3rem;
}
.resume section header,
.honors section header,
.experience section header {
  border-bottom: 1px solid #C8C8CA;
  margin-bottom: 1.7rem;
}
.resume section header h2,
.honors section header h2,
.experience section header h2 {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: filosgra, Arial, Helvetica, Georgia, Times, "Times New Roman", serif;
  font-size: 1.8rem;
  line-height: 1.1111;
  padding-bottom: 0.4rem;
}
.resume section:first-of-type,
.honors section:first-of-type,
.experience section:first-of-type {
  margin-top: 2.7rem;
  margin-bottom: 3rem;
}
.resume section li,
.honors section li,
.experience section li {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: grid;
  grid-column-gap: 2rem;
  font-size: 1.5rem;
  line-height: 1.3334;
  margin-bottom: 1.1rem;
}
.resume section li .content,
.honors section li .content,
.experience section li .content {
  display: -moz-flex;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.5rem;
  line-height: 1.3334;
  margin-top: -0.1rem;
  text-align: left;
}
.resume section li .content span,
.honors section li .content span,
.experience section li .content span {
  display: inline-block;
  margin-right: 0.5rem;
}
.resume section.key ul li span,
.resume section .company,
.honors section.key ul li span,
.honors section .company,
.experience section.key ul li span,
.experience section .company {
  color: #67676C;
  font-size: 1.4rem;
  line-height: 1.4286;
}
@media screen and (min-width: 584px) {
  .resume section header h2,
.honors section header h2,
.experience section header h2 {
    font-size: 2.4rem;
  }
}

.resume section li {
  grid-template-areas: "date     content" "location content";
  grid-template-columns: 1fr 2fr;
}
.resume section li .date {
  grid-area: date;
}
.resume section li .date .month {
  display: none;
}
.resume section li .content {
  grid-area: content;
}
.resume section li .content .location {
  color: #67676C;
  display: block;
  grid-area: location;
  text-align: right;
}
@media screen and (min-width: 584px) {
  .resume section li {
    grid-template-areas: "date content";
  }
  .resume section li .date .month {
    display: inline;
  }
  .resume section li .content {
    margin-top: 0;
  }
  .resume section li .location {
    grid-area: content;
  }
}
@media screen and (min-width: 961px) {
  .resume section h2 {
    width: calc((100% - 4rem) / 3);
    text-align: right;
  }
  .resume li .date {
    text-align: right;
  }
}

.honors section li {
  grid-template-areas: "date     content";
  grid-template-columns: 1fr 2fr;
}
@media screen and (min-width: 584px) {
  .honors section li {
    grid-template-columns: 1fr 4fr;
  }
}
@media screen and (min-width: 961px) {
  .honors section li {
    grid-template-columns: 2fr 13fr;
  }
}

.experience section li {
  grid-template-areas: "content";
}
.experience section li span {
  grid-area: content;
}
.experience section.key li {
  grid-template-areas: "date     content";
  grid-template-columns: 3rem 1fr;
}
.experience section.key li .abbr {
  grid-area: date;
}

.about h1 span {
  font-variant: small-caps;
}
.about a,
.about a:link,
.about a:visited {
  color: #2C2C30;
  margin: 0 2rem 0 0;
  text-decoration: none;
}
.about a:hover {
  color: #2C2C30;
  text-decoration: underline;
}
.about a:hover img {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
}
.about a:last-of-type {
  margin-right: 0;
}
.about section {
  display: -moz-flex;
  display: flex;
}
.about section img {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3), 0 4px 10px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(17, 17, 19, 0.11);
  display: block;
  height: auto;
  width: 100%;
}
.about section figcaption {
  margin-top: 1rem;
}

.book.project main[role=main] {
  display: grid;
  grid-column-gap: 2rem;
  grid-template-areas: "project_name project_name" "photos       thumbnails" "content      thumbnails" "buy          thumbnails";
  grid-template-columns: 4fr 1fr;
  grid-template-rows: auto -webkit-min-content -webkit-min-content auto;
  grid-template-rows: auto min-content min-content auto;
}
@media screen and (min-width: 961px) {
  .book.project main[role=main] {
    grid-template-areas: "project_name project_name" "photos       content" "thumbnails   content" "thumbnails   buy";
    grid-template-columns: 3fr 2fr;
  }
}
@media screen and (min-width: 1376px) {
  .book.project .gallery {
    height: 56rem;
  }
  .book.project .content {
    padding-left: 1rem;
  }
}
.book.project .content p {
  margin-bottom: 1rem;
}
.book.project .buy {
  max-width: 300px;
  margin: 0 auto;
  grid-area: buy;
}
.book.project .buy h1 {
  color: #0059B2;
  font-family: filosgra, Arial, Helvetica, Georgia, Times, "Times New Roman", serif;
  font-size: 2.4rem;
  line-height: calc( 2.4rem / 2.4rem );
  text-align: center;
  margin: 2rem 0 0.5rem;
}
.book.project .buy p {
  color: #67676C;
  font-size: 1.1rem;
  margin: 0 0 2rem 0;
}
.book.project .buy input[type=image] {
  width: 171px;
  height: 47px;
  margin: 0 auto;
}
.book.project em {
  font-style: italic;
}
