/* ============================================================
   DANCING GOAT CORE — BLUE & WHITE GRADIENT EDITION
   Kentico 13 | Complete Stylesheet
   Color Palette:
     --dg-blue-darkest:  #0B1F3A  (deep navy)
     --dg-blue-dark:     #0D3B6E  (royal navy)
     --dg-blue-mid:      #1565C0  (strong blue)
     --dg-blue:          #1976D2  (brand blue)
     --dg-blue-light:    #42A5F5  (sky blue)
     --dg-blue-pale:     #90CAF9  (pale blue)
     --dg-blue-frost:    #BBDEFB  (frost blue)
     --dg-blue-ice:      #E3F2FD  (ice blue)
     --dg-white:         #FFFFFF
     --dg-off-white:     #F0F6FF
     --dg-accent-teal:   #00ACC1  (teal accent)
     --dg-error:         #D12127
============================================================ */

/* ============================================================
   RESET — Meyer v2.0
============================================================ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }

/* ============================================================
   NORMALIZE
============================================================ */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body { margin: 0; }
article, aside, details, figcaption, figure,
footer, header, main, nav, section, summary { display: block; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
a { background: transparent; }
a:active, a:hover { outline: 0; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
dfn { font-style: italic; }
h1 { font-size: 2em; margin: 0.67em 0; }
mark { background: #ff0; color: #000; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; }
svg:not(:root) { overflow: hidden; }
figure { margin: 1em 40px; }
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }
pre { overflow: auto; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }
button { overflow: visible; }
button, select { text-transform: none; }
button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button; cursor: pointer;
}
button[disabled], html input[disabled] { cursor: not-allowed; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
input { line-height: normal; }
input[type="text"], input[type="email"], textarea {
  border: 1px solid #90CAF9;
}
input[type="text"]:focus, input[type="email"]:focus, textarea:focus {
  outline: 0;
  box-shadow: 0 0 2px #1976D2;
  border: 1px solid #1976D2;
}
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { height: auto; }
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
fieldset { border: 1px solid #BBDEFB; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
legend { border: 0; padding: 0; }
textarea { overflow: auto; }
optgroup { font-weight: bold; }
td, th { padding: 0; }

/* ============================================================
   BOX SIZING
============================================================ */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* ============================================================
   FONT FACES
============================================================ */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  src: local('PT Serif Bold'), local('PTSerif-Bold'), url(../Fonts/PTSerif-Bold.woff) format('woff');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 300;
  src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url(../Fonts/SourceSansPro-Light.woff) format('woff');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url(../Fonts/SourceSansPro-Regular.woff) format('woff');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 700;
  src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(../Fonts/SourceSansPro-Bold.woff) format('woff');
}
@font-face {
  font-family: 'Core-icons';
  src: url('../Fonts/Core-icons.eot');
  src: url('../Fonts/Core-icons.svg#Core-icons') format('svg'),
       url('../Fonts/Core-icons.eot?#iefix') format('embedded-opentype'),
       url('../Fonts/Core-icons.woff') format('woff'),
       url('../Fonts/Core-icons.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'GT-Wallsheim';
  font-weight: 300;
  src: url(../Fonts/GT-Walsheim-Thin.woff);
}
@font-face {
  font-family: 'GT-Wallsheim';
  font-weight: 400;
  src: url(../Fonts/GT-Walsheim-Regular.woff);
}
@font-face {
  font-family: 'GT-Wallsheim';
  font-weight: 500;
  src: url(../Fonts/GT-Walsheim-Medium.woff);
}
@font-face {
  font-family: 'GT-Wallsheim';
  font-weight: 700;
  src: url(../Fonts/GT-Walsheim-Bold.woff);
}

/* ============================================================
   TYPOGRAPHY
============================================================ */
body {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #0B1F3A;
  background-color: #ffffff;
}
input, button, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #1565C0;
  text-decoration: underline;
}
a:hover, a:focus {
  color: #0D3B6E;
  text-decoration: none;
}
h1 a, .h1 a,
h2 a, .h2 a,
h3 a, .h3 a,
h4 a, .h4 a,
h5 a, .h5 a { text-decoration: none; }
h1 a:hover, h1 a:focus, .h1 a:hover, .h1 a:focus,
h2 a:hover, h2 a:focus, .h2 a:hover, .h2 a:focus,
h3 a:hover, h3 a:focus, .h3 a:hover, .h3 a:focus,
h4 a:hover, h4 a:focus, .h4 a:hover, .h4 a:focus,
h5 a:hover, h5 a:focus, .h5 a:hover, .h5 a:focus { text-decoration: underline; }

h1, h2, h3, .h1, .h2, .h3 {
  line-height: 1.4;
  color: #0D3B6E;
  margin-bottom: 0.7rem;
}
h1, .h1 { font-weight: 400; font-size: 4rem; }
h2, .h2 { font-weight: 500; font-size: 3rem; margin-top: 3rem; margin-bottom: 2rem; line-height: 1; }
h3, .h3 { font-weight: 500; font-size: 2rem; }
h4, .h4 { font-weight: 700; font-size: 1.375rem; margin-top: 1rem; margin-bottom: 0.7rem; line-height: 1.4; color: inherit; }
h5, .h5 { font-weight: 400; font-size: 1.75rem; margin-bottom: 1.625rem; line-height: 1.143; color: inherit; }
p { margin: 0 0 0.625rem; margin-bottom: 0.7rem; }
.lead-paragraph {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  margin-bottom: 20px;
  font-size: 1.375rem;
  line-height: 1.4;
}

/* ============================================================
   GRID
============================================================ */
.container { margin-right: auto; margin-left: auto; padding-left: 8px; padding-right: 8px; }
.row { margin-left: -0.5px; margin-right: -0.5px; }
.row--with-cols-padding { padding: 0 3rem; }
@media (max-width: 768px) { .row--with-cols-padding { padding: 0 1rem; } }
.row--with-cols-padding > div[class^='col-'],
.row--with-cols-padding > div[class*=' col-'] { padding-bottom: 0px; }
.row--with-cols-padding > div[class^='col-']:last-child,
.row--with-cols-padding > div[class*=' col-']:last-child { padding-left: 1rem; }
@media (max-width: 768px) {
  .row--with-cols-padding > div[class^='col-']:last-child,
  .row--with-cols-padding > div[class*=' col-']:last-child { padding-left: 0; }
}
.row--with-cols-padding > div[class^='col-']:first-child,
.row--with-cols-padding > div[class*=' col-']:first-child { padding-right: 1rem; }
@media (max-width: 768px) {
  .row--with-cols-padding > div[class^='col-']:first-child,
  .row--with-cols-padding > div[class*=' col-']:first-child { padding-right: 0; }
}
.row--with-cols-padding > div[class^='col-']:not(:last-child):not(:first-child),
.row--with-cols-padding > div[class*=' col-']:not(:last-child):not(:first-child) {
  padding-right: 0.5rem; padding-left: 0.5rem;
}
@media (max-width: 768px) {
  .row--with-cols-padding > div[class^='col-']:not(:last-child):not(:first-child),
  .row--with-cols-padding > div[class*=' col-']:not(:last-child):not(:first-child) {
    padding-right: 0; padding-left: 0;
  }
}

/* Column base */
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1,
.col-xs-2, .col-sm-2, .col-md-2, .col-lg-2,
.col-xs-3, .col-sm-3, .col-md-3, .col-lg-3,
.col-xs-4, .col-sm-4, .col-md-4, .col-lg-4,
.col-xs-5, .col-sm-5, .col-md-5, .col-lg-5,
.col-xs-6, .col-sm-6, .col-md-6, .col-lg-6,
.col-xs-7, .col-sm-7, .col-md-7, .col-lg-7,
.col-xs-8, .col-sm-8, .col-md-8, .col-lg-8,
.col-xs-9, .col-sm-9, .col-md-9, .col-lg-9,
.col-xs-10, .col-sm-10, .col-md-10, .col-lg-10,
.col-xs-11, .col-sm-11, .col-md-11, .col-lg-11,
.col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative; min-height: 1px; padding-left: 0.5px; padding-right: 0.5px; padding-bottom: 1px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6,
.col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; }
.col-xs-12 { width: 100%; }
.col-xs-11 { width: 91.66666667%; }
.col-xs-10 { width: 83.33333333%; }
.col-xs-9  { width: 75%; }
.col-xs-8  { width: 66.66666667%; }
.col-xs-7  { width: 58.33333333%; }
.col-xs-6  { width: 50%; }
.col-xs-5  { width: 41.66666667%; }
.col-xs-4  { width: 33.33333333%; }
.col-xs-3  { width: 25%; }
.col-xs-2  { width: 16.66666667%; }
.col-xs-1  { width: 8.33333333%; }

@media (min-width: 500px) {
  .container { width: 484px; }
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
  .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; }
  .col-sm-12 { width: 100%; } .col-sm-11 { width: 91.66666667%; }
  .col-sm-10 { width: 83.33333333%; } .col-sm-9 { width: 75%; }
  .col-sm-8  { width: 66.66666667%; } .col-sm-7 { width: 58.33333333%; }
  .col-sm-6  { width: 50%; } .col-sm-5 { width: 41.66666667%; }
  .col-sm-4  { width: 33.33333333%; } .col-sm-3 { width: 25%; }
  .col-sm-2  { width: 16.66666667%; } .col-sm-1 { width: 8.33333333%; }
}
@media (min-width: 768px) {
  .container { width: 752px; }
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
  .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; }
  .col-md-12 { width: 100%; } .col-md-11 { width: 91.66666667%; }
  .col-md-10 { width: 83.33333333%; } .col-md-9 { width: 75%; }
  .col-md-8  { width: 66.66666667%; } .col-md-7 { width: 58.33333333%; }
  .col-md-6  { width: 50%; } .col-md-5 { width: 41.66666667%; }
  .col-md-4  { width: 33.33333333%; } .col-md-3 { width: 25%; }
  .col-md-2  { width: 16.66666667%; } .col-md-1 { width: 8.33333333%; }
}
@media (min-width: 1112px) {
  .container { width: 1096px; }
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
  .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; }
  .col-lg-12 { width: 100%; } .col-lg-11 { width: 91.66666667%; }
  .col-lg-10 { width: 83.33333333%; } .col-lg-9 { width: 75%; }
  .col-lg-8  { width: 66.66666667%; } .col-lg-7 { width: 58.33333333%; }
  .col-lg-6  { width: 50%; } .col-lg-5 { width: 41.66666667%; }
  .col-lg-4  { width: 33.33333333%; } .col-lg-3 { width: 25%; }
  .col-lg-2  { width: 16.66666667%; } .col-lg-1 { width: 8.33333333%; }
}
@media (min-width: 1440px) { .container { width: 1424px; } }

/* ============================================================
   VISIBILITY UTILITIES
============================================================ */
@media (max-width: 499px) { .xs-hidden { display: none; } }
@media (min-width: 500px) and (max-width: 767px) { .sm-hidden { display: none; } }
@media (min-width: 768px) and (max-width: 1111px) { .md-hidden { display: none; } }
@media (min-width: 1112px) { .lg-hidden { display: none; } }

/* ============================================================
   CLEARFIX & UTILITIES
============================================================ */
.clearfix:before, .clearfix:after,
.dl-horizontal dd:before, .dl-horizontal dd:after,
.container:before, .container:after,
.row:before, .row:after { content: " "; display: table; }
.clearfix:after, .dl-horizontal dd:after,
.container:after, .row:after { clear: both; }
.img-responsive { display: block; width: 100%; max-width: 100%; height: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.cursor-hand { cursor: pointer; }
.image-responsive { max-width: 100%; }
.clear { clear: both; }
.center-text { text-align: center; }
.no-margin { margin: 0; }
.no-padding { padding: 0px; }
.hidden { display: none; }

/* ============================================================
   ANIMATIONS
============================================================ */
@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(359deg); }
}
.spinner { animation: spin 1.2s infinite linear; }

/* ============================================================
   BUTTONS — Blue Gradient Variants
============================================================ */
.btn,
input[type="submit"],
button[type="submit"] {
  display: inline-block;
  padding: 0.6rem 2rem;
  cursor: pointer;
  color: #ffffff;
  background: linear-gradient(135deg, #1976D2 0%, #0D3B6E 100%);
  border: none;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.875rem;
  font-family: 'Source Sans Pro', sans-serif;
  transition: background 0.25s, box-shadow 0.25s;
}
.btn:hover, .btn:focus,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background: linear-gradient(135deg, #42A5F5 0%, #1565C0 100%);
  box-shadow: 0 4px 12px rgba(13,59,110,0.3);
  color: #ffffff;
  text-decoration: none;
}

/* Secondary (outline) button */
.btn-secondary {
  background: transparent;
  border: 2px solid #1976D2;
  color: #1976D2;
}
.btn-secondary:hover {
  background: #1976D2;
  color: #ffffff;
}

/* CTA "more" button */
.btn-more {
  display: inline-block;
  padding: 0.75rem 2.5rem;
  cursor: pointer;
  color: #ffffff;
  background: linear-gradient(135deg, #1565C0 0%, #0B1F3A 100%);
  border: none;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.875rem;
  transition: background 0.25s, box-shadow 0.25s;
}
.btn-more:hover {
  background: linear-gradient(135deg, #42A5F5 0%, #1976D2 100%);
  box-shadow: 0 6px 18px rgba(21,101,192,0.4);
  color: #fff;
  text-decoration: none;
}

/* ============================================================
   NAVIGATION / HEADER
============================================================ */
.navigation {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-grow: 1;
  color: #BBDEFB;
  background: linear-gradient(90deg, #0B1F3A 0%, #1565C0 100%);
}
.navigation a {
  color: #BBDEFB;
  text-decoration: none;
}
.navigation a:hover, .navigation a:active { color: #ffffff; }
.navigation a.navigation__cta {
  display: flex;
  align-items: center;
  font-weight: 500;
  margin-left: 0;
  background: none;
}
.navigation a.navigation__cta-icon { margin-left: 4px; }

/* Site header wrapper */
header,
.site-header {
  background: linear-gradient(90deg, #0B1F3A 0%, #1565C0 100%);
  box-shadow: 0 2px 10px rgba(11,31,58,0.5);
}

/* Logo */
.nav-logo {
  float: left;
  height: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 20px;
}
.nav-logo .logo-wrapper a { display: flex; flex-direction: column; }
.nav-logo .logo-wrapper a img { height: 36px; }

/* Primary nav */
ul.nav-menu {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 88px;
  height: 0;
  padding: 0;
  overflow: hidden;
  z-index: 99;
  width: 100%;
}
ul.nav-menu li { width: 100%; }
ul.nav-menu li a {
  display: inline-block;
  width: 100%;
  padding: 10px;
  background: linear-gradient(90deg, #0D3B6E 0%, #1565C0 100%);
  color: #BBDEFB;
  text-decoration: none;
  transition: background 0.2s;
}
ul.nav-menu li a:hover { background: #1976D2; color: #ffffff; }
ul.nav-menu.active { height: auto; }

/* Additional menu (right side) */
ul.additional-menu {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  flex-grow: 1;
  margin-left: 10px;
}
ul.additional-menu li {
  height: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
ul.additional-menu li a {
  padding: 5px;
  color: #BBDEFB;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  text-decoration: none;
}
ul.additional-menu li a:hover { color: #ffffff; }
ul.additional-menu .search-menu-item { display: none; }

/* Responsive nav */
@media screen and (min-width: 768px) {
  .nav-logo { margin-left: 24px; margin-right: 20px; height: auto; }
  .nav-logo .logo-wrapper a img { height: 46px; }
  ul.nav-menu { top: 100px; }
  ul.additional-menu { margin-right: 24px; margin-left: 20px; }
  ul.additional-menu li a { padding: 0 5px; }
  ul.additional-menu .search-menu-item {
    display: flex; flex-grow: 1; max-width: 400px; margin-right: 5px;
  }
  .nav-toggle { display: none; }
  .nav-logo img { height: 46px; }
  .search-mobile { display: none; }
}
@media screen and (min-width: 1112px) {
  .nav-toggle { display: none; }
  .nav-logo { margin-left: 0; }
  .nav-logo .logo-wrapper a img { height: auto; }
  ul.nav-menu {
    position: static; height: auto; flex-direction: row;
    align-items: center; width: auto;
  }
  ul.nav-menu li { width: auto; }
  ul.nav-menu li a { width: auto; padding: 10px; }
  ul.additional-menu { margin-right: 0; }
  ul.additional-menu li.nav-toggle { display: none; }
  ul.additional-menu li a { padding: 0 10px; }
  ul.additional-menu .search-menu-item { margin-right: 10px; }
}

/* Mobile hamburger */
.nav-toggle {
  display: block; position: relative;
  width: 50px; height: 50px; margin-left: 5px; cursor: pointer; padding: 5px;
}
.nav-toggle .nav-toggle-inner {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, #1976D2 0%, #0D3B6E 100%);
}
span.icon-bar {
  position: absolute; right: 16px; display: block;
  width: 18px; height: 2px; background-color: #ffffff;
  -webkit-transition-duration: 0.3s; transition-duration: 0.3s;
}
span.icon-bar:before { content: none; }
.icon-bar:nth-child(1) { top: 17px; }
.icon-bar:nth-child(2) { top: 24px; }
.icon-bar:nth-child(3) { top: 31px; }
.nav-toggle.active .icon-bar:nth-child(1) { top: 24px; transform: rotate(45deg); }
.nav-toggle.active .icon-bar:nth-child(2) { width: 0; }
.nav-toggle.active .icon-bar:nth-child(3) { top: 24px; transform: rotate(-45deg); }

/* Avatar */
.dropdown-desktop-avatar {
  height: 30px; width: 30px; vertical-align: middle; border-radius: 50%;
}

/* ============================================================
   SEARCH BOX
============================================================ */
.searchBox {
  display: inline-block; width: 100%;
  background: linear-gradient(90deg, #0D3B6E 0%, #1565C0 100%);
}
.searchBox input[type=text] {
  padding: 0 1rem;
  width: calc(100% - 32px);
  color: #BBDEFB;
  background: transparent;
}
.searchBox input[type=text]::-webkit-input-placeholder { color: #90CAF9; }
.searchBox input[type=text]:-moz-placeholder           { color: #90CAF9; }
.searchBox input[type=text]::-moz-placeholder          { color: #90CAF9; }
.searchBox input[type=text]:-ms-input-placeholder      { color: #90CAF9; }
.searchBox .search-box-watermark { color: #90CAF9; }
.searchBox .search-box-btn {
  padding: 0.6rem 1rem; float: right;
  background: url(../Images/magnifier.svg) no-repeat center;
}
.searchBox .search-box-btn:focus, .searchBox .search-box-btn:hover {
  background: url(../Images/magnifier-dark.svg) no-repeat center; float: right;
}
.searchBox input, .searchBox input:hover, .searchBox input:focus {
  height: 32px; border: none; float: left; outline: none; box-shadow: none;
}
.search-mobile {
  padding: 0 5px;
  background: linear-gradient(90deg, #0B1F3A 0%, #0D3B6E 100%);
}

/* ============================================================
   DROPDOWN MENU
============================================================ */
.dropdown, .dropbtn { position: relative; display: inline-block; }
li.dropdown { display: inline-block; }
li.dropdown a { cursor: pointer; }
.dropdown-content {
  display: none; position: absolute; top: 50px; right: 0;
  background: linear-gradient(180deg, #1565C0 0%, #0D3B6E 100%);
  z-index: 1;
  box-shadow: 0 4px 16px rgba(11,31,58,0.4);
}
.dropdown .dropdown-content > a,
.dropdown .dropdown-content form { color: #ffffff; text-decoration: none; display: block; text-align: left; }
.dropdown .dropdown-content > a { padding: 8px 24px; }
.dropdown .dropdown-content > form { width: 100%; }
.dropdown .dropdown-content > form .sign-out-button {
  width: 100%; border: none; background: none;
  padding: 8px 24px; text-align: left; color: #ffffff; cursor: pointer;
}
.dropdown-content a:hover, .dropdown-content form:hover {
  background: linear-gradient(90deg, #1976D2 0%, #42A5F5 100%);
}
.dropdown:hover .dropdown-content { display: block; }

/* Sub-menu (second level) */
.store-menu-list {
  background: linear-gradient(90deg, #1565C0 0%, #1976D2 100%);
}
.sub-menu {
  font-size: 1.25rem;
  text-transform: none;
  line-height: 100%;
}
.sub-menu ul { list-style: none; display: inline; }
.sub-menu li:hover { background: linear-gradient(90deg, #0D3B6E 0%, #1565C0 100%); }
.sub-menu li, .sub-menu a { float: left; }
.sub-menu a { padding: 1.25rem; }
.sub-menu a, .sub-menu a:hover, .sub-menu a:focus {
  text-decoration: none; color: #FFF;
}
.sub-menu .sub-menu-item-selected { background-color: #0B1F3A; }

/* ============================================================
   BANNER / HERO SECTION
============================================================ */
.banner-section {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 580px;
  width: 100%;
  padding: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position-x: 60%;
  text-align: left;
  margin-bottom: 1rem;
  position: relative;
}
/* Blue gradient overlay on hero */
.banner-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgba(11,31,58,0.75) 0%,
    rgba(21,101,192,0.55) 50%,
    rgba(66,165,245,0.25) 100%
  );
  pointer-events: none;
}
.banner-heading {
  color: #FFFFFF;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1;
  padding: 1rem;
  display: inline-block;
  margin-bottom: 0;
  position: relative;
  text-shadow: 0 2px 8px rgba(11,31,58,0.6);
}
.banner-text {
  color: #E3F2FD;
  font-size: 1.375rem;
  padding: 1.5rem;
  display: block;
  max-width: 31.25rem;
  margin: 0;
  font-weight: 400;
  z-index: 1;
  position: relative;
}
.banner-link { color: #BBDEFB; text-decoration: none; }
.banner-link:hover { color: #ffffff; }
@media (min-width: 768px) {
  .banner-section { padding: 7.5rem; }
  .banner-heading { font-size: 5rem; }
}

/* ============================================================
   OUR STORY SECTION
============================================================ */
.ourstory-section {
  position: relative;
  color: #ffffff;
  padding: 1rem 1rem 7rem 1rem;
  font-size: 1.5rem;
  background: linear-gradient(135deg, #0B1F3A 0%, #1565C0 60%, #42A5F5 100%);
  background-image: url(../Images/plant-4.png);
  background-repeat: no-repeat;
  background-position: right top;
}
.ourstory-section .section-text { font-weight: 500; }
.ourstory-section .title-tab { color: #ffffff; }
.ourstory-section .btn-more {
  position: absolute; bottom: 0; left: 50%;
  transform: translate(-50%, 50%); margin: 0; z-index: 1;
}
@media (min-width: 768px) {
  .ourstory-section { padding: 3rem 3rem 7rem 3rem; font-size: 2.25rem; }
}
.home-bottom-bg { background: url(../Images/cup.png) right center no-repeat; }

/* ============================================================
   ABOUT SECTION
============================================================ */
.about-section { padding: 3rem 0; }
@media (min-width: 768px) {
  .about-section { padding: 0; }
  .about-section .row--with-cols-padding > div[class^='col-'],
  .about-section .row--with-cols-padding > div[class*=' col-'] { padding-top: 3rem; padding-bottom: 3rem; }
  .about-section .row--with-cols-padding > div[class^='col-']:first-child,
  .about-section .row--with-cols-padding > div[class*=' col-']:first-child { text-align: right; }
}

/* ============================================================
   PRODUCT TILES
============================================================ */
.product-page { margin-top: 1.25rem; }
.product-tile {
  overflow: hidden;
  border: 1px solid #BBDEFB;
  margin: 0 0 -2px -2px;
  background: #ffffff;
}
.product-tile-image {
  overflow: hidden; text-align: center; position: relative;
  display: block; margin: 0.5rem; padding-top: 15%; padding-bottom: 25%;
}
.product-tile-image img { height: auto; width: 100%; }
.product-tile-image.notavailable img { opacity: 0.4; filter: alpha(opacity=40); }
.product-tile-info { padding: 1.25rem; position: absolute; bottom: 0; }
.product-tile .product-tile-status {
  background: linear-gradient(135deg, #1565C0 0%, #0B1F3A 100%);
  margin-top: 25%;
  color: #FFF;
  padding: 0.5rem 1.25rem;
  margin-top: 20%;
  position: absolute;
  z-index: 2;
}
.product-tile-price { font-size: 1.375rem; font-weight: bold; margin-right: 0.5rem; color: #0D3B6E; }
.product-tile-list-price { text-decoration: line-through; font-size: 1rem; }
.product-tile .product-heading {
  text-align: center; font-size: 1rem; font-weight: normal;
  font-family: 'Source Sans Pro', sans-serif;
  z-index: 1; position: absolute; display: block; margin: auto;
  width: 100%; padding: 1.25rem;
}
.product-tile a { color: #0B1F3A; text-decoration: none; }
.product-tile .add-to-cart-button {
  display: block; float: right !important; margin-left: 1rem;
  font-family: 'Source Sans Pro'; font-style: normal; font-weight: 400;
  border: 2px solid #1976D2; text-transform: uppercase; color: #1976D2;
  background: transparent; padding: 0.4rem 1rem; cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.product-tile .add-to-cart-button:hover {
  background: linear-gradient(135deg, #1976D2 0%, #0D3B6E 100%);
  color: #fff; border-color: #1976D2;
}

/* Featured products */
.featured-product .product-tile-image { padding: 0; margin: 0 2rem 0 2rem; }
.featured-product .product-tile h1 { font-size: 1.375rem; font-weight: 300; line-height: 1.4; }
.featured-product a { color: #0B1F3A; text-decoration: none; }
.featured-product .product-tile .product-banner {
  position: absolute; padding: 0.5rem 1.25rem; text-align: center;
  font-size: 1.375rem; text-transform: uppercase;
  top: 42%; left: 15%; right: 15%;
  background: linear-gradient(135deg, #1976D2 0%, #00ACC1 100%);
  color: #FFF; z-index: 2;
}
.featured-product .product-tile-info { text-align: left; position: absolute; padding: 0 0 0 1rem; bottom: 0.75rem; }
.featured-product .product-tile .product-heading {
  width: auto; position: inherit; padding: 0; padding-top: 0.75rem;
  margin: 0.5rem 1.25rem 1rem 1.25rem; text-align: center;
  font-size: 1rem; font-weight: normal; font-family: 'Source Sans Pro', sans-serif;
}
.featured-product .product-tile { margin: 0 -2px -2px 0; }
@media (max-width: 767px) { .featured-product .product-tile { min-height: 30.5rem; } }
@media (min-width: 768px) {
  .featured-product .product-tile .product-banner { font-size: 1rem; }
  .featured-product .product-tile { min-height: 25.5rem; }
  .featured-product .product-tile .product-tile-status { margin-top: 23%; }
}

/* ============================================================
   SHOPPING CART
============================================================ */
.cart-right-panel {
  background: linear-gradient(180deg, #E3F2FD 0%, #BBDEFB 100%);
  padding: 1.25rem;
}
.cart > h1 { margin-bottom: 1.25rem; }
@media (min-width: 768px) { .cart .cart-content { padding-right: 1.25rem; } }
.cart .last-separator { margin-bottom: 0; }
.cart .first-separator { margin-top: 0; }
.free-shipping-promotion {
  margin-top: 1rem; margin-bottom: 1.25rem; padding: 1rem;
  background: linear-gradient(135deg, #0D3B6E 0%, #1565C0 100%);
  color: #FFF; font-size: 1.375rem;
  font-family: 'pt serif'; line-height: 1.4em;
}
.cart-total-viewer { font-size: 1rem; }
.cart-total-viewer .label { float: left; }
.cart-total-viewer .value { text-align: right; }
.cart-total .cart-total-viewer { font-weight: bold; margin-bottom: 1.25rem; font-size: 1.125rem; }
.cart-coupon-info-label { font-size: 0.9rem; float: left; }
.cart-coupon-input { padding: 0; }
.cart-coupon-input .cart-coupon-code { border-bottom: 1px solid #BBDEFB; padding-top: 0.5em; }
.cart-coupon-input .cart-coupon-code .button { text-align: right; }
.cart-coupon-input .cart-coupon-code input[type="submit"] {
  background-color: inherit; border: none; font-weight: bold; text-transform: uppercase;
}

/* Shopping cart mini preview */
.shopping-cart-mini-preview { float: right; }
.shopping-cart-mini-preview .icon-shopping-cart { padding-right: 0.3rem; color: #42A5F5; }
.shopping-cart-mini-preview .shopping-cart-mini-preview-label {
  float: left;
  background: linear-gradient(135deg, #1565C0 0%, #0D3B6E 100%);
  color: white; padding: 0.75rem; text-transform: uppercase;
}
.shopping-cart-mini-preview .shopping-cart-mini-preview-value {
  float: left;
  background: linear-gradient(135deg, #1976D2 0%, #42A5F5 100%);
  color: white; padding: 0.75rem;
}
.invalid-cart-content ul {
  list-style-type: none; padding: 10px 12px; font-weight: bold;
  margin-top: 0.3rem; margin-bottom: 0.6rem; display: block;
  background-color: #D12127; color: white;
}

/* ============================================================
   DELIVERY DETAILS
============================================================ */
.delivery-details { padding: 3rem 1rem; }
.delivery-details .customer-details label { font-weight: 400; }
@media (min-width: 768px) {
  .delivery-details { padding: 3rem; background: url(../Images/cup.png) right 18rem no-repeat; }
}

/* ============================================================
   CAFES PAGE
============================================================ */
.cafes-page { padding: 3rem 1rem; }
@media (min-width: 768px) {
  .cafes-page { padding: 3rem; background: url(../Images/plant-3.png) right top no-repeat; }
}
.cafe-cards { margin-left: 1px; margin-top: 16px; }
.cafe-cards .title-tab { margin-top: 0; }

/* Cafe tile */
.cafe-tile {
  background: linear-gradient(135deg, #1565C0 0%, #1976D2 100%);
  color: #FFF; height: 200px; overflow: hidden;
}
.cafe-tile-address { font-style: normal; padding-bottom: 1rem; }
.cafe-tile-address-anchor,
.cafe-tile-address-anchor:hover,
.cafe-tile-address-anchor:focus,
.cafe-tile-address-anchor:active { color: #FFF; }
.cafe-tile-image { width: 100%; }
.cafe-tile-content { padding: 0 1rem 1rem 1rem; }
.cafe-tile-content .cafe-tile-name { color: #E3F2FD; }

/* Cafe image tile */
.cafe-image-tile {
  background: linear-gradient(135deg, #0D3B6E 0%, #1565C0 100%);
  color: #FFF;
}
.cafe-image-tile-address { font-style: normal; padding-bottom: 1rem; }
.cafe-image-tile-address-anchor,
.cafe-image-tile-address-anchor:hover,
.cafe-image-tile-address-anchor:focus,
.cafe-image-tile-address-anchor:active { color: #FFF; }
.cafe-image-tile-image { height: 200px; max-width: 200px; position: absolute; bottom: 1px; }
.cafe-image-tile-content { padding: 0 1rem 1rem 1rem; }
.cafe-image-tile-content .cafe-image-tile-name { color: #E3F2FD; }
@media (min-width: 400px) {
  .cafe-image-tile { height: 200px; overflow: hidden; }
  .cafe-image-tile-image-wrapper { float: left; width: 200px; height: 100%; overflow: hidden; margin-right: 1rem; }
  .cafe-image-tile-content { padding-right: 1rem; }
}
@media (min-width: 768px) {
  .cafe-image-tile { height: 220px; }
  .cafe-image-tile-image-wrapper { width: 150px; }
  .cafe-image-tile-image { max-width: 150px; height: auto; }
}
@media (min-width: 1112px) {
  .cafe-image-tile { height: 200px; }
  .cafe-image-tile-image-wrapper { width: 200px; }
  .cafe-image-tile-image { height: 200px; max-width: 200px; }
}

/* ============================================================
   COFFEE TILES
============================================================ */
.ourcoffee-tile-image { overflow: hidden; width: 100%; }
.ourcoffee-tile-text {
  position: absolute; color: #ffffff; display: block; width: 100%;
  z-index: 11; padding: 0; left: 0; right: 0; bottom: 0; text-align: center;
}
.ourcoffee-tile-link {
  display: flex; justify-content: center; font-size: 0;
  position: relative;
  background: linear-gradient(135deg, #1976D2 0%, #00ACC1 100%);
  height: 300px; margin-bottom: 1.5rem;
}
.ourcoffee-tile-link img { object-fit: cover; object-position: 50% 0; }
.cafe-overlay {
  display: block; height: 100%; position: absolute; width: 100%; z-index: 10;
  background: linear-gradient(180deg, rgba(11,31,58,0) 51.26%, rgba(11,31,58,0.5) 100%);
}
@media (min-width: 768px) {
  .ourcoffee-tile-link { height: 200px; margin-bottom: 0; }
  .ourcoffee-tile-link h2 { font-size: 2rem; }
}
@media (min-width: 1112px) {
  .ourcoffee-tile-link { height: 300px; }
  .ourcoffee-tile-link h2 { font-size: 3rem; }
}
@media (min-width: 1440px) { .ourcoffee-tile-link { height: 400px; } }

/* ============================================================
   ARTICLES
============================================================ */
.articles-section { padding: 0 1rem; }
.articles-page .row:after, .articles-page .row:before { display: none; }
.article-tile { overflow: hidden; }
.article-tile h2 a { color: #0D3B6E; }
.article-tile .article-tile-inner { height: 100%; background: #ffffff; }
.article-tile-small { margin-bottom: 0.5rem; }
.article-tile-info { position: relative; padding: 1rem; }
.article-tile-image { width: 100%; display: block; }
.article-tile-date {
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 0.5rem 1.25rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 2.143;
  color: #ffffff;
  background: linear-gradient(135deg, #1565C0 0%, #0D3B6E 100%);
}
a + .article-tile-info .article-tile-date { position: absolute; top: 0; transform: translateY(-50%); }

.title-wrapper { text-align: center; width: 100%; }
.title-wrapper .title-tab {
  display: inline-block; position: relative; margin-bottom: 50px;
  font-size: 3rem; font-weight: 300; line-height: 1.16666; text-align: center;
  color: #0D3B6E;
}
@media (min-width: 768px) {
  .articles-section .row:first-child { display: flex; flex-wrap: wrap; }
  .title-tab:before, .title-tab:after {
    width: 130px; height: 1px; position: absolute; top: 50%;
    background: currentColor; content: '';
  }
  .title-tab:before { right: calc(100% + 32px); }
  .title-tab:after  { left: calc(100% + 32px); }
  .article-tile-image { height: 240px; object-fit: cover; }
  .article-tile-small { align-self: stretch; padding-right: 0.25rem; }
  .article-tile-small.last { padding-right: 0; }
  .article-tile-small + .article-tile-small { padding-left: 0.25rem; }
  .article-tile-large { margin-bottom: 1.5rem; }
  .article-tile-large .article-tile-image { height: 440px; width: 100%; }
}
@media (min-width: 1112px) {
  .articles-section { padding: 0 3rem; }
  .article-tile-large { height: 440px; }
  .article-tile-large .article-tile-info { height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: 2.5rem; }
  .article-tile-large .article-tile-info h2 { margin: 0; }
  .article-tile-large .article-tile-info .article-tile-date {
    position: relative; color: #0B1F3A; background: none;
    transform: none; align-self: flex-start; padding: 0;
  }
  .article-tile-large .article-tile-info .article-tile-date:after {
    display: block; width: 49px; height: 1px; position: absolute;
    left: calc(100% + 12px); bottom: 10px; background: #0B1F3A; content: '';
  }
  .article-tile-image { height: 180px; object-fit: cover; }
  .article-tile-small { margin-bottom: 1rem; padding-right: 0.75rem; }
  .article-tile-small + .article-tile-small { padding-left: 0.75rem; }
  .article-tile-small.last { padding-right: 0; }
  .article-tile-info { padding: 3rem 2.25rem 2.25rem 2.25rem; }
}
@media (min-width: 1440px) {
  .article-tile-large .article-tile-info { padding: 6.25rem; }
  .article-tile-image { height: 221px; }
}

/* Article detail */
.article-detail-page { padding: 3rem 1rem; font-size: 1.2rem; }
.article-detail-page .article-detail { padding: 0 2rem; }
.article-detail-page .article-related-articles .title-tab { font-size: 2rem; margin-bottom: 2rem; font-weight: 600; }
.article-detail-page .article-related-articles .title-tab:before,
.article-detail-page .article-related-articles .title-tab:after { width: 30px; }
.article-detail-page .article-related-articles .title-tab:before { right: calc(100% + 10px); }
.article-detail-page .article-related-articles .title-tab:after  { left:  calc(100% + 10px); }
.article-detail-page .article-related-articles .article-tile { padding-bottom: 1.5rem; }
@media (min-width: 768px) {
  .article-detail-page { padding: 3rem; background: url(../Images/plant-3.png) right top no-repeat; }
}
.article-detail-datetime { margin-bottom: 1rem; }
.article-detail-image { margin-bottom: 1rem; }
.article-detail-content { margin-top: 2rem; }
.article-detail-full-width { margin-top: 35px; }
.article-detail-full-width .article-detail-content { margin-top: 3rem; }
.article-detail-full-width .equal-height { display: flex; flex-wrap: wrap; }
.article-detail-full-width .article-title--align-middle { display: flex; justify-content: center; flex-direction: column; }
@media (min-width: 1112px) {
  .article-detail-full-width .article-detail-image { width: 540px; }
  .article-detail-full-width .article-title--padding { width: 75px; }
  .article-detail-full-width .article-detail-content { margin-left: auto; margin-right: auto; float: none; }
}

/* ============================================================
   CONTACTS PAGE
============================================================ */
.contacts-page { padding: 3rem 1rem; }
@media (min-width: 768px) {
  .contacts-page { padding: 3rem; background: url(../Images/plant-3.png) right top no-repeat; }
}
.contact-info { list-style-type: none; padding: 0; }
.map { height: 400px; }

/* ============================================================
   FORMS
============================================================ */
div.contact-us-form .form-field { margin-bottom: 0.8rem; }
div.contact-us-form .form-field-label { margin-bottom: 0.3rem; }
div.contact-us-form .form-field-label-required:after { content: "*"; color: #D12127; }
div.contact-us-form .input-style { padding: 0.4rem; width: 60%; }
div.contact-us-form .editing-form-control-nested-control input,
div.contact-us-form .editing-form-control-nested-control textarea { padding: 0.4rem; width: 60%; }
div.contact-us-form .editing-form-control-nested-control textarea { width: 100%; height: 6rem; }
div.contact-us-form .field-validation-error { font-weight: bold; color: #D12127; }
div.contact-us-form input[type="submit"] {
  -webkit-appearance: button; padding: 0.6rem 2rem; cursor: pointer;
  color: #ffffff;
  background: linear-gradient(135deg, #1976D2 0%, #0D3B6E 100%);
  border: none; display: inline-block; text-decoration: none;
  text-transform: uppercase; letter-spacing: 2px; font-size: 0.875rem;
}
div.contact-us-form input[type="submit"]:hover {
  background: linear-gradient(135deg, #42A5F5 0%, #1565C0 100%);
}
div.contact-us-form .ktc-file-component-wrapper .ktc-uploader-text {
  max-width: calc(100% - 26px); text-overflow: ellipsis; overflow: hidden;
  vertical-align: bottom; white-space: nowrap; display: inline-block;
}
div.contact-us-form .ktc-file-component-wrapper .ktc-uploader-icon-button {
  font-family: "Core-icons"; font-size: 20px; position: absolute; right: 8px;
  color: #1976D2; line-height: 24px;
}
div.contact-us-form .ktc-file-component-wrapper .ktc-uploader-icon-button[data-icon="select"]::before {
  content: "\e6d3"; cursor: pointer;
}
div.contact-us-form .ktc-file-component-wrapper .ktc-uploader-icon-button[data-icon="loading"]::before {
  content: "\e61a"; display: inline-block; animation: spin 1.2s infinite linear;
}
div.contact-us-form .ktc-file-component-wrapper .ktc-uploader-icon-button[data-icon="remove"] { cursor: pointer; }
div.contact-us-form .ktc-file-component-wrapper .ktc-uploader-icon-button[data-icon="remove"]::before { content: "\e6d0"; }
div.contact-us-form .ktc-file-component-wrapper .ktc-uploader-replacement,
div.contact-us-form .ktc-file-component-wrapper .ktc-uploader-text-button { display: none; }
div.contact-us-form .ktc-file-component-wrapper input[type="file"] { display: none; }
div.contact-us-form .ktc-file-component-wrapper label {
  margin-bottom: 0.8rem; padding: 0.4rem; width: 60%; display: inline-block;
  border: 1px solid #90CAF9; position: relative; cursor: pointer;
}

/* ============================================================
   SIGN-IN / REGISTER
============================================================ */
@media (max-width: 768px) {
  .signin-register .form-group-input input[type="text"],
  .signin-register .form-group-input input[type="password"],
  .signin-register .form-group-input input[type="email"],
  .signin-register .form-group-input textarea { width: 100% !important; }
}
.signin-register .validation-summary-errors ul { margin: 0; list-style-type: none; padding: 0; }
.signin-register .validation-summary-errors ul li {
  color: white !important; display: block; font-weight: bold; text-align: left;
  background-color: #D12127; padding: 10px 12px; margin-top: 0.3rem; margin-bottom: 0.6rem;
}
.signin-register .input-validation-error { border-color: #d12127 !important; }
.signin-register .field-validation-error { color: #d12127; display: block; padding-bottom: 10px; text-align: left; }
.signin-register h2 { margin-top: 0; }
.signin-register .zone-dark {
  background: linear-gradient(180deg, #E3F2FD 0%, #BBDEFB 100%);
  padding: 1rem;
}
.signin-register .zone-light { padding: 1rem; }
.signin-register .separator { line-height: 1em; border-bottom: 2px solid #90CAF9; margin: 1rem 0; }
.signin-register .separator:before {
  position: relative; left: 50%; margin-left: -2rem;
  padding: 0 0.5rem; top: 0.5rem; background: #E3F2FD;
}
.signin-register input[type="submit"] { margin: 0.5rem 0; }
.signin-register input[type="password"],
.signin-register input[type="text"],
.signin-register input[type="email"] {
  height: 2.6rem; margin-top: 0.25rem; padding-left: 0.5rem; padding-right: 0.5rem;
  border: 2px solid #90CAF9;
}
.signin-register .logon-password-retrieval-result {
  color: white; display: block; text-align: left;
  background: linear-gradient(135deg, #1976D2 0%, #00ACC1 100%);
  padding: 10px 12px; margin-bottom: 0.7rem;
}
.signin-register .logon-password-retrieval-result-failed { background-color: #D12127 !important; font-weight: bold; }
.signin-register .EditingFormErrorLabel { color: #D12127; }
.logon-remember-me-checkbox { display: block; }
.logon-remember-me-checkbox input[type="checkbox"] { width: auto; margin-right: 0.15rem; }
.logon-password-retrieval-link {
  background-color: white; display: block; padding: 8px 16px;
  margin: 0 -16px; top: 16px; position: relative;
}

/* ============================================================
   PAGINATION
============================================================ */
.pagination { text-align: center; padding: 0; list-style-type: none; }
.pagination > li { display: inline; }
.pagination > li > a { color: #0D3B6E; padding: 3px 5px; text-decoration: none; }
.pagination > li > a:hover, .pagination > li > a:focus { border-bottom: 2px solid #90CAF9; }
.pagination > li.active {
  color: #1565C0;
  border: 2px solid #1565C0;
  padding: 3px 9px;
}
.pagination > li.PagedList-skipToPrevious > a,
.pagination > li.PagedList-skipToNext > a {
  text-decoration: underline; color: #1565C0; border-bottom: none;
}

/* ============================================================
   SEARCH TILE
============================================================ */
.search-tile { margin-bottom: 3rem; padding: 1rem; }
.search-tile-badge {
  background: linear-gradient(135deg, #1565C0 0%, #0D3B6E 100%);
  display: inline-block; padding: 0 5px; color: #fff;
}
.search-tile-subtitle { padding: 0.5rem 0; }
.search-tile-product-image img { display: block; width: 100%; max-width: 100%; height: auto; }
@media (min-width: 768px) {
  .search-tile-content { padding-left: 1rem; }
  .search-tile-title { margin-top: 0; }
}

/* ============================================================
   MESSAGES & LABELS
============================================================ */
.message, .ErrorLabel, .InfoLabel, .error-label {
  font-weight: bold; margin-top: 0.3rem; margin-bottom: 0.6rem; display: block;
}

/* ============================================================
   RADIO / CHECKBOX CUSTOM CONTROLS
============================================================ */
.radio, .ktc-radio, .checkbox, .ktc-checkbox { display: block; }
.radio label, .ktc-radio label, .checkbox label, .ktc-checkbox label {
  display: inline-block; cursor: pointer; position: relative;
  padding-left: 24px; line-height: 20px; font-weight: normal;
}
.radio label:before, .ktc-radio label:before, .checkbox label:before, .ktc-checkbox label:before,
.radio label:after, .ktc-radio label:after, .checkbox label:after, .ktc-checkbox label:after {
  content: ""; width: 15px; height: 15px; line-height: 16px;
  display: inline-block; box-sizing: border-box; position: absolute;
  left: 0; top: 2px; background-color: #ffffff;
}
.radio label:after, .ktc-radio label:after, .checkbox label:after, .ktc-checkbox label:after {
  background-color: transparent;
}
.radio input, .ktc-radio input, .checkbox input, .ktc-checkbox input {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); border: 0;
}
.radio input[disabled] + label, .ktc-radio input[disabled] + label,
.checkbox input[disabled] + label, .ktc-checkbox input[disabled] + label {
  cursor: not-allowed;
}
.radio input + label:before, .ktc-radio input + label:before,
.checkbox input + label:before, .ktc-checkbox input + label:before,
.radio input + label:after, .ktc-radio input + label:after,
.checkbox input + label:after, .ktc-checkbox input + label:after {
  font-family: "Core-icons"; font-size: 16px;
}
.radio input + label:before, .ktc-radio input + label:before {
  content: "\e6ac"; color: #1976D2;
}
.radio input:checked + label:before, .ktc-radio input:checked + label:before {
  content: "\e6ac"; color: #1565C0;
}
.radio input:checked + label:after, .ktc-radio input:checked + label:after {
  content: "\e6b0"; color: #1976D2;
}
.checkbox input + label:before, .ktc-checkbox input + label:before {
  content: "\e6ad"; color: #1976D2;
}
.checkbox input:checked + label:before, .ktc-checkbox input:checked + label:before {
  content: "\e6b0"; color: #1565C0;
}

/* ============================================================
   ICON FONT
============================================================ */
[class^="icon-"], [class*=" icon-"] {
  font-family: 'Core-icons';
  display: inline-block;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-image: none;
}
[class^="icon-"]:before { content: "\e619"; }
.icon-only:before { content: none; }
/* (All icon codes preserved verbatim from original) */
.icon-dots-vertical:before { content: "\e75d"; }
.icon-chain:before { content: "\e67f"; }
.icon-chain-slash:before { content: "\e691"; }
.icon-list-bullets:before { content: "\e754"; }
.icon-list-numbers:before { content: "\e75b"; }
.icon-eye-slash:before { content: "\e75c"; }
.icon-arrow-u-right:before { content: "\e703"; }
.icon-arrow-u-left:before { content: "\e677"; }
.icon-arrow-down:before { content: "\e682"; }
.icon-arrow-up:before { content: "\e64c"; }
.icon-arrow-left:before { content: "\e6dc"; }
.icon-arrow-right:before { content: "\e6da"; }
.icon-arrow-down-circle:before { content: "\e6ae"; }
.icon-arrow-left-circle:before { content: "\e6af"; }
.icon-arrow-right-circle:before { content: "\e6b1"; }
.icon-arrow-up-circle:before { content: "\e6bf"; }
.icon-magnifier:before { content: "\e657"; }
.icon-magnifier-minus:before { content: "\e656"; }
.icon-magnifier-plus:before { content: "\e655"; }
.icon-minus:before { content: "\e73f"; }
.icon-plus:before { content: "\e62f"; }
.icon-plus-circle:before { content: "\e62e"; }
.icon-plus-square:before { content: "\e62d"; }
.icon-times:before { content: "\e60e"; }
.icon-times-circle:before { content: "\e60d"; }
.icon-check:before { content: "\e676"; }
.icon-check-circle:before { content: "\e675"; }
.icon-chevron-down:before { content: "\e66f"; }
.icon-chevron-up:before { content: "\e667"; }
.icon-chevron-left:before { content: "\e66c"; }
.icon-chevron-right:before { content: "\e669"; }
.icon-chevron-double-left:before { content: "\e672"; }
.icon-chevron-double-right:before { content: "\e671"; }
.icon-chevron-down-circle:before { content: "\e66e"; }
.icon-chevron-up-circle:before { content: "\e666"; }
.icon-chevron-left-circle:before { content: "\e66b"; }
.icon-chevron-right-circle:before { content: "\e67e"; }
.icon-shopping-cart:before { content: "\e6f5"; }
.icon-user:before { content: "\e605"; }
.icon-users:before { content: "\e602"; }
.icon-home:before { content: "\e680"; }
.icon-search:before { content: "\e657"; }
.icon-star-full:before { content: "\e614"; }
.icon-star-semi:before { content: "\e613"; }
.icon-star-empty:before { content: "\e615"; }
.icon-lock:before { content: "\e658"; }
.icon-lock-unlocked:before { content: "\e6ec"; }
.icon-edit:before { content: "\e696"; }
.icon-bin:before { content: "\e6d0"; }
.icon-eye:before { content: "\e692"; }
.icon-spinner:before { content: "\e61a"; }
.icon-menu:before { content: "\e650"; }
.icon-doc:before { content: "\e69f"; }
.icon-folder:before { content: "\e68d"; }
.icon-cogwheel:before { content: "\e6a7"; }
.icon-map-marker:before { content: "\e653"; }
.icon-calendar:before { content: "\e6b9"; }
.icon-cup:before { content: "\e6a2"; }
.icon-brand-twitter:before { content: "\e6c7"; }
.icon-brand-facebook:before { content: "\e6c9"; }
.icon-brand-linkedin:before { content: "\e6e5"; }
.icon-brand-youtube:before { content: "\e659"; }
.icon-external-link:before { content: "\e6d8"; }
.icon-arrow-right-rect:before { content: "\e6d9"; }
.icon-arrow-left-rect:before { content: "\e6db"; }
.icon-crosshair { position: relative; display: inline-block; }
.icon-crosshair:before { content: "\e71b"; color: #fff; position: absolute; left: 0; display: inline-block; }
.icon-crosshair:after { content: "\e71f"; position: absolute; left: 0; display: inline-block; }

/* ============================================================
   FOOTER
============================================================ */
footer,
.site-footer {
  background: linear-gradient(180deg, #0D3B6E 0%, #0B1F3A 100%);
  color: #BBDEFB;
  padding: 3rem 1rem;
}
footer a, .site-footer a { color: #90CAF9; text-decoration: none; }
footer a:hover, .site-footer a:hover { color: #ffffff; text-decoration: underline; }
footer h4, footer h5, .site-footer h4, .site-footer h5 { color: #E3F2FD; }
.footer-nav ul { list-style: none; padding: 0; }
.footer-nav ul li { margin-bottom: 0.4rem; }
.footer-social a {
  display: inline-block;
  margin-right: 0.75rem;
  color: #90CAF9;
  font-size: 1.25rem;
  transition: color 0.2s;
}
.footer-social a:hover { color: #42A5F5; }
.footer-divider {
  border: none;
  border-top: 1px solid rgba(144,202,249,0.2);
  margin: 2rem 0;
}

/* ============================================================
   MANUFACTURER LIST
============================================================ */
.manufacturer-list { height: 80px; }
.manufacturer-list .manufacturer-item { height: 80px; position: relative; }
.manufacturer-list .manufacturer-item a { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }

/* ============================================================
   BREADCRUMBS
============================================================ */
.breadcrumbs .arrow { padding-left: 20px; padding-right: 10px; }
.breadcrumbs a { text-decoration: none; color: #1565C0; }
.breadcrumbs a:hover, .breadcrumbs a:active { color: #0D3B6E; text-decoration: none; }

/* ============================================================
   MAP
============================================================ */
.map { height: 400px; }

/* ============================================================
   NOT FOUND
============================================================ */
@media (min-width: 768px) { .not-found-content { margin-left: 1rem; } }

/* ============================================================
   GLIMPSE
============================================================ */
.glimpse > .glimpse-nowrap { z-index: 20000; }

/* ============================================================
   ZONE DARK/LIGHT
============================================================ */
.zone-dark {
  background: linear-gradient(180deg, #E3F2FD 0%, #BBDEFB 100%);
  padding: 1rem;
}
.zone-light { padding: 1rem; background: #ffffff; }

/* ============================================================
   BLUE GRADIENT ACCENT BLOCKS (unique to this theme)
============================================================ */

/* Ice section — soft contrast section */
.section-ice {
  background: linear-gradient(180deg, #E3F2FD 0%, #BBDEFB 60%, #90CAF9 100%);
  padding: 3rem 1rem;
  color: #0B1F3A;
}

/* Deep blue section */
.section-deep {
  background: linear-gradient(135deg, #0B1F3A 0%, #0D3B6E 50%, #1565C0 100%);
  padding: 3rem 1rem;
  color: #ffffff;
}

/* Mid blue section */
.section-mid {
  background: linear-gradient(135deg, #1565C0 0%, #1976D2 50%, #42A5F5 100%);
  padding: 3rem 1rem;
  color: #ffffff;
}

/* Frost strip */
.section-frost {
  background: linear-gradient(90deg, #BBDEFB 0%, #E3F2FD 100%);
  padding: 2rem 1rem;
  color: #0D3B6E;
}

/* Diagonal hero gradient card */
.card-gradient {
  background: linear-gradient(135deg, #1976D2 0%, #0D3B6E 100%);
  color: #ffffff;
  border-radius: 2px;
  padding: 2rem;
  box-shadow: 0 4px 20px rgba(13,59,110,0.25);
}

/* Teal accent strip */
.accent-teal {
  background: linear-gradient(90deg, #00ACC1 0%, #1976D2 100%);
  color: #ffffff;
  padding: 1rem 2rem;
}

/* Blue badge */
.badge-blue {
  background: linear-gradient(135deg, #1565C0 0%, #0D3B6E 100%);
  color: #ffffff;
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Highlight box */
.highlight-box {
  border-left: 4px solid #1976D2;
  background: linear-gradient(90deg, #E3F2FD 0%, #ffffff 100%);
  padding: 1rem 1.5rem;
  margin: 1rem 0;
  color: #0B1F3A;
}

/* Quote block */
blockquote.dg-quote {
  border-left: 4px solid #42A5F5;
  background: linear-gradient(90deg, #BBDEFB 0%, #E3F2FD 100%);
  padding: 1.5rem 2rem;
  font-style: italic;
  color: #0D3B6E;
  margin: 1.5rem 0;
}

/* Progress / loading bar */
.progress-bar-blue {
  height: 4px;
  background: linear-gradient(90deg, #42A5F5 0%, #1565C0 50%, #0B1F3A 100%);
  border-radius: 2px;
}

/* ============================================================
   RESPONSIVE HELPERS
============================================================ */
@media (max-width: 768px) {
  h1, .h1 { font-size: 2.5rem; }
  h2, .h2 { font-size: 2rem; }
}
