* { box-sizing: border-box; }

a:hover { opacity: 0.7; }

.link-style { cursor: pointer; }

.link-style:hover { opacity: 0.7; }

body, input, textarea { margin: 0; padding: 0; font-family: 'gt-america', arial, sans-serif; font-size: 16px; }

@media (max-width: 1060px) { body, input, textarea { font-size: 20px; } }

@media (max-width: 767px) { body, input, textarea { font-size: 18px; } }

body.animated, input.animated, textarea.animated { transition: color 0.2s, background-color 0.2s; }

body.light, input.light, textarea.light { background-color: white; color: #1a1a1a; }

body.light a, body.light a:visited, input.light a, input.light a:visited, textarea.light a, textarea.light a:visited { color: #1a1a1a; }

body.dark, input.dark, textarea.dark { background-color: #0b0b0b; color: #f7f7f7; }

body.dark a, body.dark a:visited, input.dark a, input.dark a:visited, textarea.dark a, textarea.dark a:visited { color: #f7f7f7; }

body.scroll-locked, input.scroll-locked, textarea.scroll-locked { overflow: hidden; }

.light .theme-bg { background-color: white; }

.dark .theme-bg { background-color: #0b0b0b; }

.light-text { color: #f7f7f7 !important; }

.light-text a, .light-text a:visited { color: #f7f7f7 !important; }

.loader, .image-loader { position: fixed; z-index: 10; top: 0; right: 0; bottom: 0; left: 0; pointer-events: all; opacity: 1; transition: opacity 0.4s 0.5s; display: flex; justify-content: center; align-items: center; }

.loader.loaded, .image-loader.loaded { pointer-events: none; opacity: 0; }

.loader .loader-text, .image-loader .loader-text { animation: fadeLoop 1s infinite; }

@keyframes fadeLoop { 0% { opacity: 1; }
  50% { opacity: 0.5; }
  100% { opacity: 1; } }

.page-content { width: 100%; opacity: 0; }

.page-content.loaded { opacity: 1; }

.no-js img.lazyload { display: none; }

.blur-up { filter: blur(30px); transition: filter 400ms; }

.blur-up.unblured { filter: blur(0); transition: filter 400ms; }

.main-layout { display: flex; }

.sidebar { width: 270px; padding: 40px; position: fixed; top: 0; bottom: 0; display: flex; flex-direction: column; }

@media (max-width: 767px) { .sidebar { width: 100%; padding: 20px; } }

.sidebar .menu-wrapper { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }

.sidebar .spaced-section { margin-top: 8px; line-height: 1.2; }

.sidebar a { text-decoration: none; line-height: 1.2; margin-top: 8px; display: block; }

.sidebar a.active { font-weight: 700; }

@media (max-width: 767px) { .sidebar.responsive { width: 100%; max-height: 80px; padding: 20px; flex-direction: row; align-items: stretch; z-index: 1; } }

.content-wrapper { flex: 1; min-width: 0; padding: 40px; margin-left: 270px; }

@media (max-width: 767px) { .content-wrapper.responsive { margin-left: 0; margin-top: 60px; padding: 20px; } }

.menu { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.2; position: relative; }

.menu .logo { font-family: 'druk', arial, sans-serif; font-style: italic; font-size: 60px; line-height: 0.8; margin-bottom: 20px; }

.menu .indented { padding-left: 20px; }

.mobile { display: none; }

.responsive .mobile { display: none; }

.responsive .desktop { display: flex; }

@media (max-width: 767px) { .responsive .desktop { display: none; } .responsive .mobile { display: flex; } }

.mobile { position: relative; z-index: 1; flex: 1; display: flex; justify-content: space-between; align-items: center; }

.mobile .mobile-logo { font-family: 'druk', arial, sans-serif; font-style: italic; font-size: 40px; display: flex; }

.mobile .mobile-logo div:last-child { margin-top: 6px; margin-left: -1px; }

.light .mobile-menu-content { background-color: white; }

.dark .mobile-menu-content { background-color: #0b0b0b; }

.mobile-menu-content { opacity: 0; pointer-events: none; padding: 20px; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9; transition: opacity 0.2s; display: flex; justify-content: space-between; }

.mobile-menu-content.visible { opacity: 1; pointer-events: all; }

.home-background { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-position: center center; background-size: cover; }

.project-title, .page-title { font-size: 20px; margin: 0; }

@media (max-width: 767px) { .project-title, .page-title { font-size: 24px; } }

.page-title { margin-bottom: 20px; }

.about-container { display: flex; flex-wrap: wrap; }

.page-description { width: 50%; max-width: 600px; padding-right: 20px; }

@media (max-width: 1280px) { .page-description { width: 75%; } }

@media (max-width: 1060px) { .page-description { width: 100%; } }

.about-pic { width: 100%; margin-bottom: 20px; }

.about-pic img { display: block; width: 100%; }

.contact-form-wrapper { display: flex; flex-direction: column; align-items: start; }

.input, .textarea { display: block; width: 100%; margin-top: 20px; max-width: 500px; border-top: none; border-right: none; border-left: none; }

.input:focus, .textarea:focus { outline: none; }

.input { height: 50px; padding: 0px 10px; }

.textarea { height: 250px; resize: none; padding: 10px; }

.button { display: block; margin-top: 20px; border: none; padding: 10px 15px; cursor: pointer; }

.button:hover { opacity: 0.7; }

.dark .input, .dark .textarea { border-bottom: solid 2px rgba(255, 255, 255, 0.5); color: #f7f7f7; background-color: rgba(255, 255, 255, 0.04); }

.dark .input:focus, .dark .textarea:focus { outline: none; border-bottom: solid 2px white; }

.dark .invalid-displayed .input:invalid, .dark .invalid-displayed .textarea:invalid { border-bottom: solid 2px #911616; outline: none; box-shadow: none; }

.dark .button { background-color: white; color: #1a1a1a; }

.light .input, .light .textarea { border-bottom: solid 2px rgba(0, 0, 0, 0.2); color: #1a1a1a; background-color: rgba(0, 0, 0, 0.02); }

.light .input:focus, .light .textarea:focus { outline: none; border-bottom: solid 2px rgba(0, 0, 0, 0.5); }

.light .invalid-displayed .input:invalid, .light .invalid-displayed .textarea:invalid { border-bottom: solid 2px #c42626; outline: none; box-shadow: none; }

.light .button { background-color: #0b0b0b; color: #f7f7f7; }

.marvin { opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1; }

.carousel { display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; justify-content: center; align-items: center; opacity: 0; pointer-events: none; transition: opacity 0.4s; z-index: 2; }

.carousel.visible { display: flex; opacity: 1; pointer-events: all; }

.carousel .carousel-overlay { position: absolute; width: 100%; height: 100%; z-index: 2; cursor: zoom-out; }

.carousel .carousel-image-container { position: absolute; width: auto; height: auto; display: flex; justify-content: center; align-items: center; }

.carousel .carousel-item { position: absolute; z-index: 3; opacity: 0; transition: opacity 0.6s; pointer-events: none; display: flex; justify-content: center; align-items: center; }

.carousel .carousel-item img { display: block; max-width: 92vw; max-height: 92vh; }

.carousel .carousel-item.carousel-active { opacity: 1; z-index: 4; pointer-events: all; transition: opacity 0.3s; }

.carousel .carousel-controls { position: absolute; z-index: 5; display: flex; justify-content: center; align-items: stretch; width: 100%; height: 92%; }

.carousel .carousel-controls .prev { width: 50%; cursor: w-resize; }

.carousel .carousel-controls .next { width: 50%; cursor: e-resize; }

.carousel .close-carousel { position: absolute; top: 0px; height: 4vh; display: flex; justify-content: center; align-items: center; }

.photo-list { display: flex; flex-direction: column; width: 100%; max-width: 1400px; }

.overflow-hidden { overflow: hidden; }

.thumbnail { width: 60%; max-width: 60%; cursor: zoom-in; align-self: flex-start; margin-bottom: 40px; }

.thumbnail img { width: 100%; }

@media (max-width: 1280px) { .thumbnail { width: 75%; max-width: 75%; } }

@media (max-width: 1060px) { .thumbnail { width: 100%; max-width: 100%; } }

@media (max-width: 767px) { .thumbnail { margin-bottom: 20px; } }

.grid { flex-direction: row; flex-wrap: wrap; max-width: none; }

.grid .thumbnail { height: 24vw; width: auto; margin-right: 20px; margin-bottom: 20px; }

.project-description { display: flex; flex-direction: column; justify-content: space-between; margin-bottom: 40px; max-width: 1000px; }

@media (max-width: 767px) { .project-description { margin-bottom: 20px; } }

.project-description p { margin: 10px 0 0 0; }

.video-wrapper { display: flex; flex-direction: column; justify-content: space-between; margin-bottom: 60px; max-width: 1400px; }

@media (max-width: 767px) { .video-wrapper { margin-bottom: 40px; } }

.video-wrapper .project-title { margin: 0 0 20px; }

.video-wrapper .video-description { margin: 20px 0 0 0; }

.video-wrapper p { margin: 10px 0 0 0; }

.video-container { position: relative; padding-bottom: 56.25%; /* ratio 16/9 */ height: 0; overflow: hidden; clear: both; }

.video-container iframe, .video-container object, .video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/*# sourceMappingURL=main.css.map */