/****************************************************************************
 * 1. GLOBAL & BASE STYLES
 ****************************************************************************/

/* Reset general margin/padding */
html,
body {
  padding: 0;
  margin: 0;
  text-align: center;
  height: 100%;
  font-size: 18px;
  line-height: 20px;
  font-family: 'Josefin Sans', sans-serif;
  color: #000;
}

/* Body background */
body {
  background: #f0e8dc url();
}

/* Main container */
.main-container {
  height: auto;
  min-height: 100%;
}

/* Spacing, images, etc. */
.img-gap {
  margin: 20px;
  background-color: transparent;
  border: 0 !important;
  box-shadow: none !important;
}

/* Inputs */
input.form-control,
input.form-control:focus {
  border: none;
  box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -moz-transition: none;
  -webkit-transition: none;
  transition: none;
}

/****************************************************************************
 * 2. PARAGRAPHS, LINKS, BLOCKQUOTES
 ****************************************************************************/

/* Paragraph spacing */
p {
  margin-bottom: 0px;
  padding-top: 30px;
  padding-right: 14px;
  padding-bottom: 0px;
  padding-left: 14px;
}

/* Paragraph anchor colors */
p a:link {
  color: #c88491;
}
p a:hover {
  color: #b1d9ce;
}

/* Global anchor colors (outside <p> tags) */
a {
  color: #f0e8dc;
}
a:hover {
  color: #b1d9ce;
}

/* Blockquotes */
blockquote {
  font-size: 16px;
  line-height: 24px;
  font-family: 'Josefin Sans', sans-serif;
  font-style: italic;
  border-left: 5px solid #999;
}
blockquote.pull-right {
  border-right: 5px solid #999;
  border-left: none;
}

/****************************************************************************
 * 3. HEADINGS
 ****************************************************************************/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: normal;
  margin: 0;
}

h1 {
  font-size: 30px;
  text-align: center;
  color: #ffffff;
  padding-top: 10px;
  padding-right: 15px;
}

h2 {
  font-size: 13px;
  color: #f0e8dc;
  padding-right: 15px;
}

h3 {
  font-size: 30px;
  color: #83b6b1;
  text-align: center;
  text-transform: uppercase;
}

h5,
h6 {
  text-transform: uppercase;
}

/* h5 text-shadow from original */
h5 {
  text-shadow:
    1px 1px 0 #fdfdfd,
    2px 2px 0 rgba(81, 81, 81, 0.5),
    0 0 1px #fdfdfd;
}

/* Title background classes */
h1.title-bg,
h2.title-bg,
h3.title-bg,
h4.title-bg,
h5.title-bg,
h6.title-bg {
  background: #f8f8f8;
  padding: 10px 5px;
  margin: 0 0 10px 0;
  border-bottom: 1px dotted #a9a9a9;
  border-top: 1px dotted #a9a9a9;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
  color: #7f7f7f;
}

h2 small {
  font-size: 30px;
}

h5 small {
  font-size: 14px;
}

h6 small {
  font-size: 12px;
}

h5.title-bg button {
  float: right;
  text-transform: none;
  margin-left: 5px;
}

/****************************************************************************
 * 4. NAVIGATION & NAVBAR
 ****************************************************************************/

.navbar-inverse {
  background-color: #83b6b1;
  border-color: #f2d3de;
  border-bottom: 0px;
  margin: 0px;
  padding: 0px;
}

.navbar {
  margin: 0px;
  padding: 0px;
}

.navbar-fixed-top {
  margin: 0px;
  padding: 0px;
}

.navigation {
  margin-top: 0px;
  padding-bottom: 0px;
}

.navbar .nav > li > a {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: normal;
  text-shadow: none;
  text-transform: uppercase;
  font-size: 14px;
  margin: 10px 0px;
  padding: 10px 20px;
  color: #f0e8dc;
}

.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus {
  color: #b1d9ce;
  background-color: #83b6b1;
  box-shadow: none;
}

.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
  color: #b1d9ce;
  background-color: #83b6b1;
  border-color: #f2d2dd;
}

ul.nav li.dropdown:hover ul.dropdown-menu {
  display: block;
}

.dropdown-menu {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 10px;
  padding: 0px;
  margin: 0px;
  background-color: #83b6b1;
  border: none;
  border-radius: 0px;
  box-shadow: none;
}

.dropdown-menu a {
  color: #e7b4c5;
  border-bottom: 1px solid #f2d2dd;
  padding: 10px 10px;
  margin: 0px 10px;
}

.dropdown-menu li > a:hover,
.dropdown-menu li > a:focus,
.dropdown-submenu:hover > a {
  color: #f0e8dc;
  text-decoration: none;
  background-color: #83b6b1;
  background-image: none;
}

.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
  border-top-color: #f0e8db;
  border-bottom-color: #f0e8db;
  background-color: #83b6b1;
}

.navbar .nav > li > .dropdown-menu:before,
.navbar .nav > li > .dropdown-menu:after {
  display: none;
}

/****************************************************************************
 * 5. GALLERY & LIGHTBOX-RELATED
 ****************************************************************************/

/*
.gallery: {
  enabled: false, // set to true to enable gallery
  preload: [0,2],
  navigateByImgClick: true,
  arrowMarkup: ...
  ...
}
(This block is not valid CSS, so it’s commented out)
*/

/* Magnific popup or lightbox overrides */
#lightbox-image-details-caption {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 14px;
}
#lightbox-secNav-btnClose {
  width: 30px;
  padding-bottom: 0;
}
#lightbox-image-details-currentNumber {
  display: none;
  visibility: hidden;
}

/* Some older gallery classes from original code */
.gallery-title {
  margin-bottom: 15px;
}
.gallery-item {
  margin-bottom: 15px;
  margin-top: 15px;
}

/* .gallery-hover classes used by older code, left in place */
.gallery-hover-6col,
.gallery-hover-4col,
.gallery-hover-3col,
.gallery-hover-4col-cir {
  display: none;
  position: absolute;
  z-index: 10;
  background: url(../img/gallery-item-hover.png);
}

.gallery-hover-4col-cir {
  -webkit-border-radius: 500px;
  -moz-border-radius: 500px;
  border-radius: 500px;
}

/* Large desktop size */
@media (min-width: 1200px) {
  .gallery-hover-6col {
    width: 170px;
    height: 139px;
  }
  .gallery-hover-4col {
    width: 270px;
    height: 220px;
  }
  .gallery-hover-3col {
    width: 370px;
    height: 300px;
  }
  .gallery-hover-4col-cir {
    width: 270px;
    height: 270px;
  }
  .gallery-hover-4col-cir .gallery-icons {
    top: 45%;
    left: 40%;
  }
}

/* Smaller devices -- same pattern continued, see original code for details */

/* Gallery icons, project details, etc. */
.project-details {
  background: #f8f8f8;
  display: block;
  padding: 10px;
  border-bottom: 1px dotted #a9a9a9;
  font-family: 'Josefin Sans', sans-serif;
  font-style: italic;
  width: auto\9;
  height: auto;
  max-width: 100%;
}
.project-details a {
  margin: 0px;
  font-size: 12px;
  font-style: normal;
  text-shadow: none;
  display: block;
  font-family: 'Josefin Sans', sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  color: #333333;
}
.project-details a:hover {
  color: #d8450b;
  text-decoration: none;
}
.project-details {
  color: #6f6f6f;
}

.gallery-icons {
  z-index: 9;
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 89px;
  height: 42px;
}
a.item-zoom-link {
  height: 42px;
  width: 42px;
  background: #ffffff url(../img/gallery-item-icons.png) no-repeat 0 0;
  position: absolute;
  display: block;
}
a.item-details-link {
  height: 42px;
  width: 42px;
  background: #ffffff url(../img/gallery-item-icons.png) no-repeat -42px 0px;
  position: absolute;
  left: 47px;
  display: block;
}
a.item-zoom-link:hover {
  background: #d8450b url(../img/gallery-item-icons.png) no-repeat;
}
a.item-details-link:hover {
  background: #d8450b url(../img/gallery-item-icons.png) no-repeat -42px 0px;
}

.gallery-post-grid {
  margin: 0px;
}
.gallery-post-grid li {
  list-style: none;
  float: left;
  margin-bottom: 30px;
}

/****************************************************************************
 * 6. BLOG STYLES
 ****************************************************************************/

/* Blog on Home Page */
.blog-summary {
  line-height: 18px;
}
.post-info-shade {
  background: #f8f8f8;
}
.post-info {
  line-height: 20px;
  padding-top: 10px;
}
.post-info h4 {
  line-height: 26px;
  margin-top: 0px;
}
.post-info h4 a,
.post-info h4 a:hover {
  color: #333;
  text-decoration: none;
}
.post-info ul li {
  list-style: none;
  padding-bottom: 2px;
  margin: 0px;
}
.post-preview {
  line-height: 20px;
}
.blog-details-preview {
  display: none; /* from the original code */
  border: 1px solid #000;
}

/* Blog List Page */
.blog article,
.blog section {
  margin-bottom: 40px;
}
.blog article h3 {
  margin-top: 0px;
}
.blog article h3 a,
.blog article h4 a,
.blog article h3 a:hover,
.blog article h4 a:hover {
  color: #333333;
  text-decoration: none;
}
.blog h4 {
  line-height: 26px;
}
.post-summary {
  background: #f8f8f8;
  padding-bottom: 20px;
  overflow: auto;
}
.post-summary p {
  padding: 20px;
  margin: 0px;
}
.post-summary-footer {
  margin: 0px;
  padding: 0px 20px;
}
.post-summary-footer button {
  margin: 0px;
  float: left;
}
ul.post-data {
  float: right;
}
ul.post-data-3 {
  margin-top: 20px;
}
ul.post-data li,
ul.post-data-3 li {
  list-style: none;
  float: left;
  padding: 0px 10px;
  border-left: 1px dotted #a9a9a9;
}
ul.post-data li:first-child,
ul.post-data-3 li:first-child {
  border: none;
  padding-left: 0px;
}
ul.post-data li:last-child {
  padding-right: 0px;
}
.blog-style-2 h4 {
  margin-top: 0px;
  margin-bottom: 10px;
}
.blog-style-2 ul.post-data {
  margin: 0px 0px 20px 0px;
}
.blog-style-2 ul.post-data li {
  float: none;
  margin: 0px;
  padding: 5px 0px 0px 0px;
  border: none;
}
.blog-post-grid {
  margin: 0px;
}
.blog-post-grid li {
  list-style: none;
  float: left;
  margin-bottom: 30px;
}
.blog-post-hover {
  display: none;
  width: 270px;
  height: 220px;
  background: url(../img/post-item-hover.png);
  position: absolute;
  z-index: 10;
}
.blog-post-hover p {
  color: #f8f8f8;
  padding: 20px;
  font-family: 'Josefin Sans', sans-serif;
  font-style: italic;
}
.blog-post-hover a {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 28px;
  line-height: 32px;
  font-style: normal;
  color: #f8f8f8;
}
.blog-post-hover a:hover {
  text-decoration: none;
  color: #d8450b;
}

/* Blog Full Page */
.post-content {
  background: #f8f8f8;
  overflow: auto;
}
.post-body {
  padding: 0px;
}
.about-author img {
  float: left;
  margin-right: 20px;
}

/* Comments */
.comments ul {
  margin: 0px;
}
.comments ul li {
  list-style: none;
  padding: 20px;
  background: #f8f8f8;
  margin-bottom: 40px;
  border-bottom: 1px dotted #a9a9a9;
  border-top: 1px dotted #a9a9a9;
}
.comments ul li ul {
  margin-left: 40px;
  padding-top: 20px;
}
.comments ul li ul li {
  border-top: 1px dotted #a9a9a9;
  border-bottom: none;
  padding: 20px 20px;
  margin-bottom: 0px;
}
.comments ul li ul li:last-child {
  padding-bottom: 0px;
}
.comments ul li img {
  margin: 0px 10px 10px 0px;
}
.comment-name {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: normal;
  text-transform: uppercase;
}
.comment-date {
  font-family: 'Josefin Sans', sans-serif;
  font-style: italic;
  clear: both;
}
.comment-content {
  clear: both;
  padding-top: 10px;
}
.comment-form-container input,
#contact-form input {
  margin-bottom: 12px;
}
.comment-form-container textarea,
#contact-form textarea {
  height: 150px;
}
.comment-form-container .btn,
#contact-form .btn {
  margin-top: 12px;
}

/****************************************************************************
 * 7. SIDEBAR
 ****************************************************************************/

.sidebar input {
  width: 80%;
}
.sidebar h5 {
  margin-top: 40px;
}
.sidebar ul.post-category-list,
.sidebar .tab-content .tab-pane ul {
  margin: 0px;
}
.sidebar ul.post-category-list li,
.sidebar .tab-content .tab-pane ul li {
  list-style: none;
  border-bottom: 1px dashed #a9a9a9;
  padding: 10px 5px;
}
.sidebar ul.post-category-list li:first-child,
.sidebar .tab-content .tab-pane ul li:first-child {
  padding-top: 0px;
}
.sidebar ul.post-category-list li:last-child {
  padding-bottom: 0px;
  border-bottom: none;
}
.sidebar ul.post-category-list li a {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: normal;
  text-transform: uppercase;
}
.sidebar ul.post-category-list li i {
  padding-right: 5px;
}
.sidebar .tab-content .tab-pane ul li i {
  padding-right: 5px;
}

.popular-posts {
  margin: 0px;
}
.popular-posts li {
  list-style: none;
  margin-bottom: 20px;
  clear: both;
  display: block;
  min-height: 70px;
}
.popular-posts li a,
.popular-posts li a:hover {
  color: #333333;
  text-decoration: none;
}
.popular-posts li img {
  float: left;
  margin-right: 20px;
}
.popular-posts li em {
  font-family: 'Josefin Sans', sans-serif;
}
p.side {
  margin-bottom: 20px;
}

/****************************************************************************
 * 8. FOOTER & SOCIAL
 ****************************************************************************/

.footer-container {
  width: 100%;
  background: #83b6b1;
  clear: both;
  position: relative;
  z-index: 10;
}
.footer-row {
  margin-top: 30px;
}
.footer-col {
  color: #ababab;
  font-size: 11px;
}
.footer-col a {
  color: #dcdcdc;
  font-weight: bold;
}
.footer-col a:hover {
  color: #d8450b;
  text-decoration: none;
}
.footer-col h5,
.footer-col strong {
  color: #f9f9f9;
  text-shadow: none;
}
.footer-col h5 {
  margin-bottom: 25px;
}
.footer-col ul {
  margin: 0px;
}
.footer-col ul li {
  list-style: none;
  padding-bottom: 20px;
}
.footer-col ul.post-list li {
  border-bottom: 1px dashed #504f4f;
  padding: 10px 0px;
}

/* Sub-footer */
.footer-sub {
  background: #f0e8db;
  padding: 10px 0px;
}
.footer-sub div div span {
  padding: 0px 20px;
}

/* Social icons */
.social-icons {
  padding-top: 0px;
}
.social-icons li {
  list-style: none;
  float: left;
  margin-right: 0px;
  color: #b1d9ce;
}
a.social-icon {
  background: url(../img/social-icons.png);
  display: block;
  width: 46px;
  height: 46px;
  color: #b1d9ce;
  padding: 0px;
  margin: 0px;
}

/* Specific social colors */
.social .fa-facebook {
  color: #f2d2dd;
}
.social .fa-facebook:hover {
  color: #b1d9ce;
}
.social .fa-twitter {
  color: #f2d2dd;
}
.social .fa-twitter:hover {
  color: #b1d9ce;
}
.social .fa-instagram {
  color: #f2d2dd;
}
.social .fa-instagram:hover {
  color: #b1d9ce;
}
.social .fa-envelope {
  color: #f2d2dd;
}
.social .fa-envelope:hover {
  color: #b1d9ce;
}
.social .fa-tumblr {
  color: #f2d2dd;
}
.social .fa-tumblr:hover {
  color: #b1d9ce;
}

/****************************************************************************
 * 9. UTILITIES & MISC
 ****************************************************************************/

/* Row spacing */
.row {
  margin-bottom: 40px;
}
.sub-row30 {
  margin-bottom: 30px;
}
.sub-row20 {
  margin-bottom: 20px;
}
.no-margin {
  margin-bottom: 0px;
}

/* Accordion or tabs */
a.accordion-toggle {
  background: #b1d9ce;
}
.nav-tabs li.active a {
  background: #83b6b1;
}

/* .lead class */
.lead {
  line-height: 28px;
  margin: 20px 0px 30px 0px;
}

/* #toTop link */
#toTop {
  width: 47px;
  height: 47px;
  background: url() no-repeat;
  text-align: center;
  position: fixed;
  bottom: 25px;
  right: 20px;
  cursor: pointer;
  display: none;
  text-indent: -9999px;
  z-index: 12;
}

/* Carousel-specific (clientCarousel, etc.) */
#clientCarousel.carousel .item {
  background: #f9f9f9;
  padding: 20px 0px;
  -webkit-transition: opacity 1s ease-in-out;
  -moz-transition: opacity 1s ease-in-out;
  -o-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
  left: 0 !important;
}
#clientCarousel.carousel .next.left,
.carousel .prev.right {
  opacity: 1;
  z-index: 1;
}
#clientCarousel.carousel .active.left,
.carousel .active.right {
  opacity: 0;
  z-index: 2;
}

/* Client logos */
.client-link {
  display: block;
  width: 100px;
  height: 100px;
  position: relative;
}
.client-mask {
  display: block;
  width: 100px;
  height: 100px;
  position: absolute;
  background: url(../img/rnd-client-mask.png);
}
.client-logos {
  margin: 20px 0px 0px 0px;
}
.client-logos li {
  list-style: none;
  float: left;
  margin: 0px 7px;
}

/****************************************************************************
 * 10. MEDIA QUERIES
 ****************************************************************************/

/* Phones (max-width: 480px) */
@media (max-width: 480px) {
  .logo,
  .navigation {
    text-align: center;
  }
  .row.header {
    margin-bottom: 0px;
  }
  .logo h5 {
    display: block;
  }
  .navbar .nav > li > a {
    padding: 10px;
  }
  /* Example from original code for .project-details, etc. */
  .project-details {
    width: 250px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .gallery {
    text-align: center;
  }
  .gallery-cats {
    display: none;
  }
  /* iframe example for smaller sizes */
  iframe {
    width: 270px;
  }
  /* .blog-style-2 hidden? Already noted above that it hides on small. */
}

/* Mobile Landscape (min-width: 480px) and (max-width: 767px) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
  /* In original: .the-icons li -> float none, width 100%, etc. */
  .the-icons li {
    float: none;
    width: 100%;
    line-height: 25px;
  }
  iframe {
    width: 230px; /* or adapt as needed */
  }
}

/* Tablet portrait to desktop (min-width: 768px) and (max-width: 979px) */
@media (min-width: 768px) and (max-width: 979px) {
  .headline .lead {
    display: none;
  }
  .post-summary-footer button {
    float: none;
    margin-bottom: 20px;
  }
  .blog article button {
    float: left;
    clear: both;
    margin-bottom: 20px;
  }
  ul.post-data-3 {
    display: none;
  }
  ul.post-data {
    float: none;
    clear: both;
    margin: 0px;
  }
  ul.post-data li:last-child {
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: 120px;
  }
  .sidebar ul.post-category-list li:nth-last-child(-n+4) {
    display: none;
  }
  iframe {
    width: 230px;
  }
  .client-logos li:nth-last-child(-n+2) {
    display: none;
  }
}

/* Small desktop (min-width: 980px) and (max-width: 1199px) */
@media (min-width: 980px) and (max-width: 1199px) {
  .gallery-hover-6col {
    width: 140px;
    height: 114px;
  }
  .gallery-hover-4col {
    width: 220px;
    height: 180px;
  }
  .gallery-hover-3col {
    width: 300px;
    height: 243px;
  }
  .gallery-hover-4col-cir {
    width: 220px;
    height: 220px;
  }
  .gallery-hover-4col-cir .gallery-icons {
    top: 42%;
    left: 35%;
  }
  /* Clip descriptions */
  li.span4 .project-details {
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: 280px;
  }
  li.span3 .project-details {
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: 200px;
  }
  li.span2 .project-details {
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: 120px;
  }
  iframe {
    width: 300px;
  }
  .client-logos li:first-child {
    display: none;
  }
  .social-icons li:last-child {
    display: none;
  }
}
