/* tmshair: site-wide layout and typography fixes on top of the pav_styleshop theme; loaded after all theme styles (common/header.tpl) */

/* Footer: at the bottom of the window on short pages, after the content on long ones */
#page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#page > * {
  flex-shrink: 0;
}
#columns {
  flex-grow: 1;
}
/* flex items keep their children's margins inside: move the menu's bottom margin out of the header box */
#header {
  margin-bottom: 19px;
}
#pav-mainnav {
  margin-bottom: 0;
}

/* One font family: headings used "museo300" (its font files were never shipped, so browsers fell back to Arial),
   text blocks used Verdana (missing on Android, which shows a serif font instead) */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.box .box-heading,
.pav-megamenu .mega-group > .dropdown-toggle,
.product-info .price .price-gruop,
.product-info .price .price-old,
.newsletter_block .btn-primary,
.sidebar .blog-body .created .month,
.main_text_content {
  font-family: "Source Sans Pro", sans-serif;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 600;
}

/* Names are stored in the right case; "capitalize" turned them into "Every Word Capitalized" */
#content h1,
.btn.btn-theme-default.btn-small,
.btn.btn-shopping-cart,
.btn-dropdown,
.btn-group .list-item,
.sidebar .box .box-heading,
.sidebar ul > li a,
.sidebar ol > li a,
.product-related .box-heading,
.refine-search .box-heading,
.product-filter,
.product-info .review a {
  text-transform: none;
}

/* Long texts (home page, contacts, articles, information pages, product descriptions):
   one size, left aligned, no first-line indent, lists indented inside the text column */
.main_text_content,
.page-information #content > .wrapper,
#tab-description {
  font-size: 15px;
  line-height: 1.6;
}
.main_text_content p,
.page-information #content > .wrapper p,
#tab-description p {
  margin: 0 0 12px;
  text-align: left;
  text-indent: 0;
}
.main_text_content ul,
.main_text_content ol,
.page-information #content > .wrapper ul,
.page-information #content > .wrapper ol,
#tab-description ul,
#tab-description ol {
  margin: 0 0 12px;
  padding-left: 22px;
  list-style-position: outside;
  text-align: left;
}
.main_text_content ul,
.page-information #content > .wrapper ul,
#tab-description ul {
  list-style: disc;
}
.main_text_content ol,
.page-information #content > .wrapper ol,
#tab-description ol {
  list-style: decimal;
}
.main_text_content li,
.page-information #content > .wrapper li,
#tab-description li {
  line-height: 1.6;
  margin-bottom: 4px;
}

/* Same inner padding for all white blocks */
.main_text_content {
  padding: 0;
}
#main_text {
  padding: 20px;
}
.wrapper {
  padding: 20px;
}

/* Breadcrumbs start at the content edge (they sat outside the container gutter, at the very edge on phones) */
#breadcrumb {
  padding: 0 9px;
}

/* Footer: no empty strip above the columns, larger and brighter links */
#footer .footer-center {
  padding: 36px 0 16px;
}
#footer .footer-center .container {
  border-top: 0;
  padding-top: 0;
}
#footer .box-heading {
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 0 0 12px;
}
#footer ul.list li {
  line-height: 30px;
}
#footer ul.list li a {
  color: #b4b6b6;
  font-size: 14px;
  background-position: 0 8px;
}
#footer ul.list li a:hover {
  color: #ff6346;
}
#powered {
  padding: 20px 0;
}

@media (max-width: 767px) {
  /* Phones: the search box was absolutely positioned over the logo; put it under the logo instead */
  #search {
    position: static;
    padding: 0 9px 12px;
  }
  #search .input-group,
  #search .input-search {
    min-width: 0;
    width: 100%;
  }
  #footer .footer-center .box .box-heading {
    padding: 20px 0 8px;
  }
}

/* Form fields the store does not use (fax, company): the inputs stay in the forms because the controllers read them */
.tms-hidden {
  display: none !important;
}

/* Header: delivery and phone blocks of different height are aligned by their top edge (they were aligned by the last line) */
.support .box-services {
  vertical-align: top;
}

/* Footer: inner side padding (the text sat 9px from the edge of the dark block), columns spread with equal space
   between them and at the edges, copyright in the middle */
#footer .footer-center .container,
#powered .container {
  padding-left: 24px;
  padding-right: 24px;
}
#powered .copyright.pull-left {
  float: none !important;
  text-align: center;
}
@media (min-width: 768px) {
  #footer .footer-center .row {
    display: flex;
    justify-content: space-evenly;
  }
  #footer .footer-center .row:before,
  #footer .footer-center .row:after {
    content: none;
  }
  #footer .footer-center .row > .column {
    flex: 0 1 auto;
    float: none;
    width: auto;
  }
  /* the theme gives tablets 20px above and below the heading; keep the desktop spacing */
  #footer .footer-center .box .box-heading {
    padding: 0 0 12px;
  }
}

/* Long texts: no doubled space above a text that starts with a heading; links stand out from the text */
.main_text_content > :first-child,
.page-information #content > .wrapper > :first-child,
#tab-description > :first-child {
  margin-top: 0;
}
.main_text_content a,
.page-information #content > .wrapper a,
#tab-description a {
  color: #ff6346;
}
.main_text_content a:hover,
.page-information #content > .wrapper a:hover,
#tab-description a:hover {
  text-decoration: underline;
}
