@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap');

html,
body,
body * {
    display: flow-root;
    position: static;
    float: left;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0;
}

html {		
    font-family: 'Roboto Mono', monospace;
    font-size: 13px;
    line-height: 1.75;
    font-weight: normal;
    color: black;
}

a, strong {
    display: inline;
    float: none;
}

a {			
    text-decoration: inherit;
    color: inherit;
}

body{
	container-type: inline-size;
}

header {
    border-bottom: 2px #bbb dotted;
}

nav {
    box-shadow: inset 0px -4px 16px #eeea;
    border-bottom: 2px #bbb dotted;
    margin: 0 0 0 0;
	position: sticky;
	top: 0px;
	background: white;
}

nav div {
    width: auto;
    float: right;
}

nav a {
    float: left;
    width: auto;
    padding: 0 8px;
	text-decoration: none;
}

nav a:hover {    
    box-shadow: inset 0px -4px 16px #ccc;
}

nav a.active {
	box-shadow: inset 0px -4px 0px #aaa;
}

main {
    max-width: 1090px;
	width: 80%;
    margin: 0 10%;
}

h1{
    line-height: 1.5;
}

h2{
    line-height: 1;
}

h1 {    
    font-size: 1.75rem;
    margin: 8px 0 8px 1%;
    width: 99%;
    font-weight: inherit;
}

h1 a{
	font-weight: normal;
    text-decoration: none;
}

h2 {
    font-size: 1.5rem;
    margin: 32px 0 0 0;
}

h3 {
    font-size: 1.25rem;
    margin: 32px 0 0 0;
}

h4 {
    font-size: 1.125rem;
    margin: 32px 0 0 0;
}

p {
    margin: 16px 0 0 0;
	text-justify: auto;
	text-align: justify;
	hyphens: auto;
}

a {
    font-weight: bold;
	text-decoration: underline;
}

#portfolioButton {
    margin: -25px 0 -25px 0;
	height: 50px;
}

#portfolioButton a {
    padding: 8px;
    background: #fff;
    color: #666;
    transition: opacity 0.15s ease-out;
    opacity: 0;
    float: right;
    width: auto;
    border: solid #fff 2px;
}

.audioBox audio{
	width: 100%;
	margin: 16px 0 0 0;
}  

.imageBox img {
    width: 528px;
    margin: 16px 0 0 16px;
}

.imageBox.small img {
    width: 256px;
}	

.imageBox.superSmall img {
    width: 128px;
}

.imageBox.ardLogo img {
    width: 160px;
	margin: 0 0 0 16px; 
}

.bordered img{
	border: 12px solid #eee;
}

.fit img {
	margin: 32px 0 0 0;
    height: 180px;
    object-fit: cover;
}

.header img {
	margin: 32px 0 0 0;
}

.profile{
    margin: -75px 0 -75px 0;
}

.profile img {
	height: 150px;
    border-radius: 50%;
    width: auto;
    float: right;
	rotate: -3deg;
    border: 4px #ffffff solid;
}

iframe{
    width: 528px;
	aspect-ratio: 16 / 9;
    margin: 16px 0 0 16px;    
}

.banner iframe {
    width: 80%;
    margin: 16px 0 32px 10%;
}

.banner img {
    width: 80%;
    margin: 16px 0 32px 10%;
}

footer {
    border-top: 2px #bbb dotted;
	margin: 32px 0 0 0;
}

footer div {
	float: right;
	width: auto;
	margin: 4px 0 4px 0;
}

footer span {
    width: auto;
    margin: 0 12px 0 0;
    font-size: 0.75rem;
    line-height: 1.1;
    color: #aaa;
    display: inline;
}

.overlay {
	display: none;
	position:fixed;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.25);
}

.overlay.show {
	display: block;
}

.overlay img {
	position: absolute;
	bottom: 0px;
	margin: 0 auto;
}

@container (min-width: 701px) and (max-width: 1359px){
	.imageBox.small img:nth-child(3n) {
		clear: both;
	}
}

@container (max-width: 700px) {    
	
	main {
		width: 90%;
		margin: 0 5% 0 5%;
	}
	
	.fit img {		
		height: 120px;		
	}
	
	.imageBox img{
        width: 100%;
        margin: 16px 0 0 0;
    }  	

    .imageBox.small{
        width: 60%;
    }
	
	.profile{
        margin: -65px 0 -65px 0;
    }

    .profile img {
	    height: 130px;
    }
    
    h1{
        font-size: 1.65rem;
		margin: 8px 0 8px 2%;
		width: 98%;
    }
	
    iframe,
	.banner,
    .banner iframe{
        width: 100%;
        margin: 16px 0 0 0;
    }
	
    p{
		hyphens: auto;
        text-align: justify;
    }
	
	nav a {
		font-size: 0.85rem;
		padding: 4px 8px;
	}
	
	
	footer div {
		float: right;
		margin: 4px 2% 4px 0;
		width: 98%;
	}
	
	footer span {
		width:  100%;
		text-align: right;
		line-height: 1.25;
		font-size: 0.7rem;
	}
}