/** webkit fixes ******************************************************************************** */

html { 
  /* :hover + adjacent-sibling bugfix */
  -webkit-animation: bugfix infinite 1s; 

  /* Consistent font rendering portrait vs landscape - flickers when resized on desktop
  -webkit-transform: translate3d(0,0,0); */

  /* Prevent font scaling in landscape */
  -webkit-text-size-adjust: 100%;
}

@-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } }

/** font family ********************************************************************************* */

body {
  font-family: Georgia, serif;
}

/** font size *********************************************************************************** */

body {
  font-size: 100%; /* 16px */
  line-height: 1.7em;
}

.site-name-slogan h6,
#page-title,
h1.page-title {
  font-size: 1.375em /* 22px */
}

.field-description.page-title,
.field-credits.page-title,
.node h2,
.view-news .views-row h2,
.view-products .views-row h2 {
  font-size: 1.1875em; /* 19px */
}

.block-main-menu {
  font-size: 1.125em /* 18px */
}

.node h3 {
  font-size: 1.0625em; /* 17px */
}

.view-exhibitions h2 {
  font-size: 1em; /* 16px */
}

.page-exhibitions .view-listing .view-header,
.node-artwork.node-teaser .caption,
.field-artworks-more,
.view-news .views-field-created,
.group-commerce form select,
.group-commerce .field-product-notes,
.group-commerce form .form-submit,
.group-commerce .field-name-field-store-terms,
.group-commerce .field-name-field-product-price-suffix,
.view-commerce-cart-form table,
.view-commerce-cart-summary table,
#edit-account label,
#edit-customer-profile-billing label,
#commerce-checkout-form-checkout .checkout-continue,
#commerce-checkout-form-checkout .checkout-buttons .button-operator {
  font-size: 0.875em; /* 14px */
}

small,
.page-artists .views-field-field-boolean {
  font-size: 0.8125em; /* 12px */
}

/** color *************************************************************************************** */

.node-artwork.node-teaser > a {
  color: transparent;
}

/*.section a:hover*/ {
  color: white;
}

.block-main-menu a,
#section-content a:visited,
#section-footer a:visited,
.node-artwork.node-teaser .group-caption,
.field-artworks-more,
#edit-customer-profile-billing .field-name-field-boolean .description {
  color: #888;
}

.view-listing,
h6.site-slogan,
.node .group-commerce h3:first-child {
  color: #666;
}

a,
body {
  color: #444;
}

.block-main-menu a.active,
.block-main-menu a.active-trail,
.block-main-menu a:hover,
#page-title,
h1.page-title,
.node.view-mode-full h2,
.node.view-mode-full h3,
.view-listing a:hover + .views-field-field-artworks + .group-caption,
.node-artwork.node-teaser > a:hover + .field-name-field-images + .group-caption,
#section-content a,
#section-footer a {
  color: black;
}

/** background color **************************************************************************** */

.logo-img a:hover {
  background-color: transparent;
}

#page,
.view-commerce-cart-form table thead tr,
.view-commerce-cart-summary table thead tr,
.view-commerce-cart-summary .view-footer tr {
  background-color: #fdfdfd;
}

.view-commerce-cart-form table tr,
.view-commerce-cart-summary table tr,
#edit-account,
#edit-customer-profile-billing {
  background-color: #f3f3f3;
}

html {
  background-color: #e6e6e6;
}

/* .section a:hover */ {
  background-color: #aaa;
}

/** border color ******************************************************************************** */

.view-listing span.image:after,
.node-artwork.node-teaser .field-name-field-images .field-item:after,
.view-teasers .views-field-field-image a:after {
  border-color: transparent;
}

#page {
  border-color: white;
}

.view-commerce-cart-form table tbody tr,
.view-commerce-cart-summary table tbody tr,
#edit-account,
#edit-customer-profile-billing {
  border-color: #ccc;
}

.block-main-menu,
.view-listing .views-row > a:hover + .views-field-field-artworks .image:after,
.node-artwork.node-teaser > a:hover + .field-name-field-images .field-item:after,
.view-teasers .views-field-field-image a:hover:after,
.group-commerce,
.block-footer-info {
  border-color: #333;
}

/** page zones regions ************************************************************************** */

#page {
  width: 100%;
  margin: 1em 0;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-style: solid;
}

/** forms *************************************************************************************** */

#user-login {
  display: inline-block;
  max-width: 30em;
  text-align: left;
}

/** text **************************************************************************************** */

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

#page-title,
h1.page-title {
  text-align: center;
}

.node h2,
.node h3 {
  margin-top: 2.5em;
}

.node h2:first-child,
.node h3:first-child {
  margin-top: 1em;
}

p, ul, ol, li {
  margin: 1.2em 0;
}

ul {
  list-style-type: disc;
}

ol {
  list-style-type: decimal;
}

li {
  margin-left: 2.2em;
}

img.file-icon {
  vertical-align: middle;  
}

/*
.section a {
  display: inline-block;
  margin: 0 -0.6em;
  padding: 0 0.6em;
  font-weight: bold;
}

.section a:hover {
  position: relative;
  z-index: 1;
  border-radius: 0.9em;
  text-shadow: 0 0 0.5em #999;
  text-decoration: none;
}
*/

/** branding ************************************************************************************ */

.logo-img {
  padding: 20px 0;
}

.logo-img a {
  margin: 0;
  padding: 0;
  display: block;
}

.front .logo-img a.active {
  cursor: default;
}

#logo {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: none;
  outline: none;
}

/** menu ************************************************************************************* */

.block-main-menu {
  margin: 0;
  padding: 0;
  border-top-width: 1px;
  border-top-style: dotted;
  border-bottom-width: 1px;
  border-bottom-style: dotted;
  text-transform: lowercase;
  line-height: 1em;
}

.block-main-menu ul.menu {
  margin: 0;
  padding: 0;
  list-style-type: none;
  text-align: center;
}

.block-main-menu ul.menu li {
  display: inline-block;
  margin: 0;
  padding: 0;
}

* + html .block-main-menu ul.menu li.leaf, 
* + html .block-main-menu a { display: inline; zoom: 1; } /* IE7 */

.block-main-menu a {
  display: block;
  padding: 0.4em 0.3em 0.5em 0.3em;
}

.block-main-menu a,
.block-main-menu a.active:hover {
  text-decoration: none;
}

.block-main-menu a:hover {
  text-decoration: underline;
}

.block-main-menu a.active {
  cursor: default;
}

/** messages ************************************************************************************ */

div.messages {
  margin: 2em 0 1em 0;
  background-position: 8px 0.8em;
}

/** tabs **************************************************************************************** */

div.tabs {
  margin-top: 2em;
}

div.tabs ul {
  margin: 0;
  padding-left: 0.5em;
}

div.tabs li {
  margin: 0;
}

div.tabs li a {
  border-top-left-radius: 0.3em;
  border-top-right-radius: 0.3em;
}

/** content ************************************************************************************* */

#page-title {
  margin: 1.3em 0 0 0;
}

.block-system-main {
  padding: 1.5em 0 2em 0;
  text-align: center;
}

.tabs,
.block-messages,
.block-system-main {
  max-width: 28em;
  margin: 0 auto;
  text-align: left;
}

.page-artists .block-system-main,
.page-exhibitions .block-system-main {
  max-width: 100%;
}

.page-node h1.page-title {
  margin-bottom: 0;
}

.page-node .page-title {
  text-align: center;
}

/** listings ************************************************************************************ */

.page-exhibitions .view-listing .view-header {
  padding-bottom: 2.5em;
  line-height: 1.25em;
}

.view-listing {
  width: 100%;
  margin-bottom: -1.4em;
  text-align: center;
}

.view-listing .view-header {
  margin-top: -1.7em;
}

.view-listing h2 {
  font-weight: bold;
}

.view-listing .view-content {
  margin: 0 -0.7em;
}

.view-listing .views-row {
  position: relative;
  display: inline-block;
  width: 8.5em;
  margin: 0 0.7em 1.4em 0.7em;
  line-height: 1.3em;
  vertical-align: top;
}

* + html .view-listing .views-row { display: inline; zoom: 1; } /* IE7 */

.view-listing .views-row > a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99;
  text-decoration: none;
}

.view-listing h2 {
  font-style: italic;
}

.view-listing.our-artists h2 {
  font-style: normal;
}

.view-listing .views-field-field-artworks {
  position: relative;
  max-width: 180px; /* square_thumbnail */
  margin: 0 auto;
}

.view-listing span.image {
  position: relative;
  display: block;
  margin-bottom: 0.4em;
}

.view-listing span.image:after {
  content: ' ';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-width: 5px;
  border-style: solid;
}

.view-listing img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.view-listing .group-caption {
  display: block;
}

.view-listing .views-row > a:hover + .views-field-field-artworks + .group-caption h2 {
  text-decoration: underline;
}

/** exhibitions & artists *********************************************************************** */

.node-type-exhibition  h1.page-title {
  font-style: italic;
}

.node-type-exhibition .field-description.page-title,
.node-type-exhibition .field-dates.page-title,
.view-artworks .field-description.page-title,
.view-artworks .field-dates.page-title {
  line-height: 1.5em;
}

.node-type-exhibition .field-name-field-artworks,
.node-type-artist .field-name-field-artworks {
  float: right;
  max-width: 38%;
  margin: 1.7em 0 0 1.3em;
}

.node-type-exhibition .field-name-field-artworks .node-artwork,
.node-type-artist .field-name-field-artworks .node-artwork {
  margin-bottom: 1em;
  line-height: 1em;
}

.field-artworks-more {
  float: right;
  clear: right;
  width: 38%;
  margin-bottom: 1em;
  text-align: center;
}

.field-artworks-more:after {
  content: ' »';
}

.node-type-exhibition  .field-name-field-file {
  margin-top: 1.5em;
}

/** artists ************************************************************************************* */


/** artworks ************************************************************************************ */

.view-artworks.view-display-id-exhibitions .views-field-title {
  font-style: italic;
}

.view-artworks.view-display-id-exhibitions .views-field-field-description,
.view-artworks.view-display-id-exhibitions .views-field-field-text,
.view-artworks.view-display-id-exhibitions .views-field-field-date-range {
  text-align: center;
}

.view-artworks .views-field-field-artworks,
.view-artworks .pager {
  margin-top: 1em;
}

.block-system-main .node-artwork.view-mode-full {
  display: table;
  max-width: 100%;
  margin: 0 auto;
}

.node-artwork.view-mode-full .field-name-field-images {
  display: table-row;
}

.node-artwork.view-mode-full .group-caption {
  display: table-cell;
  max-width: 1px;
  line-height: 1.4em;
}

* + html .node-artwork.view-mode-full .group-caption { max-width: 60%; margin: 0 auto; text-align: center; } /* IE7 */

.node-artwork.node-teaser {
  position: relative;
  width: 100%;
}

.node-artwork.node-teaser.artwork-square {
  width: 88%;
}

.node-artwork.node-teaser.artwork-portrait {
  width: 76%;
}

.node-artwork.node-teaser > a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99;
  font-size: 0;
  text-decoration: none;
}

.node-artwork .field-name-field-images .field-item {
  display: block;
  position: relative;
  margin-bottom: 0.3em;
}

.node-artwork.node-teaser .field-name-field-images .field-item:after {
  content: ' ';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-width: 8px;
  border-style: solid;
}

.node-artwork .field-name-field-images img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  margin: 0;
}

/* This will break webkit but FF needs it to scale? */
@-moz-document url-prefix() {
  .node-artwork .field-name-field-images img {
    width: 100%;
  }
}

.node-artwork .field-title {
  font-style: italic;
}

/** news & store ********************************************************************************** */

.view-teasers .view-content {
  margin: 1em 0 2em 0;
  text-align: left;
}

.view-teasers .view-empty {
  text-align: center;
  margin: 1em 0 2em 0;
}

.view-teasers .views-row {
  clear: both;
  display: block;
  position: relative;
  padding: 1.5em 0;
  border-top-width: 1px;
  border-top-style: dotted;
}

.view-teasers .views-row:after {
  content: '';
  display: none;
  clear: both;
}

.view-teasers .views-row-first {
  border-top-style: none;
}

.view-teasers .views-field-field-image {
  float: right;
  clear: right;
  position: relative;
  width: 22%;
  max-width: 180px;
  margin: 0 0 2em 1em;
}

.view-teasers .views-field-field-image a:after {
  content: ' ';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-width: 6px;
  border-style: solid;
}

.view-teasers .views-field-field-image img {
  width: 100%;
  height: auto;
}

.view-teasers .views-field-body {
  margin: 1em 0 0.7em 0;
}

/** news items ********************************************************************************** */

.node-news-item.view-mode-full {
  padding-bottom: 1em;
}

.node-news-item.view-mode-full img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

/** products ************************************************************************************ */

.group-commerce {
  margin: 2em 0 0 0;
  padding: 1.3em 1em 1em 1em;
  border-style: dotted;
  border-width: 1px;
  line-height: 1.4em;
}

.node .group-commerce h3:first-child {
  margin: 0;
}

.group-commerce .field-name-field-image {
  float: right;
  max-width: 40%;
  margin: -1.7em 0 1em 5%;
}

.group-commerce .field-name-field-image img {
  width: 100%;
  height: auto;
}

.group-commerce form {
  max-width: 55%;
  margin: 0 0 1em 0;
}

.group-commerce form .form-type-select {
  margin-top: 0;
}

.group-commerce form select {
  max-width: 100%;
}

.group-commerce form .form-item-quantity,
.group-commerce form .form-submit {
  float: right;
  margin: 0 0 1em 0.3em;
}

.group-commerce form .form-item-quantity label {
  display: none;
}

.group-commerce form .form-item-quantity input {
  max-width: 2em;
  margin-top: -0.5em;
}

.group-commerce .field-commerce-price {
  font-weight: bold;
  line-height: 1.2em;
  white-space: nowrap;
}

.group-commerce .field-field-product-description {
  margin: 1em 0;
  line-height: 1.4em;
}

.group-commerce .field-product-notes,
.group-commerce .field-product-notes *,
.group-commerce .field-name-field-store-terms,
.group-commerce .field-name-field-store-terms * {
  display: inline;
}

.group-commerce .field-product-notes {
  margin-right: 0.3em;
  font-style: italic;
}

/** commerce ************************************************************************************ */

.view-commerce-cart-form table,
.view-commerce-cart-summary table {
  width: 100%;
  line-height: 1.4em;
}

.view-commerce-cart-form table th,
.view-commerce-cart-summary table th,
.view-commerce-cart-form table td,
.view-commerce-cart-summary table td {
  padding: 0.7em 0.4em;
}

.view-commerce-cart-form table th:first-child,
.view-commerce-cart-summary table th:first-child,
.view-commerce-cart-form table td:first-child,
.view-commerce-cart-summary table td:first-child {
  padding-left: 0.7em;
}

.view-commerce-cart-form table th.views-field-edit-delete {
  visibility: hidden;
}

.view-commerce-cart-form table tbody tr,
.view-commerce-cart-summary table tbody tr {
  border-width: 1px;
  border-style: solid;
  border-top-width: 0;
}

.view-commerce-cart-form table tbody tr.views-row-first,
.view-commerce-cart-summary table tbody tr.views-row-first {
  border-top-width: 1px;
}

.view-commerce-cart-form .line-item-summary {
  margin-top: 0.5em;
}

.view-commerce-cart-form .form-actions input {
  margin-left: 1em;
}

.cart-empty-page {
  text-align: center;
}

#commerce-checkout-form-checkout #edit-cart-contents {
  margin-bottom: 2em;
}

#commerce-checkout-form-checkout legend {
  display: none;
}

.view-commerce-cart-summary table tbody td.views-field-quantity {
  text-align: center;
}

.view-commerce-cart-summary .view-footer tr {
  border-width: 0;
}

.commerce-order-handler-area-order-total .commerce-price-formatted-components {
  width: 100%;
}

.view-commerce-cart-summary .view-footer .component-title {
  width: 100%;
  text-align: right;
}

.view-commerce-cart-summary .view-footer .component-total {
  white-space: nowrap;
}

#edit-account,
#edit-customer-profile-billing {
  padding: 1.5em 1em;
  border-width: 1px;
  border-style: solid;
}

#edit-account .messages,
#edit-customer-profile-billing .messages {
  margin-top: 0;
}

#edit-account .messages li,
#edit-customer-profile-billing .messages li {
  margin: 0;
}

#edit-account label,
#edit-customer-profile-billing label {
  line-height: 1em;
}

#edit-account input[type=text],
#edit-customer-profile-billing input[type=text] {
  width: 100%;
}

#edit-account .form-wrapper,
#edit-account .form-wrapper div,
#edit-customer-profile-billing .form-wrapper,
#edit-customer-profile-billing .form-wrapper div {
  margin: 0;
  padding: 0;
}

#edit-account {
  padding-bottom: 0;
  border-bottom-width: 0;
}

#edit-account + #edit-customer-profile-billing {
  padding-top: 0;
  border-top-width: 0;
}

.messages.error + fieldset + #edit-account + #edit-customer-profile-billing {
  padding-top: 1.5em;
  margin-bottom: 0;
}

#edit-customer-profile-billing {
  padding-top: 0.5em;
}

#edit-customer-profile-billing .form-wrapper .form-item {
  float: none;
  padding-top: 0.8em;
}

#edit-customer-profile-billing .form-item select {
  width: 100%;
}

#edit-customer-profile-billing .form-item-customer-profile-billing-commerce-customer-address-und-0-country {
  max-width: 17.3em;
}

#edit-customer-profile-billing .form-item-customer-profile-billing-commerce-customer-address-und-0-locality {
  width: 100%;
}

#edit-customer-profile-billing .form-item-customer-profile-billing-commerce-customer-address-und-0-administrative-area,
#edit-customer-profile-billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code {
  display: inline-block;
}

#edit-customer-profile-billing .field-name-field-boolean .description {
  font-style: italic;
  line-height: 1.34em;
}

#commerce-checkout-form-checkout .checkout-continue  {
  margin-right: 1em;
}

#commerce-checkout-form-checkout .checkout-buttons  {
  margin: 1.5em 0;
}

#edit-commerce-payment-payment-method {
  display: none;
}

#payment-details img {
  float: none !important;
  width: 16em;
  max-width: 100%;
  height: auto;
  margin: 3em 0 -0.5em 0 !important;
}

/** footer ************************************************************************************** */

h6.site-slogan {
  padding: 0.25em 0;
  border-top-width: 1px;
  border-top-style: dotted;
  text-align: center;
}

.block-footer-info {
  padding: 1em 0 1.2em 0;
  border-top-width: 1px;
  border-top-style: dotted;
  text-align: center;
  line-height: 1.4em;
}

.block-footer-info span {
  display: inline-block;
}

.block-footer-info br {
  display: none;
}