/*  = = = = = = Some Resets First = = = = = = = =  */
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

a:hover, a:focus, a:active {
  outline: 0; }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

img {
  /* Responsive images (ensure images don't scale beyond their parents) */
  max-width: 100%;
  /* Part 1: Set a maxium relative to the parent */
  width: auto\9;
  /* IE7-8 need help adjusting responsive images */
  height: auto;
  /* Part 2: Scale the height according to the width, otherwise you get stretching */
  vertical-align: middle;
  border: 0;
  -ms-interpolation-mode: bicubic; }

.clearboth {
  display: block;
  clear: both; }

.hidden {
  display: none; }

.floatleft {
  float: left; }

.floatright {
  float: right; }

@-ms-viewport {
  width: device-width; }

.visible-phone {
  display: none !important; }

/*----- @FontFace Import ---------------------------*/
@font-face {
  font-family: 'texgyreadventor';
  src: url('../fonts/texgyreadventor-regular-webfont.eot');
  src: url('../fonts/texgyreadventor-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/texgyreadventor-regular-webfont.woff') format('woff'), url('../fonts/texgyreadventor-regular-webfont.ttf') format('truetype'), url('../fonts/texgyreadventor-regular-webfont.svg#texgyreadventorregular') format('svg');
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'texgyreadventor';
  src: url('../fonts/texgyreadventor-bold-webfont.eot');
  src: url('../fonts/texgyreadventor-bold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/texgyreadventor-bold-webfont.woff') format('woff'), url('../fonts/texgyreadventor-bold-webfont.ttf') format('truetype'), url('../fonts/texgyreadventor-bold-webfont.svg#texgyreadventorbold') format('svg');
  font-weight: bold;
  font-style: normal; }

/*----- General Styles Sitewide -------------------------------*/
html {
  height: 100%; }

body {
  margin: 0px;
  padding: 0px;
  height: 100%;
  background-color: white;
  font-family: texgyreadventor, Arial, Helvetica, sans-serif;
  color: #415968;
  font-size: 15px;
  line-height: 22px; }

p {
  margin: 0;
  padding: 0px 0px 22px 0px; }

br {
  padding: 0;
  margin: 0; }

a {
  color: #008a5e;
  text-decoration: none; }

a:hover {
  color: #008a5e;
  text-decoration: underline; }

h1, h2, h3, h4, h5, h6 {
  font-family: texgyreadventor, Arial, Helvetica, sans-serif;
  font-weight: bold;
  color: #415968;
  margin: 0px;
  display: block; }

h1 {
  font-size: 37px;
  line-height: 39px;
  padding: 0px 0px 20px 0px; }

h2 {
  font-size: 37px;
  line-height: 39px;
  padding: 0px 0px 20px 0px; }

h3 {
  font-size: 22px;
  line-height: 28px;
  padding: 0px 0px 18px 0px; }

h4 {
  font-size: 19px;
  line-height: 24px;
  padding: 0px 0px 18px 0px; }

hr {
  display: block;
  height: 1px;
  border: none;
  border-top: 1px solid #abbeca;
  color: white;
  background: none;
  margin: 0px 0px 20px 0px;
  padding: 0; }

.blue {
  color: #415968; }

.green {
  color: #008a5e; }

/* = LAYOUT  
------------------------------------------------------------------*/
.topbar {
  display: block;
  width: 100%;
  min-width: 1024px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 16px 40px 0px 0px;
  height: 48px;
  background-color: #415968;
  font-size: 13px;
  line-height: 15px;
  color: white;
  font-family: texgyreadventor, Arial, Helvetica, sans-serif; }

.topbarinner {
  width: 1024px;
  text-align: right;
  margin: 0 auto; }

.topbar a {
  color: white;
  display: inline-block;
  vertical-align: top;
  margin-left: 17px; }

.topbar a:hover {
  color: #abbeca;
  text-decoration: none; }
  
.topbarnav {
  float: left;
  font-size: 13px;
  line-height: 17px;
  letter-spacing: 0.05em;
  vertical-align: top;
  color: #abbeca;
  font-family: texgyreadventor, Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  padding-left: 25px; }

.topbarnav a {
  color: #abbeca;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
  vertical-align: top;
  padding: 0px 2px 0px 2px;
  margin: 0; }

.topbarnav a:hover, .topbarnav a.active {
  color: white;
  text-decoration: none; }

.topbar .twitter, .topbar .facebook, .topbar .instagram {
  display: inline-block;
  vertical-align: top;
  height: 20px;
  width: 16px;
  margin-left: 2px;
  background-image: url(/static/images/socialicons1_v2.png);
  background-position: -25px top;
  background-repeat: no-repeat;
  background: url(/static/images/socialicons_v2.png) no-repeat -25px top/64px; }

.topbar .facebook:hover {
  background-position: -25px -23px; }

.topbar .twitter {
  height: 20px;
  width: 20px;
  margin-left: 20px;
  background-position: left top; }

.topbar .twitter:hover {
  background-position: left -23px; }
  
 .topbar .instagram {
  height: 20px;
  width: 20px;
  margin-left: 0px;
  background-position: right top; }

.topbar .instagram:hover {
  background-position: right -23px; }
 
.topbar a.signin {
  cursor: pointer; }

.signinholder {
  width: 1024px;
  position: relative;
  margin: 0 auto; }

.signinbox {
  display: none;
  /*width: 100%;*/
  height: 200px;
  box-sizing: border-box;
  position: fixed;
  padding: 28px 50px 28px 50px;
  background-color: #e4eaed;
  z-index: 150; }

.closesignin {
  position: absolute;
  top: 26px;
  right: 25px;
  width: 20px;
  height: 22px;
  background-image: url(/static/images/closex1.png);
  background-repeat: no-repeat;
  background: url(/static/images/closex.png) no-repeat left top/20px;
  cursor: pointer; }

.signinbox .arrow-up {
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #e4eaed;
  position: fixed;
  right: 96px;
  top: -10px; }

.signinbox h2 {
  color: #333333;
  font-size: 29px;
  line-height: 33px;
  padding-bottom: 16px; }

.signinbox form {
  margin: 0px;
  padding: 0px; }

.signinbox input {
  width: 315px;
  height: 38px;
  box-sizing: border-box;
  padding: 0px 10px 2px 18px;
  margin: 0px 10px 0px 0px;
  font-family: texgyreadventor, Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 18px;
  color: #415968;
  text-align: left;
  background: white;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0px;
  display: inline-block;
  vertical-align: top;
  overflow: hidden; }

.signinbutton {
  height: 38px;
  width: 250px;
  overflow: hidden;
  display: inline-block;
  vertical-align: top;
  font-size: 14px;
  line-height: 18px;
  font-weight: bold;
  padding: 10px 0px 0px 0px;
  text-align: center;
  background-color: #415968;
  box-sizing: border-box;
  color: white; }

.signinbutton:hover {
  cursor: pointer;
  background-color: #2d3e49; }

.signintext {
  display: block;
  margin-top: 19px;
  font-size: 13px;
  line-height: 18px;
  font-family: Arial, Helvetica, sans-serif; }

.container {
  width: 1024px;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
  position: relative; }

header {
  display: block;
  text-align: center;
  margin: 30px; }

header a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 60px auto 53px auto; }

.sliderdiv {
  position: relative;
  text-align: center; }

.headerdiv {
  display: block;
  margin: 40px 85px 32px 85px;
  text-align: center; }

.headerdiv h2 {
  display: block;
  margin: 0px auto 20px auto;
  width: 475px;
  overflow: visible;
  border-bottom: 1px solid #abbeca; }

.thumbsliderdiv {
  position: relative;
  text-align: center;
  height: 242px;
  border-bottom: 1px solid #abbeca; }

/* For Slideshow see separate Flexslider CSS  */
.homethumb {
  display: inline-block;
  vertical-align: top;
  width: 240px;
  box-sizing: border-box;
  margin: 0px 5px 0px 5px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  line-height: 15px; }

.homethumb .cropbox {
  width: 240px;
  height: 150px;
  overflow: hidden;
  margin: 0px 0px 8px 0px; }

.homethumb .cropbox img {
  width: 100%; }

.homethumb p {
  margin: 0px;
  padding: 0px 8px 0px 8px; }

.homethumb a {
  text-decoration: none;
  color: #415968; }

.homethumb a:hover {
  text-decoration: none;
  color: #008a5e; }

.halfpic {
  display: inline-block;
  vertical-align: top;
  margin: 0px;
  position: relative; }

/*  - - - - - - - - - - - - - - - BASE AREA - - - - - - - - - - - - - - -   */
.baseblockone, .baseblocktwo, .baseblockthree {
  display: inline-block;
  vertical-align: top;
  width: 282px;
  margin: 30px 75px 95px 0px; }

.baseblockone h3, .baseblocktwo h3, .baseblockthree h3 {
  border-bottom: 1px solid #abbeca; }

.baseblockone p, .baseblocktwo p, .baseblockthree p {
  display: block;
  font-size: 14px;
  margin: 0;
  padding: 3px 0px;
  border-bottom: 1px solid #abbeca; }

.baseblockone {
  width: 290px;
  margin-left: 5px; }

.baseblockthree {
  margin-right: 0px;
  width: 280px; }

/*  - - - - - - - - - - - - - - -  Footer - - - - - - - - - - - - - - -   */
footer {
  display: block;
  position: fixed;
  z-index: 10;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 19px 0px 0px 0px;
  height: 58px;
  background-color: #415968;
  text-align: center;
  font-size: 13px;
  line-height: 17px;
  letter-spacing: 0.05em;
  vertical-align: top;
  color: #abbeca;
  font-family: texgyreadventor, Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased; }

footer a {
  color: #abbeca;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
  vertical-align: top;
  padding: 0px 2px 0px 2px; }

footer a:hover, footer a.active {
  color: white;
  text-decoration: none; }

.arrowholder {
  width: 1024px;
  position: relative;
  margin: 0 auto; }

footer .arrow-up {
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid #415968;
  position: absolute;
  right: 12px;
  top: -28px; }

/*  Mobile Style adjustments  */
a.phonemenu {
  display: none; }

.mobilenav {
  display: none; }

@media (max-width: 640px) {
  .visible-phone {
    display: block !important; }
  .hidden-phone {
    display: none !important; }
  h1 {
    font-size: 29px;
    line-height: 37px;
    padding: 0px 0px 15px 0px; }
  h2 {
    font-size: 29px;
    line-height: 37px;
    padding: 0px 0px 15px 0px; }
  .container {
    width: 100%;
    padding: 48px 0px 0px 0px;
    margin: 0; }
  .topbar {
    min-width: inherit;
    padding-right: 20px;
    position: fixed;
    top: 0;
    z-index: 30; }
  a.phonemenu {
    display: inline-block;
    float: left;
    padding: 0px 20px 6px 27px;
    background-image: url("/static/images/phonemenusymbol.png");
    background-position: 0px 1px;
    background-repeat: no-repeat; }
  .topbar .facebook {
    margin-left: 10px; }
  .topbarinner {
    min-width: inherit;
    width: 100%; }
  .signinholder {
    min-width: inherit;
    width: 100%; }
  .signinbox {
    right: 0px;
    top: 48px;
    padding: 18px 10px 22px 10px;
    height: inherit; }
  .closesignin {
    top: 18px;
    right: 16px; }
  .signinbox .arrow-up {
    right: 104px;
    border-bottom: 10px solid #e4eaed; }
  .signinbox input {
    width: 280px;
    margin: 0px 10px 14px 0px; }
  .signinbutton {
    width: 280px; }
  .mobilenav {
    display: none;
    width: 100%;
    min-height: 100px;
    box-sizing: border-box;
    position: absolute;
    right: 0px;
    top: 48px;
    padding: 18px 0px 12px 30px;
    background-color: #e4eaed;
    z-index: 50; }
  .closenav {
    position: absolute;
    top: 18px;
    right: 16px;
    width: 20px;
    height: 22px;
    background-image: url(/static/images/closex.png);
    background-size: 20px;
    background-repeat: no-repeat;
    cursor: pointer; }
  .mobilenav .arrow-up {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #e4eaed;
    position: absolute;
    left: 50px;
    top: -10px; }
  .mobilenav a {
    display: block;
    width: 80%;
    color: #415968;
    padding: 0px 0px 8px 0px; }
  header {
    margin: 0; }
  header a {
    display: block;
    height: 100px;
    box-sizing: border-box;
    margin: 0px auto 0px auto;
    background-image: url(/static/images/logo.png);
    background-size: 300px;
    background-repeat: no-repeat;
    background-position: center center; }
  .baseblockone, .baseblocktwo, .baseblockthree {
    width: 100%;
    margin: 0px 0px 20px 0px;
    box-sizing: border-box;
    padding: 0px 19px 0px 16px; }
  .baseblockone h3, .baseblocktwo h3, .baseblockthree h3 {
    padding-bottom: 10px; }
  .baseblockthree {
    margin-bottom: 30px; }
  footer {
    display: none; } }

/*  End of mobile media queries  */
/*  - - - - - - - - - - - - - - -  For Homepage only - - - - - - - - - - - - - - -   */
/* For Slideshow see separate Flexslider CSS  */
.homesearch {
  position: absolute;
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  top: 305px;
  z-index: 8; }

.homesearch form {
  margin: 0px;
  padding: 0px; }

.homesearch .searchfield {
  width: 384px;
  height: 50px;
  box-sizing: border-box;
  padding: 0px 10px 2px 18px;
  margin: 0px;
  font-family: texgyreadventor, Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 20px;
  color: #415968;
  text-align: left;
  background: white;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0px;
  display: inline-block;
  vertical-align: top;
  overflow: hidden; }

.homesearchdivider {
  height: 50px;
  width: 2px;
  padding: 5px 0px 0px 0px;
  box-sizing: border-box;
  display: inline-block;
  background: white;
  vertical-align: top; }

.homesearchdivider .innerline {
  height: 40px;
  border-left: 1px solid #415968; }

.homesearchdropdown {
  width: 172px;
  height: 50px;
  box-sizing: border-box;
  padding: 14px 45px 0px 16px;
  text-align: left;
  margin: 0px;
  font-family: texgyreadventor, Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 20px;
  color: #415968;
  background: white;
  background-image: url(/static/images/searcharrow.png);
  background-repeat: no-repeat;
  background-position: 133px 22px;
  background-size: 16px;
  display: inline-block;
  vertical-align: top;
  position: relative;
  cursor: pointer; }

.homesearchdropdown:hover {
  text-decoration: none;
  color: #415968;
  text-decoration: none;
  background-position: 133px -13px; }

.dropdowninner {
  margin: 0;
  padding: 15px 5px 12px 15px;
  display: none;
  width: 100%;
  box-sizing: border-box;
  position: absolute;
  top: 50px;
  left: 0;
  background-color: #415968;
  color: #cad6de;
  font-size: 14px;
  line-height: 19px; }

.dropdowninner li {
  margin: 0px 0px 4px 0px;
  padding: 0px; }

.dropdowninner li:hover {
  color: white;
  cursor: pointer; }

.searchbutton {
  height: 50px;
  overflow: hidden;
  display: inline-block;
  vertical-align: top;
  font-size: 19px;
  line-height: 20px;
  font-weight: bold;
  padding: 14px 20px 0px 20px;
  background-color: #415968;
  box-sizing: border-box;
  color: white; }

.searchbutton:hover {
  cursor: pointer;
  background-color: #2d3e49; }

.socialblock {
  height: 390px;
  padding: 50px 40px 55px 40px; }

.twitterblock, .facebookblock {
  display: inline-block;
  vertical-align: top;
  width: 420px; }

.facebookblock {
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  margin-right: 90px; }

.featureblock {
  display: block;
  margin: 0px;
  position: relative;
  display: table;
  height: 100%;
  width: 100%; }

.featureblock img {
  width: 100%; }

.featurepanel a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0px;
  overflow: hidden;
  position: absolute;
  top: 0;
  background: none;
  z-index: 9;
  text-align: center;
  color: white;
  letter-spacing: 2px;
  text-decoration: none;
  font-size: 0;
  line-height: 50px;
}

.featurepanel a:hover {
  font-size: 50px;
  color: white;
  font-weight: bold;
  background: rgba(65, 89, 104, 0.7); }

.featuretitle {
  width: 100%;
  position: absolute;
  top: 50%;
  margin-top: -28px; }

.halfpicblock {
  display: inline-block;
  vertical-align: top;
  width: 50%;
  height: 400px;
  overflow: hidden;
  position: relative; }

.halfpicblock .flex-direction-nav a {
  margin: -15px 0 0 0 !important; }

.halfpicblock .flex-direction-nav .flex-next {
  opacity: 0.6 !important;
  right: -28px !important; }

.halfpicblock .flex-direction-nav .flex-prev {
  opacity: 0.6 !important;
  left: -28px !important; }

.halfpicblock:hover .flex-next {
  right: 7px !important; }

.halfpicblock:hover .flex-prev {
  left: 7px !important; }

.halfpicblock .flex-direction-nav .flex-disabled {
  opacity: 0.2 !important; }

.halftextblock {
  display: inline-block;
  vertical-align: top;
  width: 400px;
  text-align: center;
  margin: 0px 52px 0px 52px;
  height: 400px;
  position: relative; }

.halftextblock h2 {
  margin: 33px 0px 16px 0px;
  border-bottom: 1px solid #abbeca; }

.halftextblock p {
  display: block;
  margin: 0px;
  padding: 0px; }

.halftextlinks {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 25px;
  border-top: 1px solid #abbeca; }

.halftextblock a {
  display: block;
  margin: 0px;
  border-bottom: 1px solid #abbeca;
  color: #415968;
  text-decoration: none; }

.halftextblock a:hover {
  color: #008a5e;
  text-decoration: none; }

/*  Mobile Style adjustments  */
@media (max-width: 640px) {
  .sliderdiv {
    margin-bottom: 20px; }
  .homesearch {
    top: 80px; }
  .homesearch input {
    display: none; }
  .homesearchdivider {
    display: none; }
  .homesearchdropdown {
    width: 172px; }
  .headerdiv {
    margin: 0;
    padding: 0px 19px 0px 16px; }
  .headerdiv h2 {
    width: 100%;
    margin-bottom: 10px; }
  .thumbsliderdiv {
    height: inherit;
    margin: 18px 0px 30px 0px;
    border-bottom: none; }
  .halftextblock {
    width: 100%;
    box-sizing: border-box;
    margin: 0px 0px 40px 0px;
    padding: 0px 19px 0px 16px;
    display: block;
    height: inherit;
    height: inherit; }
  .halftextblock h2 {
    margin: 0px 0px 15px 0px; }
  .halftextlinks {
    display: block;
    position: relative;
    bottom: inherit;
    margin-top: 14px;
    border-top: 1px solid #abbeca; }
  .featureblock {
    margin: 0px 0px 30px 0px; }
  .featurepanel a {
    font-size: 44px;
    line-height: 44px;
    font-weight: bold;
    cursor: crosshair;
    background: rgba(65, 89, 104, 0.4); }
  .photoholder {
    margin: 0 0 36px 0px; } }

/*  End of media query */
/*  END OF ICONIC PAGE STYLES ============================================  */
/*  - - - - - - - - - - - - - - -  For Search pages only - - - - - - - - - - - - - - -   */
.searchcontainer {
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
  position: relative; }

.searchtop {
  text-align: center;
  padding: 10px;
  margin: -10px 0px 50px 0px; }

.searchtop form {
  margin: 0px;
  padding: 0px; }

.searchtop input.searchfield {
  width: 50%;
  max-width: 566px;
  height: 50px;
  box-sizing: border-box;
  padding: 0px 10px 2px 18px;
  margin: 0px;
  font-family: texgyreadventor, Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 20px;
  color: #415968;
  text-align: left;
  background: #e9eef2;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0px;
  display: inline-block;
  vertical-align: top;
  overflow: hidden; }

.searchbutton {
  height: 50px;
  overflow: hidden;
  display: inline-block;
  vertical-align: top;
  font-size: 19px;
  line-height: 20px;
  font-weight: bold;
  padding: 14px 20px 0px 20px;
  background-color: #415968;
  box-sizing: border-box;
  color: white; }

.searchbutton:hover {
  cursor: pointer;
  background-color: #2d3e49; }

.searchtop .topleft {
  text-align: left;
  float: left;
  font-size: 13px;
  line-height: 18px;
  padding-top: 8px; }

.searchtop .topright {
  text-align: right;
  float: right;
  font-size: 14px;
  line-height: 19px;
  padding-top: 11px; }

.pagination .roundbutton {
  border-radius: 50%;
  display: inline-block;
  vertical-align: top;
  text-align: center;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  color: white;
  font-size: 12px;
  line-height: 12px;
  overflow: hidden;
  background-color: #415968;
  text-decoration: none;
  margin: 2px 0px 0px 2px; }

.pagination .roundbutton:hover {
  background-color: #008a5e;
  text-decoration: none; }

.pagination .inactive, .pagination .inactive:hover {
  background-color: #e9eef2;
  text-decoration: none; }

.pagination .right {
  padding-left: 1px; }

.pagination .left {
  padding-right: 1px; }

.pagination input {
  width: 33px;
  height: 23px;
  box-sizing: border-box;
  padding: 0px 0px 1px 3px;
  margin: -2px 0px 0px 0px;
  font-family: texgyreadventor, Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 19px;
  color: #415968;
  text-align: left;
  background: white;
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid #abbeca;
  border-radius: 0px;
  display: inline-block;
  vertical-align: top;
  overflow: hidden; }

/* Deprecated: .leftside sidebar no longer used after removal from searchresult.html */
.leftside {
  width: 200px;
  float: left;
  margin: 0px 5px 0px 0px; }
  
a.backbutton {
  color: #415968;
  text-decoration: none; }

a.backbutton:hover {
  color: #008a5e;
  text-decoration: none; }

.backbutton .arrow {
  border-radius: 50%;
  display: inline-block;
  vertical-align: top;
  text-align: center;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  color: white;
  font-size: 12px;
  line-height: 12px;
  overflow: hidden;
  background-color: #008a5e;
  text-decoration: none;
  margin: 3px 0px 0px 2px; }

.backbutton .arrow:hover {
  background-color: #008a5e;
  text-decoration: none; }

.filterbox {
  display: none; /* Oct 2025: hide for now until working */
  background-color: #415968;
  padding: 16px 16px 12px 15px;
  color: white;
  font-size: 13px;
  line-height: 19px;
  margin: 0px 0px 20px 0px; }

.filterbox form {
  margin: 0;
  padding: 0px 0px 35px 0px; }

.filterbox h3 {
  font-size: 20px;
  line-height: 26px;
  padding: 0px 0px 0px 0px;
  color: white; }

.filterbox h4 {
  font-size: 13px;
  line-height: 19px;
  padding: 24px 0px 4px 0px;
  color: white; }

.filterbox h5 {
  font-size: 20px;
  line-height: 26px;
  padding: 0px 0px 20px 0px;
  color: white; }

.filterbox label {
  display: block;
  width: 100%;
  margin-bottom: 3px; }

.filterbox [type="checkbox"] {
  float: right;
  appearance: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid white;
  width: 16px;
  height: 16px;
  vertical-align: top;
  padding: 0;
  background: none; }

.filterbox [type="checkbox"]:checked:after {
  content: '+';
  vertical-align: top;
  font-size: 16px;
  line-height: 12px;
  color: white;
  margin: 0px 0px 0px 1px; }

.filterbox .sportbox, .filterbox .typebox, .filterbox .yearbox, .filterbox .monthbox {
  height: 111px;
  overflow: hidden; }

.filterbox a {
  color: white;
  display: block; }

.filterbox a:hover {
  color: white;
  text-decoration: underline; }

.filterbox .more .arrow-down {
  width: 0;
  height: 0;
  float: right;
  margin: 6px 3px 0px 0px;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid white; }

.filterbox .more .arrow-up {
  width: 0;
  height: 0;
  float: right;
  margin: 6px 3px 0px 0px;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid white; }

.leftside .infobox {
  border: 1px solid #415968;
  padding: 16px 16px 16px 15px;
  margin: 0px 0px 20px 0px; }

.leftside .infobox h4 {
  font-size: 14px;
  line-height: 20px;
  padding: 0; }

.leftside .smaller {
  font-size: 14px;
  line-height: 20px; }

/* Updated: Left sidebar removed; searchresults now centered for 5 columns */
.searchresults {
  display: block;
  max-width: 1282px;  /* 5 columns of photowrappers */
  margin: 0 auto;
  text-align: left; }

.photowrapper {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin: 0px 0px 16px -1px;
  position: relative;
  z-index: 1; }

.photoresult {
  width: 254px;
  height: 345px;
  overflow: hidden;
  position: relative;
  padding: 0px;
  border-top: 1px solid #415968;
  border-right: 1px solid #415968;
  border-left: 1px solid #415968;
  box-sizing: border-box;
  text-align: center;
  font-size: 11px;
  line-height: 14px;
  font-family: Arial, Helvetica, sans-serif;
  background-color: white;
  position: relative; }

.photoresult img {
  margin: 10px 0px 9px 0px;
  cursor: pointer; }

.photoresult .imgtitle {
  padding: 0px 8px 0px 8px; }

.photobase {
  display: block;
  width: 100%;
  background: #415968;
  position: absolute;
  border-left: 1px solid white;
  bottom: 0px;
  padding: 6px 0px 0px 0px; }

.photobase a {
  display: inline-block;
  vertical-align: top;
  width: 45px;
  height: 26px;
  background-image: url(/static/images/search-enlarge.png);
  background-repeat: no-repeat;
  background-position: center top;
  position: relative;
  cursor: pointer; }

.photobase a:hover {
  opacity: 0.5; }

.photobase a.download {
  background-image: url(/static/images/search-download.png); }

.photobase a.cart {
  background-image: url(/static/images/search-cart.png); }

.photobase a.lightbox {
  background-image: url(/static/images/search-lightbox.png); }

.photobase a.info {
  background-image: url(/static/images/search-info.png); }

.choice {
  border-top: 1px solid #bca065;
  border-right: 1px solid #bca065;
  border-left: 1px solid #bca065; }

.choice .photobase {
  background: #bca065; }

.editors {
  color: #bca065;
  font-size: 12px;
  font-weight: bold;
  position: absolute;
  bottom: 33px;
  width: 100%;
  text-align: center;
  opacity: 0.7; }

/* ================ POPOUT IMAGE DETAILS BELOW ================== */
.photowrapper .arrow-up {
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #415968;
  position: absolute;
  left: 20px;
  bottom: -16px;
  display: none;
  z-index: 30; }

.searchpopout {
  display: none;
  position: relative;
  box-sizing: border-box;
  margin: 0px 10px 18px 0px;
  padding: 30px 16px 30px 30px;
  background-color: #415968;
  color: white;
  font-size: 12px;
  line-height: 18px;
  text-align: left; }

.closesearchpop {
  position: absolute;
  top: 23px;
  right: 23px;
  width: 20px;
  height: 22px;
  background-image: url(/static/images/close-white1.png);
  background-repeat: no-repeat;
  background: url(/static/images/close-white.png) no-repeat left top/20px;
  cursor: pointer; }

.searchpopout img.watermarked {
  max-height: 373px;
  max-width: 553px;
  margin: 0px 26px 25px 0px;
  display: inline-block;
  vertical-align: top; }

.searchpopout .textblock {
  width: 350px;
  display: inline-block;
  vertical-align: top;
  margin: 0px 0px 25px 0px; }

.searchpopout .textblock h3 {
  color: white;
  font-size: 18px;
  line-height: 24px;
  padding: 0px; }

.searchpopout .textblock h4 {
  color: white;
  font-size: 12px;
  line-height: 18px;
  padding: 20px 0px 1px 0px; }

.searchpopout .options {
  margin-top: 30px; }

.searchpopout a.download, .searchpopout a.cart, .searchpopout a.lightbox, .searchpopout a.info {
  display: inline-block;
  vertical-align: top;
  min-width: 45px;
  height: 26px;
  background-repeat: no-repeat;
  background-position: center top; }

.searchpopout a.download {
  font-size: 15px;
  line-height: 19px;
  height: 31px;
  padding: 11px 40px 0px 56px;
  background-color: #008a5e;
  text-align: left;
  color: white;
  margin: -7px 4px 0px 0px;
  background-position: 20px 9px;
  background-image: url(/static/images/search-download.png); }

.searchpopout a.download:hover {
  text-decoration: none;
  color: white;
  background-color: #00573b; }

.searchpopout a.cart {
  background-image: url(/static/images/search-cart.png); }

.searchpopout a.lightbox {
  background-image: url(/static/images/search-lightbox.png); }

.searchpopout a.info {
  background-image: url(/static/images/search-info.png); }

.searchpopout a.cart:hover, .searchpopout a.lightbox:hover, .searchpopout a.info:hover {
  opacity: 0.6; }

.relatedimages {
  position: relative; }

.relatedimages h4 {
  font-size: 14px;
  line-height: 19px;
  font-weight: bold;
  color: white; }

/* For Slideshow see separate Flexslider CSS  */
.relatedimages .flexslider {
  height: 120px;
  width: 100%;
  text-align: left;
  background: none;
  padding: 0px 0px 0px 15px;
  margin: 0px 0px 0px -18px; }

.relatedimages .flexslider img {
  max-height: 120px;
  max-width: 180px;
  display: inline-block;
  vertical-align: top;
  padding: 0px 0px 0px 6px;
  z-index: 50; }

/* Direction Nav */
.relatedimages .flex-direction-nav a {
  margin: -12px 0 0 0;
  width: 20px;
  height: 20px;
  background-size: 40px; }

.relatedimages .flex-direction-nav .flex-next {
  right: 1px; }

.relatedimages .flex-direction-nav .flex-prev {
  left: 0px; }

/* === END OF POPOUT IMAGE DETAILS ======= */
.nextblock {
  display: inline-block;
  vertical-align: top;
  width: 255px;
  height: 345px;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid #415968;
  position: relative;
  padding: 0px;
  text-align: center;
  font-size: 14px;
  line-height: 19px;
  margin: 0px 0px 16px -1px;
  padding-top: 100px;
  background-color: white; }

a.nextpage {
  display: block;
  font-size: 20px;
  line-height: 24px;
  margin: 0px 0px 45px 0px;
  color: #415968; }

a.nextpage:hover {
  color: #008a5e;
  text-decoration: none; }

a.nextpage .arrow-right {
  display: inline-block;
  vertical-align: top;
  width: 0;
  height: 0;
  margin: 5px 0px 0px 4px;
  border-top: 9px solid transparent;
  border-left: 18px solid #415968;
  border-bottom: 9px solid transparent; }

a.nextpage:hover .arrow-right {
  border-left: 18px solid #008a5e; }

.lightboxbar {
  display: block;
  background: #008a5e;
  padding: 5px 0px 6px 15px;
  box-sizing: border-box;
  text-align: left;
  color: white;
  margin: 20px 9px 16px 0px; }

a.lightboxresult {
  display: inline-block;
  vertical-align: top;
  width: 255px;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid #415968;
  box-sizing: border-box;
  position: relative;
  padding: 0px 0px 10px 0px;
  text-align: center;
  font-size: 11px;
  line-height: 14px;
  font-family: Arial, Helvetica, sans-serif;
  color: #415968;
  margin: 0px 0px 16px -1px;
  background-color: white;
  cursor: pointer; }

a.lightboxresult img {
  margin: 10px 0px 9px 0px; }

a.lightboxresult .imgtitle {
  padding: 0px 8px 0px 8px; }

a.lightboxresult:hover {
  color: #008a5e; }

.clearbase {
  display: block;
  clear: both;
  width: 100%;
  height: 90px;
  margin: 0px 0px 95px 0px; }

/*  Mobile Style adjustments ========================================== */
@media (max-width: 640px) {
  .searchcontainer {
    width: 100%;
    padding: 48px 0px 0px 0px;
    margin: 0; }
  .searchtop {
    margin: 0px 0px 30px 0px;
    padding: 0px; }
  .searchtop form {
    display: block; }
  .searchtop .topleft {
    float: none;
    text-align: center;
    margin: 0px 0px 10px 0px; }
  .searchtop .topright {
    float: none;
    text-align: center;
    margin: 0px;
    padding: 0px; }
  .searchtop input.searchfield {
    width: 60%; }
  /* Deprecated: .leftside sidebar no longer used */
  .leftside {
    width: 120px;
    margin: 0px; }
  .filterbox {
    padding: 14px 8px 12px 8px; }
  .filterbox h3 {
    font-size: 17px;
    padding: 0;
    margin: 0; }
  .filterbox h5 {
    font-size: 17px; }
  .leftside h3 {
    font-size: 17px; }
  .filterbox [type="checkbox"] {
    float: none; }
  .filterbox [type="checkbox"]:checked:after {
    margin: -2px 0px 2px 2px; }
  .filterbox .sportbox, .filterbox .typebox, .filterbox .yearbox, .filterbox .monthbox {
    height: 120px;
    overflow: hidden; }
  .leftside .infobox {
    padding: 8px 8px 16px 8px; }
  .leftside .infobox {
    font-size: 12px;
    line-height: 18px; }
  .leftside .smaller {
    font-size: 12px;
    line-height: 18px; }
  .searchresults {
    margin: 0 auto; /* Centered after sidebar removal */
    max-width: 100%; }
  .photowrapper {
    display: block;
    margin: 0px 0px 16px 0px; }
  .photoresult {
    display: block;
    width: 180px;
    height: inherit;
    overflow: visible; }
  .photobase {
    border-left: none; }
  .photobase a {
    width: 40px;
    height: 26px;
    overflow: hidden; }
  .photobase a.enlarge {
    display: none; }
  .photowrapper .arrow-up {
    display: none; }
  .photoresult img {
    margin: 0px 0px 4px 0px; }
  .photoresult .imgtitle {
    padding: 0px 4px 19px 4px; }
  .editors {
    display: none; }
  .searchpopout img.watermarked {
    max-height: none;
    max-width: 100%;
    margin: 0px;
    display: block; }
  .nextblock {
    display: block;
    width: 180px;
    height: inherit;
    overflow: visible;
    padding: 30px 0px 30px 0px; }
  a.nextpage {
    margin: 0px 0px 20px 0px; }
  a.lightboxresult {
    display: block;
    width: 180px;
    height: inherit;
    overflow: visible; } }

/*  End of media query */
/*  END OF ICONIC PAGE STYLES ============================================  */
/*  - - - - - - - - - - - - - - -  For Blog pages only - - - - - - - - - - - - - - -   */
.blogpostpreview {
  display: block;
  border-top: 1px solid #abbeca;
  padding: 25px 0px 0px 0px;
  margin: 0;
  position: relative; }

.blogpostpreview img {
  display: block;
  float: left;
  width: 610px;
  padding-right: 32px;
  margin-bottom: 25px; }

.blogpostpreview h1 {
  font-size: 30px;
  line-height: 33px;
  padding: 0px 0px 8px 0px; }

.blogpostpreview .date {
  display: block;
  font-size: 13px;
  color: #abbeca;
  margin: 0px 0px 30px 0px; }

.blogpostpreview .options {
  position: absolute;
  right: 0;
  bottom: 25px;
  width: 380px;
  border-top: 1px solid #cad6de; }

.blogpostpreview .options .more, .blogpostpreview .options .share {
  display: block;
  padding: 4px 0px 4px 0px;
  border-bottom: 1px solid #cad6de;
  color: #415968; }

.blogpostpreview .options .more:hover {
  color: #008a5e;
  text-decoration: none; }

.blogpostpreview .twitter, .blogpostpreview .facebook {
  display: inline-block;
  vertical-align: top;
  height: 20px;
  width: 23px;
  margin: 4px 0px 0px 0px;
  background-image: url(/static/images/socialicons-blog.png);
  background-position: -25px -23px;
  background-repeat: no-repeat;
  background-size: 36px; }

.blogpostpreview .facebook:hover {
  background-position: -25px top; }

.blogpostpreview .twitter {
  margin-left: 8px;
  width: 19px;
  background-position: left -23px; }

.blogpostpreview .twitter:hover {
  background-position: left top; }

.blogpost {
  width: 382px;
  float: right;
  padding: 0px 0px 95px 0px; }

.blogpagination {
  display: block;
  border-top: 1px solid #abbeca;
  border-bottom: 1px solid #abbeca;
  padding: 15px 0px 15px 0px;
  text-align: right;
  margin: 0px 0px 30px 0px; }

.blogpagination a {
  display: inline-block;
  width: 15px;
  text-align: center;
  color: #8ba6b7; }

.blogpagination a:hover, .blogpagination a.current {
  color: #415968;
  text-decoration: none; }

.blogpagination .arrow-right {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 12px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 12px solid #8ba6b7; }

.blogpagination .arrow-right:hover {
  border-left: 12px solid #415968; }

/*  Mobile Style adjustments ========================================== */
@media (max-width: 640px) {
  .blogpostpreview {
    border: none;
    padding: 0px 0px 25px 0px; }
  .blogpostpreview img {
    float: none;
    width: 100%;
    padding: 0px;
    margin: 0px 0px 14px 0px; }
  .blogpostpreview h1 {
    padding: 0px 14px 8px 20px; }
  .blogpostpreview .date {
    margin: 0px 0px 8px 0px;
    padding: 0px 14px 0px 20px; }
  .blogpostpreview p {
    padding: 0px 14px 0px 20px; }
  .blogpost {
    width: 100%;
    float: none;
    padding: 0px 0px 25px 0px; }
  .blogpostpreview .options {
    position: inherit;
    bottom: 0px;
    width: 100%;
    border-top: 1px solid #cad6de;
    margin: 14px 0px 25px 0px;
    box-sizing: border-box;
    padding-left: 20px; }
  .blogpagination .arrow-right {
    margin-right: 10px; } }

/*  End of media query */
/*  END OF BLOG PAGE STYLES ============================================  */
/*  - - - - - - - - - - - - - - -  For Iconic Page only - - - - - - - - - - - - - - -   */
.photoholder {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0 0 20px 0px; }

.iconicblock {
  float: left;
  margin: 0px;
  position: relative;
  display: table; }

.hoverpanel a {
  display: block;
  width: 100%;
  height: 100%;
  cursor: crosshair;
  padding: 0px;
  overflow: hidden;
  position: absolute;
  top: 0;
  background: none;
  z-index: 9;
  text-align: center;
  color: white;
  letter-spacing: 2px;
  text-decoration: none;
  font-size: 0;
  line-height: 38px;
  cursor: crosshair; }

.hoverpanel a:hover {
  font-size: 35px;
  color: white;
  font-weight: bold;
  background: rgba(65, 89, 104, 0.7); }

.hovertext {
  width: 100%;
  position: absolute;
  top: 50%;
  margin-top: -38px; }

.hoverpanel a:hover .subtitle {
  font-size: 15px;
  line-height: 20px;
  font-weight: normal; }

.iconicblock .arrow-up {
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #415968;
  position: absolute;
  right: 50%;
  bottom: 0px;
  display: none; }

.iconpopout {
  display: none;
  width: 1024px;
  min-height: 200px;
  position: absolute;
  box-sizing: border-box;
  position: absolute;
  right: 0px;
  padding: 50px 60px 30px 50px;
  background-color: #415968;
  z-index: 50;
  color: white;
  font-size: 15px;
  line-height: 24px; }

.iconicblock .left {
  left: 0px; }

.closeiconpop {
  position: absolute;
  top: 23px;
  right: 23px;
  width: 20px;
  height: 22px;
  background-image: url(/static/images/close-white.png);
  background-size: 20px;
  background-repeat: no-repeat;
  cursor: pointer; }

.iconpopout img {
  width: 100%;
  margin: 0px 0px 35px 0px; }

.iconpopout h3 {
  font-size: 26px;
  color: white; }

.iconpopout .textbox {
  width: 510px;
  float: left; }

.popouticons {
  display: block;
  position: absolute;
  bottom: 30px;
  left: 50px; }

.popouticons .twitter, .popouticons .facebook {
  display: inline-block;
  vertical-align: top;
  height: 27px;
  width: 30px;
  background-image: url(/static/images/socialicons2.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 51px; }

.popouticons .twitter:hover {
  background-position: left -28px; }

.popouticons .facebook {
  background-position: -34px top; }

.popouticons .facebook:hover {
  background-position: -34px -28px; }

.iconpopout .righttext {
  float: right;
  width: 232px;
  font-size: 12px;
  line-height: 17px;
  color: white;
  padding: 0;
  margin: 0; }

.iconpopout .righttext h4 {
  color: white;
  margin: 0;
  padding: 4px 0px 5px 0px; }

.iconpopout .righttext h5 {
  font-size: 12px;
  color: white;
  margin: 20px 0px 2px 0px;
  padding: 0; }

.iconpopout .righttext .smaller {
  display: block;
  margin: 20px 0px 30px 0px;
  font-size: 11px;
  line-height: 16px; }

.iconpopout .rightbutton {
  display: block;
  background-color: #abbeca;
  font-size: 14px;
  line-height: 16px;
  padding: 10px 13px 10px 45px;
  color: white;
  margin: 0px 0px 7px 0px; }

.iconpopout .rightbutton:hover {
  background-color: #5e8197;
  text-decoration: none;
  color: white; }

.iconpopout .question {
  background-image: url(/static/images/question.png);
  background-repeat: no-repeat;
  background-position: 10px center;
  background-size: 22px; }

.iconpopout .cart {
  background-image: url(/static/images/cart.png);
  background-repeat: no-repeat;
  background-position: 10px center;
  background-size: 22px; }

.iconpopout .star {
  background-image: url(/static/images/star.png);
  background-repeat: no-repeat;
  background-position: 10px center;
  background-size: 22px; }

.iconpopout .download {
  background-image: url(/static/images/download.png);
  background-repeat: no-repeat;
  background-position: 10px center;
  background-size: 22px; }

/*  Mobile Style adjustments  */
@media (max-width: 640px) {
  .hoverpanel a:hover {
    font-size: 0px;
    background: none; }
  .hoverpanel a:hover .subtitle {
    font-size: 0px; }
  .iconpopout {
    width: 100%;
    padding: 28px 20px 20px 20px; }
  .closeiconpop {
    top: 13px;
    right: 8px; }
  .iconpopout .textbox {
    float: none;
    width: 100%;
    padding: 0;
    margin: 0; }
  .iconpopout .righttext {
    float: none;
    width: 100%; }
  .iconpopout .question {
    margin-top: 16px; } }

/*  End of media query */
/*  END OF ICONIC PAGE STYLES ============================================  */
/*  - - - - - - - - - - - - - - -  For FORM page only - - - - - - - - - - - - - - -   */
.enquiryform {
  display: block;
  text-align: left;
  margin: 0px 0px 40px 0px; }

.enquiryform .formblock {
  background-color: #e9eef2;
  padding: 20px;
  margin: 0px 0px 30px 0px;
  box-sizing: border-box; }

.enquiryform fieldset {
  padding: 0;
  margin: 0px 0px 15px 0px;
  border: 0; }

.enquiryform h3 {
  font-size: 30px;
  line-height: 39px;
  padding: 0px 0px 20px 0px; }

.enquiryform p {
  font-weight: bold; }

.enquiryform p.outsideform {
  font-weight: normal;
  margin: 0px 0px 10px 0px; }

.enquiryform legend {
  font-weight: bold;
  padding: 0px 0px 6px 0px;
  margin: 0; }

.enquiryform input, .enquiryform select {
  font-size: 14px;
  line-height: 20px;
  border: 1px solid #415968;
  color: #415968;
  padding: 5px;
  margin: 0px 0px 6px 0px; }

.enquiryform input[type="text"], .enquiryform input[type="password"], .enquiryform input[type="email"] {
  width: 70%; }

.enquiryform input[type="checkbox"], .enquiryform input[type="radio"] {
  display: inline-block;
  margin: 0px 9px 3px 0px;
  vertical-align: middle; }

.enquiryform textarea {
  display: block;
  margin: 10px 0px 3px 0px;
  width: 70%;
  font-size: 14px;
  line-height: 20px;
  border: 1px solid #415968; }

.enquiryform .half {
  width: 45%;
  display: inline-block;
  vertical-align: top; }

.enquiryform label {
  display: block; }

.enquiryform .stronginline {
  display: inline-block;
  vertical-align: top;
  font-weight: bold; }

.enquiryform select {
  width: 70%;
  background-color: white;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  background-image: url(/static/images/searcharrow.png);
  background-repeat: no-repeat;
  background-position: 98% 11px;
  background-size: 16px;
  padding-right: 5px;
  box-sizing: content-box; }

.enquiryform select.date {
  width: auto; }

.enquiryform .errormessage {
  color: #FF0000; }

.enquiryform input[type="submit"], a.editbutton {
  overflow: hidden;
  display: inline-block;
  vertical-align: top;
  font-size: 19px;
  line-height: 20px;
  font-weight: bold;
  padding: 16px 24px 16px 24px;
  background-color: #008a5e;
  box-sizing: border-box;
  color: white;
  border: none; }

.enquiryform input[type="submit"]:hover, a.editbutton:hover {
  cursor: pointer;
  text-decoration: none;
  background-color: #00573b; }

/*  Basket page specific ========================================== */
.basketlink {
  background-image: url(/static/images/cart2.png);
  background-repeat: no-repeat;
  background-position: left top;
  padding: 2px 0px 5px 35px;
  margin-top: -2px; }

.baskettable, .totaltable {
  width: 100%;
  border-collapse: collapse;
  box-sizing: border-box; }

.baskettable td {
  margin: 0px;
  padding: 15px 30px 0px 0px;
  vertical-align: middle;
  text-align: center; }

.baskettable th {
  font-weight: normal;
  padding: 0px 30px 10px 0px;
  vertical-align: middle;
  text-align: center; }

.baskettable tr.headerrow {
  border-bottom: 1px solid #415968;
  margin: 0px 0px 20px 0px; }

.baskettable .pic {
  width: 115px; }

.baskettable img {
  width: 115px; }

.baskettable .digits {
  text-align: right; }

.totaltable {
  width: 889px;
  border-collapse: collapse;
  box-sizing: border-box;
  margin: -20px 30px 40px 0px; }

.totaltable td {
  margin: 0px;
  padding: 0px;
  vertical-align: middle; }

.totaltable .total {
  text-align: right;
  font-weight: bold; }

.totaltable .digits {
  text-align: right;
  padding: 0px 50px 0px 0px;
  font-weight: bold; }

.enquiryform .halfblock {
  width: 47%;
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
  margin: 0px 0px 30px 0px; }

.enquiryform .halfleft {
  margin-right: 5%; }

.enquiryform .halfblock p {
  font-weight: normal;
  padding: 0px 0px 14px 0px; }

.reveal-modal fieldset {
  padding: 0;
  margin: 0px 0px 10px 0px; }

.reveal-modal legend {
  padding: 3px 10px 0px 0px;
  float: left; }

.reveal-modal input[type="text"], .reveal-modal input[type="password"], .reveal-modal input[type="email"], .reveal-modal select {
  float: right; }

.reveal-modal input[type="submit"], a.editbutton {
  float: right;
  font-size: 17px;
  padding: 14px 22px 14px 22px;
  color: white;
  border: none;
  margin-top: -20px; }

.addresstitle {
  display: inline-block;
  vertical-align: top;
  min-width: 100px; }

/*	--------------------------------------------------
	Reveal Modals
	-------------------------------------------------- */
.reveal-modal-bg {
  position: fixed;
  height: 100%;
  width: 100%;
  background: #000;
  background: rgba(0, 0, 0, 0.8);
  z-index: 100;
  display: none;
  top: 0;
  left: 0; }

.reveal-modal {
  visibility: hidden;
  top: 0px;
  left: 50%;
  margin-left: -300px;
  width: 580px;
  background: white;
  position: absolute;
  z-index: 101;
  padding: 30px 30px 20px 30px;
  border-radius: 5px;
  -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  -box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }

.reveal-modal.small {
  width: 200px;
  margin-left: -140px; }

.reveal-modal.medium {
  width: 400px;
  margin-left: -240px; }

.reveal-modal.large {
  width: 600px;
  margin-left: -340px; }

.reveal-modal.xlarge {
  width: 800px;
  margin-left: -440px; }

.reveal-modal .close-reveal-modal {
  font-size: 22px;
  line-height: .5;
  position: absolute;
  top: 8px;
  right: 11px;
  color: #aaa;
  text-shadow: 0 -1px 1px rbga(0, 0, 0, .6);
  font-weight: bold;
  cursor: pointer; }

/*



/*  Mobile Style adjustments ========================================== */
@media (max-width: 640px) {
  .enquiryform .half, .enquiryform .halfblock {
    width: inherit;
    display: block; }
  .enquiryform .halfleft {
    margin: 0px; } }

/*  End of media query */
/*  END OF FORM STYLES ============================================  */

/* Download Loading State ===================================== */
a.download.downloading {
  opacity: 0.7;
  cursor: wait;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.loading-spinner {
  animation: spin 1s linear infinite;
  display: inline-block;
}

/* END Download Loading State ===================================== */

/* Modal Image View Styles ============================================  */
/* --- Base reset for sizing --- */
*,
*::before,
*::after { box-sizing: border-box; }


.imgmodal-backdrop.active {
  display: block; 
}
.imgmodal.active {
  display: grid; 
}


/* --- Backdrop (optional) --- */
.imgmodal-backdrop {
  position: fixed; /* stays with the modal on scroll */
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 2; /* behind modal */
  display: none; /* hidden by default, shown when modal is active */
}

/* --- Modal container --- */
.imgmodal {
  position: fixed;                 /* unaffected by page scrolling */
  width: 1000px;
  height: 700px;
  top: 70px;                          /* “at the top” of the parent region on screen */
  left: 50%;
  transform: translateX(-50%);     /* centered horizontally */
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  display: none;               /* hidden by default, shown (grid) when modal is active */
  grid-template-columns: 640px 1fr; /* left column fits image + margins; right is details */
  grid-template-rows: 100%;
  overflow: hidden;                /* keep contents clipped to rounded corners */
  z-index: 125;                   /* above page content/backdrop  behind sign in, above topbar */
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.imgmodal__close {
  position: absolute;
  top: 10px;
  right: 14px;
  background: rgba(255,255,255,0.6);
  border: none;
  font-size: 28px;
  font-weight: bold;
  color: #555;
  cursor: pointer;
  z-index: 1100;
}
.imgmodal__close:hover {
  color: #000;
}


/* --- Left side: image area --- */
.imgmodal__left {
  position: relative;
  padding: 20px 20px 60px 20px; /* top/right/bottom/left */
}

/* The image must max at 600px on its longest side, centered within left panel */
.imgmodal__image {
  display: block;
  max-width: 600px;
  max-height: 600px;
  width: auto;
  height: auto;
  object-fit: contain;
  margin: 0; /* sits against the 20px padding of the left panel */
}

.imgmodal a.dlbutton {
    font-size: 15px;
    line-height: 19px;
    height: 31px;
    padding: 8px 35px 10px 50px;
    background-color: #008a5e;
    text-align: left;
    color: white;
    margin: -7px 4px 0px 0px;
    background-position: 20px 9px;
    background-image: url(/static/images/search-download.png);
    background-repeat: no-repeat;
    text-decoration: none;
    vertical-align: top;
}

/* --- Action ribbon under image --- */
.actionsribbon {
  background: #415968;
  position: absolute;
  left: 20px;
  right: 20px;
  /*bottom: 16px;*/
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center; /* center the 3 icons */
  gap: 28px;
  border-top: 1px solid #e7e7e7;
}

.actionsribbon .action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center;
}


.actionsribbon .action.download {
  background-image: url(/static/images/search-download.png);
}

.actionsribbon .action.enlarge {
  background-image: url(/static/images/search-enlarge.png);
}

.actionsribbon .action.cart {
  background-image: url(/static/images/search-cart.png);
}

.actionsribbon .action.lightbox {
  background-image: url(/static/images/search-lightbox.png);
}

.actionsribbon .action.info {
  background-image: url(/static/images/search-info.png);
}

.actionsribbon .action:hover svg {
  transform: translateY(-1px) scale(1.05);
  opacity: 0.85;
}

/* --- Right side: details panel --- */
.imgmodal__right {
  padding: 20px 24px;
  overflow: auto; /* scroll details if longer than 700px height */
}

.details__title {
  margin: 0 0 10px 0;
  font-size: 20px;
  line-height: 1.2;
}

/* --- Small enhancements --- */
.searchresults .imgmodal:focus { outline: 2px solid #005fcc; outline-offset: -2px; }

/* =========================
   Mobile: < 640px width
   ========================= */
@media (max-width: 640px) {
  .imgmodal-backdrop { background: rgba(0,0,0,0.6); }

  .imgmodal {
    width: 100vw;          /* 100% of viewable area */
    height: auto;          /* flexible height */
    max-height: 100vh;     /* avoid growing past screen */
    top: 0;
    left: 0;
    transform: none;       /* no centering transform */
    border-radius: 0;      /* edge-to-edge on mobile */
    display: none;        /* stack sections vertically */
    overflow: auto;      /* scroll if taller than screen */
  }

  .imgmodal.active {
    display: block; 
  }

  .imgmodal__left {
    padding: 5px 5px 50px 5px; /* 5px on top/left/right; space for ribbon */
  }

  .imgmodal__image {
    max-width: calc(100vw - 10px);  /* account for 5px left+right margin */
    max-height: 70vh;               /* keep image prominent without exceeding screen */
    margin: 0 auto;                 /* center horizontally */
    display: block;
  }

  .actionsribbon {
    left: 5px;
    right: 5px;
    bottom: 8px;
  }

  .imgmodal__right {
    padding: 12px 14px 18px;
    max-height: none;  /* allow details to grow naturally */
    overflow: visible; /* flexible height for variable detail */
  }
}

/* Download-all Panel */
  #dlPanel {
    display: none;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px 14px;
    margin: 10px 0 16px 0;
    background: #fafafa;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  }
  #dlPanelHeader {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    margin-bottom: 8px;
  }
  #dlPanelTitle { font-weight: 600; }
  #dlPanelMsg { color: #333; margin: 6px 0 10px 0; }

  /* Progress bar */
  .dl-progress { height: 12px; background: #eee; border-radius: 999px; overflow: hidden; }
  .dl-progress__bar { height: 100%; width: 0%; background: #3b82f6; transition: width .25s ease; }
  .dl-progress__nums { margin-top: 6px; color: #555; font-size: .9rem; }

  /* Actions */
  #dlPanelActions { margin-top: 10px; display: flex; gap: 10px; align-items: center; }
  .dl-btn { background:#0f766e; color:#fff; border:0; border-radius:8px; padding:6px 10px; cursor:pointer; text-decoration:none; display:inline-block }
  .dl-btn--secondary { background:#e5e7eb; color:#111 }
  .dl-link { font-size:.9rem; text-decoration:underline }
  .dl-row { display:flex; gap: 14px; align-items:center; flex-wrap:wrap; }


.notyetimplemented {
  display: none !important;  /* hide elements until feature is implemented */
}