/*
Theme Name: Personal WP
Theme URI: http://personalwp.vanillamarketing.it/
Author: Guido Carucci
Author URI: www.guidocarucci.com
Description: A clean, elegant and responsive personal theme
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, custom-menu, custom-logo, featured-images, post-formats, rtl-language-support, threaded-comments
Text Domain: personalwp
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/


.wp-caption,
.gallery-caption {
	color: #777;
	font-size: 13px;
	font-style: italic;
	max-width: 100%;
}

p {
  padding-top: 6px;
  line-height: 1.8;
  clear: both; /** prevent images from floating */
}

p a{
  color: #333;
}

a:hover{
  color: #000;

}
.sticky {
	position: relative;
}

.screen-reader-text {
  border: 0;
  padding: 0;
}

.gallery-columns-5 .gallery-caption,
.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.bypostauthor  {
	border: 1px solid #333;
	padding: 2px;
}


.wp-caption .wp-caption-text {
	margin: 0;
}

.alignleft,
img.alignleft {
    display: inline;
    float: left;
  margin-right: 1.5em;
}
.alignright,
img.alignright {
    display: inline;
    float: right;
  margin-left: 1.5em;
}

.aligncenter,
img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

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

body {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #777;
}

hr {
  background-color: #fafafa;
  border: 0;
  height: 3px;
  margin: 20px auto;
  width: 120px;
}

.button {
    font-size: 14px;
    padding: 10px 25px;
    color: #00aff4;
    border: solid 2px #00aff4;
    font-weight: 500;
    border-radius: 4px;
    display: inline-block;
}

.button:hover {
  color: #0092cc;
  border: solid 2px
}

a {
  text-decoration: none;
  color: #777;
}

.fa {
    font-size: 20px !important;
    margin-top: 20px;
    color: white;
  }

.fa:hover {
  color: #333;
}

img, video {
    height: auto;
    max-width: 100%;
}

.background-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: 350px;
  text-align: center;
}



/************************* TYPOGRAPHY *************/

h1{
  font-size: 34px;
  font-weight: 800;
  color: #333;
}

h2{
  font-size: 28px;
  font-weight: 700;
  color: #333;
  letter-spacing: 0.2px;
}

h3 {
  font-size: 20px;
  font-weight: 600;
  color: #333;
}

h4 {
  font-size: 18px;
  font-weight: 500;
  color: #333;
}

h5 {
  font-size: 16px;
  font-weight: 500;
  color: #333;
}

h6 {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

b, strong{
  font-weight: 700;
  color: #333;
}



/* ----------- Tablets larger than 768px wide ----------- */
@media only screen and (min-width: 768px) {
  h1 {
    font-size: 39px;
  }

  h2 {
    font-size: 32px;
  }

  h3 {
    font-size: 22px;
  }

  h4 {
    font-size: 20px;
  }

  h5 {
    font-size: 18px;
  }
}

/* ----------- Desktop larger than 940px wide ----------- */
@media only screen and (min-width: 940px) {
h1{
  font-size: 48px;
}

h2{
  font-size: 34px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 22px;
}

h5 {
  font-size: 20px;
 }
}


/************************* SIDEBAR *************/

#site-sidebar {
  height: 500px;
  background-color: #777;
  width: 40%;
}

/************************* PAGE *************/

#page-wrap {
  width: 80%;
  margin: 20px auto !important;
}

/* ----------- Desktop larger than 940px wide ----------- */
@media only screen and (min-width: 940px) {
  #page-wrap{
    width: 50%;
  }
}

/************************* HEADER *************/
header{
  text-align: center;
  text-transform: uppercase;
  border-bottom: 2px solid #fafafa;
}

#header-container{
  display: grid;
  grid-template-columns: 1fr 1fr;
}


/* ----------- Desktop larger than 940px wide ----------- */
@media only screen and (min-width: 940px) {

header {
  display: grid;
  grid-template-columns: 10%  80%;
}

#logo {
  width: 200px;
  border-bottom: none;
 }
}
/************************* MENU *************/

#menu {
  padding: 10px 0;
  text-decoration: none;
  display: none;
}

#mobile-menu {
  padding-bottom: 10px;
  padding: 10px 0;
}

#mobile-menu .fa {
  font-size: 30px !important;
  color: #333 !important;
  padding-top: 5px;
  margin-left: 100px;
}

#menu li {
  border-top: 2px solid #fafafa;
  padding: 15px 0 !important;
}

#menu li a {
  text-decoration: none;
  color: #444;
  font-size: 14px;
  font-weight: 500;
  margin: 0 10px;
}

/* This targets all sub menus */

   #menu ul ul {
   display: none;/* hide all sub menus from view */
   margin-top: 10px;
   border: 2px solid #fafafa;
   background-color: white;
   }

/* Menu arrow called in js/scripts.js */

.arrow{
  margin-left: 5px;
}

/* Third menu items */
#menu ul ul li ul {
  background-color: #fafafa;
}

#menu ul ul li {
  text-align: left;
  margin: 0 20px;
  list-style: none;
}

/* ----------- Desktop larger than 940px wide ----------- */
@media only screen and (min-width: 940px) {

  #mobile-menu{
  display: none
  }

  #menu {
    display: block;
    margin: 0 auto;
    border-top: none;
  }

   #menu ul {
     padding: 20px 0px;
     display: block;
   }

   #menu li {
     display: inline-block;
     padding: 0 10px;
     border-top: none;
   }

   #menu li a {
     padding: 5px 5px;
   }

   #menu li a:hover{
     border-bottom: 2px solid #0092cc;
   }

/* This targets all sub menus */

   #menu ul ul {
   display: none; /* hide all sub menus from view */
   position: absolute;
   }

/* This targets all submenu items */

   #menu-nav ul ul li {
   float: none;
   width: 100px ;
   display: block;
   }

   #menu ul li:hover > ul {
   display: grid; /* show sub menus when hovering over a parent */
   padding: 0 20px;
 }

/* Target all second, third, and deeper level sub menus */

#menu ul ul li ul {
left: 139px ;
top: 0; /* this ensures the sub menu starts in line with its parent item */
width: 150px;
background-color: white;
}

#menu ul ul li {
  margin: 0;
}
}

/************************* HERO *************/

#hero {
  background: linear-gradient(
                       to right,
                       rgba(20, 20, 20, 0.6),
                       rgba(20, 20, 20, 0.6)),
                       url( 'assets/images/hero-image.jpg');
  /* Full height */
    height: 100%;
  /* Center and scale the image nicely */
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
  }

#hero-title{
  color:white;
  padding-top: 180px;
}

#hero span{
  color: #00aff4;
}

#hero-subtitle {
  color: white;
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 1px;
}

#hero .button {
  color: white;
  border-color: white;
  font-weight: 400;
  margin-top: 20px;
  letter-spacing: 0.5px;
}

#hero .button:hover {
	background-color: white;
	color: #222 !important;
	font-weight: 500;
}

#hero .button:hover {
  color: #fafafa;
}


  /************************* SERVICES *************/

  #services-section {
    text-align: center;
    padding: 0 5px;
  }

  #services-section h2 {
    padding-top: 120px;
  }

  .section-subtitle {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    color: #777;
  }

  .services-container {
    display: grid;
    grid-gap: 20px;
    margin-bottom: 120px;
  }
  .service-item {
    padding: 50px 0px;
    text-align: center;
    margin: 0 10px;
  }

   .service-item:hover{
      background-color: #fafafa;
    }

  .service-item img {
    margin-bottom:20px;
    padding: 20px 30px;
  }

  .service-item h3 {
    font-weight: 700;
    font-size: 16px;
    padding-bottom: 10px;
  }

  .service-item p {
    color: #777;
    margin: 0 auto;
    padding: 0 20px;
  }

  /* ----------- Tablets larger than 768px wide ----------- */
  @media only screen and (min-width: 768px) {
    .services-container {
      margin: 20px 40px;
  }
    .service-item h3{
      font-size: 18px;
    }
  }

  /* ----------- Desktop larger than 940px wide ----------- */
  @media only screen and (min-width: 940px) {

    .services-container {
     grid-template-columns: 1fr 1fr 1fr;
    }
    .service-item h3{
      font-size: 20px;
    }
 }


/************************* ABOUT *************/

#about-section {
  display: grid;
  text-align: left !important;
  margin-top: 100px;
}

#about-item-left {
  height: 500px;
  background-image: url('assets/images/about-me.jpg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#about-item-right {
  background-color: #0092cc;
  height: 500px;
}

#about-item-right-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 500px;
  padding: 0 10px;
}

#about-item-right h2 {
  color: white !important;
  font-weight: 700;
  font-size: 30px;
  margin-bottom: 20px;
  max-width: 500px;
  margin-top: 80px;
  padding: 0 5px;
}

#about-item-right hr {
margin-left: 0px !important;
}

#about-item-right p {
  color: white !important;
  max-width: 500px;
  line-height: 22px;
}

.icons-group {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-column-gap: 10px;
  width: 140px;
}

/* ----------- Desktop larger than 940px wide ----------- */
@media only screen and (min-width: 940px) {
  #about-section{
    grid-template-columns: 1fr 1fr;
  }
}

/************************* CONTACT *************/

#contact-section {
  text-align: center;
  padding: 0 5px;
}

#contact-section h2 {
  padding-top: 120px;
}

.contact-subtitle {
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
  color: #777;
}

#contact-container {
  display: grid;
  grid-gap: 20px;
  margin-top: 40px;
  padding-bottom: 40px;
}

.contact-item img {
  width: 90px;
  padding-bottom: 10px;
}

#address-icon img {
  margin-right: -30px;
}

.contact-item {
  padding: 20px;
  text-align: center;
  margin: 0 5px;
  margin-bottom: 40px;
}

.contact-item h3 {
  font-weight: 700;
  font-size: 16px;
  padding-bottom: 10px;
}

.contact-item p{
  color: #777;
}

/* ----------- Tablets larger than 768px wide ----------- */
@media only screen and (min-width: 768px) {

  .contact-item h3{
    font-size: 18px;
  }
}

/* ----------- Desktop larger than 940px wide ----------- */
@media only screen and (min-width: 940px) {

  #contact-container {
   grid-template-columns: 1fr 1fr 1fr;
  }

  .contact-item h3{
    font-size: 20px;
  }
}

/************************* FOOTER *************/
footer {
  border-top: 2px solid #fafafa;
  margin-top: 40px;
  text-align: left;
  background-color: #0092cc;
}

.footer-container {
  display: grid;
  margin-top: 0px;
}

.footer-container strong {
  color: #fafafa;
  font-weight: 500;
}

.footer-item {
  padding:20px 0;
  color: #dfdce3;
  max-width: 80%;
  padding: 60px 0;
  margin-left: 60px;
}

.footer-container h3{
  color: #fafafa !important;
  font-size: 16px;
  margin-bottom: 24px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.footer-item p {
  display: inline-block;
  color: white;
}

.footer-item span{
  margin-right: 20px;
}

.footer-item li {
  list-style: none;
}

.footer-item li a{
  color: white;
}

/* ----------- Tablets larger than 768px wide ----------- */
@media only screen and (min-width: 768px) {
.footer-container {
 grid-template-columns: 1fr 1fr 1fr 1fr;
}
}

/************************* SUBFOOTER *************/

#subfooter p {
  font-size: 12px;
  margin-left: 20px;
  text-align: center;
}


/************************* BLOG  *************/

.blog-posts-container {
    margin: 20px auto;
    width: 80%;
}

.blog-title-background{
  color: white;
  padding-top: 120px;
}

.blog-post-container{
  width: 600px;
  margin: 0 auto !important;
  padding: 0 10px;
}

.blog-content p{
  line-height: 30px
}


#single-post-title {
  margin-top: 40px;
}

.blog-posts-container hr {
  width: 100%;
  margin: 40px 0;
}

.blog-post-container hr {
  width: 100%;
  margin: 20px 0;
}

.blog-date {
  margin-top: 10px;
}

.blog-title {
  color: #333 ;
}

#posts-nav-link {
  margin: 0 auto;
  display: block;
}


/* ----------- Tablets larger than 768px wide ----------- */
@media only screen and (min-width: 768px) {
  .blog-posts-container {
      width: 70%
  }
}

/* ----------- Desktop larger than 940px wide ----------- */
@media only screen and (min-width: 940px) {

  .blog-posts-container {
      width: 50%
  }
}


/************************* COMMENTS *************/

.comments-list {
  list-style: none;
}

.comment-body {
  margin: 40px 0;
  background-color: #fafafa;
  padding: 20px 40px;
  border-radius: 4px;
}

.comment-author .avatar {
  height: 40px;
  width: 40px;
  border-radius: 50%;
  margin-bottom: -10px
}

.comment-author {
  margin-top: 20px;
  display: inline-block;
}

.comment .odd .alt .thread-odd .thread-alt .depth-1 {
  display: none
}
cite.fn {
  color: #333;
  font-weight: 700;
  font-size: 16px;
  margin: 10px;
}

.comment-meta {
  margin: 20px 0;
  margin-top: 20px;
  font-weight: 500;
  font-size: 14px;
}

.comments-list p {
  color: #333;
  margin-bottom: 20px
}

.comment-reply-link {
  color: green !important;
  font-weight: 500;
}

.comment-reply-title {
  margin-top: 40px;
  font-weight: 500 !important;
}

p.logged-in-as {
  margin-bottom: 40px;
}

.comment-notes {
  margin-bottom: 20px;
}

.comment-form-comment label {
  float: left;
  margin-top: -25px;
  color: #333;
  font-weight: 500;
}

#comment{
  margin-top: 10px;
  width: 70%;
  height: auto;
  padding: 20px;
  line-height: 1.5;
  font-size: 14px;
}

input[type="submit"] {
  background-color: #0092cc;
  color: white;
  border-radius: 4px;
  padding: 10px 25px;
  font-weight: 500;
  font-size: 12px;
}

input[type="submit"]:hover {
  background-color: #777;
}


/************************* ARCHIVE *************/

.archive {
  text-align: center;
  margin: 40px 0;
}
