/*
	Name: Smashing HTML5
	Date: July 2009
	Description: Sample layout for HTML5 and CSS3 goodness.
	Version: 1.0
	License: MIT <https://opensource.org/licenses/MIT>
	Licensed by: Smashing Media GmbH <https://www.smashingmagazine.com/>
	Original author: Enrique Ramírez <http://enrique-ramirez.com/>
*/

/* Imports */
@import url("reset.css");


/***** Global *****/


@font-face {
    font-family: 'Regular';
    font-style: normal;
    font-weight: normal;
    src: url("../fonts/UbuntuSans-Regular.otf");
}

@font-face {
    font-family: 'Italic';
    font-style: italic;
    font-weight: normal;
    src: url("../fonts/UbuntuSans-Italic.otf");
}

@font-face {
    font-family: 'Semibold';
    font-style: normal;
    font-weight: bold;
    src: url("../fonts/UbuntuSans-SemiBold.otf");
}

@font-face {
    font-family: 'Semibold-Italic';
    font-style: italic;
    font-weight: bold;
    src: url("../fonts/UbuntuSans-SemiBoldItalic.otf");
}


/* Body */
body {
    color: #000;
    font-family: 'Regular';
    font-size: large;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    text-align: justify;
}


h1 {
    font-size: 300%;
    color: #000;
    padding-top: 20px;
    margin: 0px;
    font-family: 'Semibold';
}

h1 a:link,
h1 a:visited,
h2 a:link,
h2 a:visited,
h3 a:link,
h3 a:visited,
h4 a:link,
h4 a:visited {
    color: #000;

}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover {
    color: #777;
    text-decoration: underline;
}

h2 {
    font-size: 220%;
    color: #000;
    padding-top: 20px;
    margin: 0px;
    font-family: 'Semibold';
    text-align: center;

}

h3 {
    font-size: 160%;
    color: #000;
    font-family: 'Semibold';

}

h4 {
    font-size: 120%;
    color: #000;
    font-family: 'Semibold';

}

hr {
    border: 2px solid #EEEEEE;
}

/* Anchors */
a {
    outline: 0;
}

a img {
    border: 0px;
    text-decoration: none;
}

a:link,
a:visited {
    color: #777;
    padding: 0 1px;
    text-decoration: none;
}

a:hover,
a:active {
    color: #777;
    text-decoration: underline;
}

h1 a:hover {
    background-color: inherit
}

.center {
    text-align: center;
}

/* Paragraphs */
div.line-block,
p {
    margin-top: 1em;
    margin-bottom: 1em;
}

strong,
b {
    font-weight: bold;
}

em,
i {
    font-style: italic;
}

/* Lists */
ul {
    list-style: outside disc;
    margin: 0em 0 0 1.5em;
}

ol {
    list-style: outside decimal;
    margin: 0em 0 0 1.5em;
}

li {
    margin-top: 0.5em;
    margin-bottom: 1em;
}

.post-info {
    text-align: center;
    margin: 10px;
    padding: 5px;
}

.post-info p {
    margin-top: 1px;
    margin-bottom: 1px;
}

.readmore {
    float: right
}

dl {
    margin: 0 0 1.5em 0;
}

dt {
    font-weight: bold;
}

dd {
    margin-left: 1.5em;
}

/* Quotes */
blockquote {
    margin: 20px;
    font-style: italic;
}

div.note {
    float: right;
    margin: 5px;
    font-size: 85%;
    max-width: 300px;
}

/* Tables */
table {
    margin: .5em auto 1.5em auto;
    width: 98%;
}

/* HTML5 tags */
header {
    text-align: center;
}

section,
footer,
aside,
nav,
article,
figure {
    display: block;
}

/***** Layout *****/
.body {
    margin: 0 auto;
    max-width: 800px;
}

img {
    max-width: 100%;
}

img.right,
figure.right,
div.figure.align-right {
    float: right;
    margin: 0 0 2em 2em;
}

img.left,
figure.left,
div.figure.align-left {
    float: left;
    margin: 0 2em 2em 0;
}

/*
	Header
*****************/
#banner {
    margin: 0 auto;
    padding: 0 0 0 0;
}

/* Banner */
#banner h1 {
    font-size: 3.571em;
    line-height: 1.0;
    margin-bottom: .3em;
    text-align: center;
}

#banner h1 a:link,
#banner h1 a:visited {
    color: #000;
    display: block;
    font-weight: bold;
    margin: 0 0 0 .2em;
    text-decoration: none;
}

#banner h1 a:hover,
#banner h1 a:active {
    background: none;
    color: #000;
    text-shadow: none;
}

#banner h1 strong {
    font-size: 0.36em;
    font-weight: normal;
}

/* Main Nav */
nav {
    background: #ccc;
    font-size: 1.2em;
    overflow: auto;
    line-height: 30px;
    padding: 0;
    text-align: left;
    max-width: 100%;
}

nav ul {
    list-style: none;
    margin: 0 auto;
    max-width: 100%;
}

nav li a {
    display: block;
    text-decoration: none;
}

/* menu */

nav .menu {
    max-height: 0;
}

/* menu icon */

nav .menu-icon {
    cursor: pointer;
    display: inline-block;
    float: right;
    padding: 28px 20px;
    position: relative;
    user-select: none;
}

nav .menu-icon .navicon {
    background: #000;
    display: block;
    height: 2px;
    position: relative;
    transition: .2s ease-out;
    width: 18px;
}

nav .menu-icon .navicon:before,
nav .menu-icon .navicon:after {
    background: #000;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transition: all .2s ease-out;
    width: 100%;
}

nav .menu-icon .navicon:before {
    top: 5px;
}

nav .menu-icon .navicon:after {
    top: -5px;
}

/* menu btn */

nav .menu-btn {
    display: none;
}

nav .menu-btn:checked~.menu {
    max-height: 240px;
}

nav .menu-btn:checked~.menu-icon .navicon {
    background: transparent;
}

nav .menu-btn:checked~.menu-icon .navicon:before {
    transform: rotate(-45deg);
}

nav .menu-btn:checked~.menu-icon .navicon:after {
    transform: rotate(45deg);
}

nav .menu-btn:checked~.menu-icon:not(.steps) .navicon:before,
nav .menu-btn:checked~.menu-icon:not(.steps) .navicon:after {
    top: 0;
}

nav a:link,
#banner nav a:visited {
    color: #000;
    display: inline-block;
    height: 100%;
    padding: 5px 1.5em;
    text-decoration: none;
}

nav .active a:link,
#banner nav a:visited {
    color: #000;
}


/* keep only the active menu item visible when collapsed */
nav .menu li {
    display: none;
    /* hide all menu items by default */
}

nav .menu li.active {
    display: block;
    text-align: left;
    /* keep the active one visible */
}

/* when the menu is open, show all items again */
nav .menu-btn:checked~.menu li {
    display: block;
}


@media (min-width: 800px) {
    nav {
        background: #ccc;
        font-size: 1.2em;
        overflow: auto;
        line-height: 50px;
        padding: 0;
        text-align: center;
        max-width: 100%;
        margin: 0;
    }

    nav ul {
        list-style: none;
        margin: 0 auto;
        max-width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    nav li {
        float: left;
        display: inline;
        margin: 0;
    }

    nav .menu {
        display: flex;
        justify-content: center;
    }

    nav .menu li {
        float: left;
        display: block;
        margin: 0;
    }

    nav .menu .float_right {
        float: right;
    }

    nav a:link,
    #banner nav a:visited {
        color: #000;
        display: inline-block;
        height: 50px;
        padding: 5px 1.5em;
        text-decoration: none;
    }

    nav a:hover,
    #banner nav a:active,
    nav .active a:link,
    #banner nav .active a:visited {
        background: #777;
        color: #000;
    }

    nav .menu {
        clear: none;
        max-height: none;
    }
  
    nav .menu-icon {
        display: none;
    }

    .nav {
        margin: 0 auto;
        max-width: 100%;
    }
}
/*
	Body
*****************/
#content {
    background: #fff;
    margin-bottom: 2em;
    overflow: hidden;
    padding: 20px 20px;
    max-width: 760px;
}

/*
	Extras
*****************/
#extras {
    margin: 0 auto 3em auto;
    overflow: hidden;
}

#extras ul {
    list-style: none;
    margin: 0;
}

#extras li {
    border-bottom: 1px solid #fff;
}

#extras h2 {
    color: #C74350;
    font-size: 1.429em;
    margin-bottom: .25em;
    padding: 0 3px;
}

#extras a:link,
#extras a:visited {
    color: #000;
    display: block;
    border-bottom: 1px solid #F4E3E3;
    text-decoration: none;
    padding: .3em .25em;
}

#extras a:hover,
#extras a:active {
    color: #fff;
}

/* Blogroll */
#extras .blogroll {
    float: left;
    max-width: 615px;
}

#extras .blogroll li {
    float: left;
    margin: 0 20px 0 0;
    max-width: 185px;
}

/*
	About
*****************/
#about {
    background: #fff;
    font-style: normal;
    margin-bottom: 2em;
    overflow: hidden;
    padding: 20px;
    text-align: left;
    max-width: 760px;
}

#about .primary {
    float: left;
    max-width: 165px;
}

#about .primary strong {
    color: #5f5f5f;
    display: block;
    font-size: 1.286em;
}

#about .photo {
    float: left;
    margin: 5px 20px;
}

#about .url:link,
#about .url:visited {
    text-decoration: none;
}

#about .bio {
    float: right;
    max-width: 500px;
}

/*
	Footer
*****************/
#contentinfo {
    padding-bottom: 2em;
    text-align: right;
}

/***** Sections *****/
.entry-title {
    font-size: 3em;
    margin-bottom: 10px;
    margin-top: 0;
}

.entry-title a:link,
.entry-title a:visited {
    text-decoration: none;
    color: #000;
}

.entry-title a:visited {
    background-color: #fff;
}

.hentry .post-info * {
    font-style: normal;
}

/* Content */
.hentry footer {
    margin-bottom: 2em;
}

.hentry footer address {
    display: inline;
}

#posts-list footer address {
    display: block;
}

/* Blog Index */
#posts-list {
    list-style: none;
    margin: 0;
}

#posts-list .hentry {
    padding-left: 10px;
    position: relative;
}

#posts-list footer {
    left: 10px;
    position: relative;
    float: left;
    top: 0.5em;
    max-width: 190px;
}

/* About the Author */
#about-author {
    background: #5f5f5f;
    clear: both;
    font-style: normal;
    margin: 2em 0;
    padding: 10px 20px 15px 20px;
}

#about-author strong {
    color: #5f5f5f;
    clear: both;
    display: block;
    font-size: 1.429em;
}

#about-author .photo {
    border: 1px solid #ddd;
    float: left;
    margin: 5px 1em 0 0;
}


.logos {
    max-width: 200px;
    max-height: 200px;
    float: right;
    padding: 20px;
}

/*.project-grid {
}
*/

.project-card {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    padding: 20px;
    margin: 12px;
}

.project-card:after {
    content: "";
    clear: both;
    display: table;
}

.project-text {
    padding: 12px;
}

/* Gallery 
#gallery {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-content: center;
    margin: 0;
    padding: 0;
    font-size: 0;

    & figure {
        margin: 0;
        padding: 0;
        max-width: 100%;
        border: 1px solid lightgray;

        & figcaption {
            display: none;
        }

        & img {
            max-width: 100%;
            border: none;
            padding: 0;
            margin: 0;
        }
    }
}

*/