*, *:after, *:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.clearfix:before, .clearfix:after {
    display: table;
    content: '';
}

body {
    background: #2f3238;
}

.content {
    margin: 0 auto;
    max-width: 1000px;
}

h1 p {
    font: 5em;
    color: white;
    font-family: 'Dosis', sans-serif;
}

img.logo {
	position:relative;
}


/* Common style */
.grid figure {
	position: relative;
	float: left;
	overflow: hidden;
	margin: 10px 1%;
	min-width: 320px;
	max-width: 480px;
	max-height: 360px;
	width: 50%;
	background: #3085a3;
	text-align: center;
	cursor: pointer;
    border-radius: 40px;
}

.grid figure img {
	position: relative;
	min-height: 100%;
	max-width: 100%;
	opacity: 0.7;
}

.grid figure figcaption,
.grid figure figcaption > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Individual effects */

figure.icons {
	background: -webkit-linear-gradient(45deg, #22682a 0%, #9b4a1b 40%, #3a342a 100%);
	background: linear-gradient(45deg, #22682a 0%,#9b4a1b 40%,#3a342a 100%);
}

figure.icons img {
	opacity: 0.9;
	-webkit-transition: opacity 0.35s;
	transition: opacity 0.35s;
}

figure.icons figcaption {
	padding: 7.5em;
	background-color: rgba(58,52,42,0.7);
	-webkit-transition: background-color 0.35s;
	transition: background-color 0.35s;
}

figure.icons figcaption::before {
	position: absolute;
	top: 30px;
	right: 30px;
	bottom: 30px;
	left: 30px;
	border: 1px solid #fff;
	content: '';
}

figure.icons figcaption::before,
figure.icons p {
	opacity: 0;
    -webkit-transition: opacity 0.35s,
    -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: scale(0);
	transform: scale(0);
}

figure.icons:hover figcaption::before,
figure.icons:hover p {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

figure.icons:hover img {
	opacity: 0.4;
}


/* FOOTER */
footer {
    position:fixed;
    text-align: center;
    left: 0;
    bottom: 0;
    width: 100%;
    font-size: 1rem;
    color: #ffffff;
    font-family: 'Dosis', sans-serif;
}



/* mobile code */
@media screen and (max-width: 700px) {
.content {
    padding: 0 10px;
    text-align: center;
}
    
.grid figure {
    display: inline-block;
    float: none;
    margin: 10px auto;
    width: 100%;
    border-radius: 40px; 
}
    
figure.icons figcaption {
	padding: 6em;
	background-color: rgba(58,52,42,0.7);
	-webkit-transition: background-color 0.35s;
	transition: background-color 0.35s;
}
    
}