/* GLOBAL SETUP */

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body{
    font-family: Roboto, 'Arial', sans-serif;
    font-size: 24px;
    font-weight: 400;
    color: #000;
}

a{
    text-decoration: none;
    color: #000;
    text-transform: uppercase;
    font-size: 90%;
}

hr{
    width: 15%;
    display: block;
    margin: 0 auto;
    height: 4px;
    border: none;
    background-color: #2980b9;
    margin-bottom: 50px;
}

.container{
    max-width: 1140px;
    margin: 0 auto;
}

.mobile-nav-icon {
    float: right;
    padding: 40px 10px 0 0;
    cursor: pointer;
    display: none;
}

.mobile-nav-icon i {
    font-size: 200%;
    color: #000;
}

.top-line{
    background-color: #000;
    height: 30px;
}

.navbar{
    background-color: #fff;
}

.navbar img{
    padding: 15px 0;
    height: 100%;
    width: 300px;
}

.navbar ul{
    display: inline-flex;
    float: right;
}

.navbar li{
    list-style: none;
    padding: 40px 40px 0 0;
}

.navbar ul a:hover{
    border-bottom: 2px #000 solid;
}

/* MAIN STYLE */

.main{
    height: 100%;
    background-color: #f2efea;
}

.main h3{
    font-weight: 700;
    letter-spacing: 0.20em;
    text-align: center;
    padding: 60px 0 20px 0; 
    text-transform: uppercase;
}

.main .row{ display: flex; }

.panel-grid{
    float: left;
    width: 33.33%;
}

.content{
    width: 90%;
    display: block;
    margin: 0 auto;
}

.panel-grid img{
    padding-bottom: 15px;
    width: 100%;
}

.panel-grid p{
    font-size: 75%;
    text-transform: uppercase;
    color: #fff;
    background: #000;
    padding: 10px;
    position: absolute;
}

.description {
    padding-bottom: 30px;
    width: 90%;
    margin: 0 auto;
    font-size: 90%;
    text-align: center;
    font-style: italic;
}

/* PROJECTS GOOGLE MAP STYLES */

#googleMap{
    display: inline-block;
    width: 60%;
    height: 450px;
}

.project-description{
    display: inline-block;
    width: 36%;
    padding-right: 40px;
    float: right;
}

.project-photos img{
    width: 20%;
    margin-right: 10px;
    float: left;
}

.project-name{
    text-align: center;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.project-desc{font-weight: 300;}

.project-date{
    font-style: italic;
    margin: 24px 0;
    font-size: 90%;
}


/* PROJECTS STYLES */

.project-content img{
    width: 45%;
}

.project-content ul{
    padding: 20px;
}

table{
    width: 50%;
    font-size: 90%;
    font-style: italic;
    float:right;
}

.project-content li {
    margin-bottom: 10px;
}

/* PARTNERS STYLES */

.partners{
    display: flex;
    width: 100%;
}

.partners li{
    width: 25%;
    display:table;
    height: 200px;
}

.partners li div{
    display:table-cell;
    vertical-align: middle;
}

.partners img{
    height: auto;
    width: 70%;
    margin: 20px auto 0 auto;
    float: left;
    display: block;
}

/* CONTACTS STYLES */

.contacts {
    margin: 100px 0 140px ;
    display: flex;
}

.contacts ul{
    width: 33.33%;
    float: left;
}

.contacts li{
    list-style: none;
    text-align: center;
}

.contacts i{
    font-size: 250%;
}

.contacts li p{
    font-weight: 300;
    margin: 10px 0;
    color: #2980b9;
    text-transform: uppercase;
}

/* Big tablet to 1200px (widths smaller taht the 1140px row) */
@media only screen and (max-width: 1200px) {
    
    .main { height: 100%; }
    body { font-size: 20px; }
    .container { padding: 0 2%; }
}

/* Small tablet to big tablet: from 768px to 1023px */
@media only screen and (max-width: 1023px) {
    table{
        padding-top: 20px;
        width: 100%;
    }
    #googleMap{width: 100%;}
    .project-description{width: 100%; padding: 2%;}
    .navbar ul{
        display: none;
        float: left
    }
    .mobile-nav-icon { display: inline-block;}
    .navbar{ display: inline-block; }
    
    .navbar li{
        padding: 0;
        margin-bottom: 30px;
        display: block;
    }
    .navbar li:first-of-type{
        padding-top: 20px;
    }
    
    .project-content { width: 100%;}
    .project-content img{
        width: 60%;
        display: block;
        margin: 0 auto;
    }
    .project-content ul,
    .project-content p{
        padding: 20px 20px;
        width: 100%;
        float: none;
    }
}

/* Small phones to small tablets: from 481px to 767px */
@media only screen and (max-width: 767px) {
    .project-content img{ width: 90%; }
    .contacts {
        margin: 0;
        width: 100%;
        display: inline-table;
    }
    .contacts ul {
        width: 100%;
        padding-bottom: 50px;
    }
}

/* Small phones: from 0 to 480px */
@media only screen and (max-width: 480px) {
    #googleMap {height: 350px;}
    .navbar img {
        padding: 10px 0;
        width: 80%;
    }
    .main h3 {padding: 30px 0;}
    
    .project-content img{ width: 100%; }
    .main .row { display: block;}
    .panel-grid {width: 100%; }
}

