/**
 * Content
 */

body {
	background-color: #fff;
	color: #000;
}


.page a.active {
	color: rgba(0, 0, 0, 0.4);
}

.page a.active.image-link img {
	outline: 1px solid #245c97;
    outline-offset: -1px;
}

i,
em {
	font-style: italic;
}

b,
strong {
	font-weight: bolder;
}

sub,
sup {
	position: relative;
	vertical-align: baseline;
}

sub {
	top: 0.3em;
}

sup {
	top: -0.4em;
}

s {
	text-decoration: line-through;
}

img {
	margin-bottom: 3vh;
}

@media screen and (max-width: 770px) { 
   img {
	margin-bottom: 10px;
    }
}

hr {
	background: rgba(0, 0, 0, 0.16);
	border: 0;
	height: 1px;
	display: block;
}

.content img {
	float: none;
    
}

.gallery_image_caption {
    bottom: 2vh!important;
    left: 2vw!important;
    align-items: flex-end;
    font-size: 1rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.6);
	font-family: "Neue Haas Grotesk", Icons;
	font-style: normal;
	line-height: 1.3;
    text-align: right;
}


/**
 * Editor styles
 */

[data-predefined-style="true"] bodycopy {
	font-size: 1.3rem;
	font-weight: 400;
	color: rgba(16, 4, 4, 1);
	font-family: "Alte Haas Grotesk", Icons;
	font-style: normal;
	line-height: 1.2;
}

[data-predefined-style="true"] bodycopy a {
	border-bottom: 0px solid rgba(0, 0, 0, 0.1);
	color: rgba(0, 0, 0, 1);
	padding-bottom: 0em;
	text-decoration: none;
}

[data-predefined-style="true"] bodycopy a:hover {
    color: rgba(36, 91, 151, 1);
}

bodycopy a.image-link,
bodycopy a.icon-link,
bodycopy a.image-link:hover,
bodycopy a.icon-link:hover {
	border-bottom: 0;
	padding-bottom: 0;
}

[data-predefined-style="true"] h1 {
	font-family: "Alte Haas Grotesk", Icons;
	font-style: normal;
	font-weight: 700;
	padding: 0;
	margin: 0;
	font-size: 2.3rem;
	line-height: 1.2;
    color:rgb(36, 91, 151);
}

[data-predefined-style="true"] h1 a {
	color: rgba(0, 0, 0, 1);
}

[data-predefined-style="true"] h1 a:hover {
    color: rgba(36, 91, 151, 1)!important;
}

[data-predefined-style="true"] h2 {
	font-family: "Alte Haas Grotesk", Icons;
	font-style: normal;
	font-weight: 700;
	padding: 0;
	margin: 0;
	color: #000;
	font-size: 1.6rem;
	line-height: 1.2;
	letter-spacing: 0.01em;
}

[data-predefined-style="true"] h2 a {
	color: rgba(0, 0, 0, 1);
}

[data-predefined-style="true"] h3 {
	font-family: "Alte Haas Grotesk", Icons;
	font-style: normal;
	font-weight: 700;
	padding: 0;
	margin: 0;
	font-size: 2.3rem;
	line-height: 1.2;
    color: #000;
}

[data-predefined-style="true"] h3 a {
	color: rgba(0, 0, 0, 1);
}



/**
 * Breakpoints
 */

[data-css-preset] .page {
    background-color: initial /*!page_bgcolor*/;
}

.mobile .page,
[data-css-preset].mobile .page {
	position: relative;
	min-height: 10px;
	max-width: 100%;
	width: 100%;
	background-color: transparent /*!page_bgcolor*/;
}

[data-css-preset] .container {
	margin-left: 0 /*!content_left*/;
	margin-right: auto /*!content_left*/;
	text-align: left /*!text_left*/;
}

[data-css-preset] body {
	background-color: transparent /*!body_bgcolor*/;
}

[data-css-preset] .container_width {
	width: 70%/*!content_left*/;
}

[data-css-preset] .content_padding {
	padding-top: 9.1rem /*!main_margin*/;
	padding-bottom: 5.5rem /*!main_margin*/;
	padding-left: 5.5rem /*!main_margin*/;
	padding-right: 5.5rem /*!main_margin*/;
}

[data-css-preset] text-limit {
	display: inline-block /*!text_width*/;
	max-width: 66rem/*!text_width*/;
}

[data-css-preset] .backdrop {
	width: 100% /*!background_cover*/;
}

/**
 * Project page
 */

.proj-details {
	position: fixed;
    top: 9.1rem;
    width: 30%;
    right: 20px;
    overflow-y: scroll;
    max-height: 42%;
}

.description {
	position: fixed;
    bottom: 60px;
    width: 30%;
    right: 20px;
    max-height: 33%;
    overflow-y: scroll;
    
}

::-webkit-scrollbar {
  display: none;
}

.proj-title {
    position: fixed;
    bottom: 20px;
    right: 20px;
}

@media screen and (max-width: 770px){
	.proj-page-full {
		padding-top: 60px;
	}
    
    .proj-details {
        position: sticky;
        width: 100%;
        padding-bottom: 30px;
    }

    .description {
        position: sticky;
        width: 100%;
        padding-bottom: 20px;
    }
    
    .proj-title {
        position: fixed;
        bottom: 10px;
        left: 20px;
    }
}

/**
 * Headers & footers
 */

.homepage-footer {
	position: fixed;
    bottom: 20px;
    left: 20px;
}

@media screen and (max-width: 770px){
	.homepage-footer {
        position: fixed;
        bottom: 10px;
        left: 20px;
	}
}

.site-wide-header {
	position: fixed;
    top: 20px;
    left: 20px;
    width: 200px;
    height: 600px;  
}

@media screen and (max-width: 770px){  
    .homepage-container {
        position: inherit;
        margin-top: 60px;
        margin-bottom: 30px;
    }
}

/**
 * About page
 */

.about-details {
    position: relative;
    width: 100%;
}

@media screen and (max-width: 770px){
	.about-page {
		padding-left: 20px;
		padding-top: 20px;
		padding-right: 10px;
	}
    
    .contacts {
		padding-bottom: 30px;
	}
}

.studio-text {
    position: sticky;
	width: 53%;
    padding-top: 10vh;
}

@media screen and (max-width: 770px){
	.studio-text {
		width: 100%;
    	padding-top: 8vh;
	}
}

/**
 * Monkey business
 */

.monkey-business-desktop img {
	min-width: 100px;
    max-width: 200px;
    height: auto!important;
    position: fixed;
    top: 9vh;
    right: 22vw;
}

@media screen and (max-width: 770px){  
    .monkey-business-desktop {
		display: none;
	}
}

.image-gallery-monkey img {
    max-width: 90px;
    min-width: 60px;
    height: auto!important;
    position: fixed;
    bottom: 30px;
    right: 40px;
}

/**
 * Text reveal on hover
 * (remove this section when you want to
 * drag images, then paste it back)
 */

.image-gallery .gallery_card > a {
   position: relative;
}

.image-gallery .gallery_card .gallery_image_caption {
   padding: 0.5rem 1.2rem 0.7rem 1.2rem;
   margin: 0rem;
   color: rgba(0, 0, 0, 1);
   font-size: 2em;
   position: absolute;
   align-content: center;
   display: flex;
   left: 0;
   top: 0;
   right: 0;
   bottom: 0;
   z-index: 9;
   opacity: 0;
}

.image-gallery .gallery_image_caption span {
   margin: auto;
   display: inline-block;
   position: fixed;
   right: 20px;
   bottom: 20px;
}

.image-gallery .gallery_card:hover .gallery_image_caption {
   opacity: 1;
}

body.mobile .image-gallery .gallery_card .gallery_image_caption {
   opacity: 0;
   color: rgba(255, 255, 255, 1);
}

body.mobile .image-gallery .gallery_image_caption span {
   display: contents;
   position: fixed;
}

.gallery_card {
    position: relative;
}
