/**
 * gtsai_lens template.css
 * Joomla 5 port of JA Lens 1.0.6 (JoomlArt "Elastica" series, 2012-2013).
 * Sources merged: reset.css, layout.css, core.css, navigation.css, modules.css, template.css,
 * the tag/article parts of k2.css. The popup preview, iScroll, theme switcher and
 * Joomla 3 fixes (template-j30.css) were dropped. Responsive rules live in responsive.css.
 */

/* FONT
--------------------------------------------------------- */
@font-face {
  font-family: 'MontserratRegular';
  src: url('../fonts/montserrat-regular-webfont.woff') format('woff'),
       url('../fonts/montserrat-regular-webfont.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* RESET (Eric Meyer, as modified by JoomlArt)
--------------------------------------------------------- */
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 {
  border: 0;
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:focus {
  outline: none;
}

:focus-visible {
  outline: 2px solid #5b5fff;
  outline-offset: 2px;
}

/* COMMON GRID ELEMENTS (layout.css)
--------------------------------------------------------- */
.wrap {
  clear: both;
  width: 100%;
  padding: 20px 0;
  background: #1a1a1a;
}

.main {
  margin: 0 auto;
  width: 960px;
}

.inner {
  padding: 15px;
}

.content-inner,
.right-inner,
.menu-inner,
.search-inner,
.toolbar-inner,
.moduletable-inner {
  padding: 0;
}

*, *:before, *:after {
  box-sizing: border-box;
}

/* MAIN CONTAINER ---*/
#container {
  padding: 10px 0 0;
  background: #ddd;
}

body.layoutview #container,
body.bd-home #container {
  padding: 20px 0 0;
}

body.layoutview #container {
  background: #1a1a1a;
}

body.layoutview #container .main {
  width: 100%;
}

#container .main {
  position: relative;
  z-index: 1;
}

#header {
  padding: 0;
}

#header .main {
  width: 960px;
}

#slideshow {
  padding: 0;
}

#slideshow .main {
  width: 100%;
  overflow: hidden;
}

#content {
  margin-bottom: 10px;
}

body.has-right #content {
  float: left;
  width: 75%;
}

body.layoutview #content {
  width: 100% !important;
  margin-bottom: 0;
}

#right {
  float: right;
  width: 25%;
  margin-bottom: 10px;
}

#botsl .main-inner1 {
  margin: 0 -20px;
}

#botsl .ja-box {
  float: left;
}

#botsl .ja-box .moduletable {
  margin: 0 20px;
}

.clr { clear: both; }

/* CORE (core.css)
--------------------------------------------------------- */
body {
  background: #ddd;
  color: #888;
  font-family: Arial, sans-serif;
  font-size: 12px;
  line-height: 1.6;
}

a {
  color: #5b5fff;
  text-decoration: none;
  transition: background 0s ease 0s, color 0.2s linear 0s;
}

a:hover, a:active, a:focus {
  color: #222;
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  line-height: 1.2;
  text-rendering: optimizelegibility;
  font-family: 'MontserratRegular', sans-serif;
}

h1 { font-size: 185%; }
h2 { font-size: 150%; }
h3 { font-size: 125%; }
h4 { font-size: 100%; text-transform: uppercase; }
h5 { font-size: 100%; }

small, .small { font-size: 92%; }

ul { list-style: none; }

.container-main ul li {
  background: url(../images/arround.png) no-repeat 0 10px;
  margin-top: 2px;
  padding: 3px 0 3px 15px;
}

.container-main ul li:first-child { margin-top: 0; }

.container-main ul li a { color: #666; }

.container-main ul li a:hover,
.container-main ul li a:focus,
.container-main ul li a:active { color: #5b5fff; }

/* lists that must not get the arrow bullet */
.container-main .masonry ul li,
.container-main .item-tags ul li,
.container-main .itemTags li,
.container-main .pagination li,
.container-main .breadcrumb li,
.container-main .mod-menu li,
.container-main .sigplus-gallery li,
.container-main .sigplus-list li,
.container-main .sigplus-pager li,
.container-main ul.slideplus li,
.container-main ul.boxplusx li,
.container-main .com-finder ul li,
.container-main .com-tags ul li {
  background: none;
  padding-left: 0;
}

dt {
  font-weight: bold;
  float: left;
  margin-right: 5px;
}

img { max-width: 100%; height: auto; }

img[align=left] { margin: 0 20px 0 0; }
img[align=right] { margin: 0 0 0 20px; }

hr { border-top: 1px solid #ccc; }

::selection { background: #5b5fff; color: #fff; }

.content-inner p, .content-inner pre, .content-inner blockquote,
.content-inner h1, .content-inner h2, .content-inner h3, .content-inner h4, .content-inner h5, .content-inner h6,
.content-inner ol, .content-inner ul, .content-inner dl {
  margin: 15px 0;
}

.content-inner .masonry *,
.content-inner .item-tags * {
  margin-top: 0;
  margin-bottom: 0;
}

/* Tables ---*/
td {
  border-bottom: 1px solid #e5e5e5;
  font-size: 100%;
  padding: 5px 10px;
}

th {
  background: #333;
  color: #fff;
  font-weight: bold;
  padding: 10px;
  text-align: left;
}

th a, th a:hover, th a:focus, th a:active { color: #fff; }

table.contentpane,
table.category,
table.blog { width: 100%; }

/* Forms ---*/
label {
  cursor: pointer;
  margin-right: 10px;
}

input, select, button, textarea {
  font-family: inherit;
  font-size: 100%;
  transition: all 0.2s ease 0s;
}

textarea,
select,
input[type=text],
input[type=password],
input[type=email],
input[type=search],
input[type=url],
input[type=tel],
input[type=number],
.inputbox,
.form-control {
  background: #fff;
  border: 1px solid #ddd;
  color: #666;
  line-height: normal;
  margin: 0;
  padding: 5px;
  border-radius: 0;
}

textarea {
  color: #333;
  overflow: auto;
  vertical-align: top;
  min-height: 120px;
  width: 100%;
}

textarea:hover, textarea:focus,
input[type=text]:hover, input[type=text]:focus,
input[type=password]:hover, input[type=password]:focus,
input[type=email]:hover, input[type=email]:focus,
input[type=search]:hover, input[type=search]:focus,
.inputbox:hover, .inputbox:focus,
.form-control:hover, .form-control:focus {
  border-color: #5b5fff;
  box-shadow: none;
}

input[type=submit],
.button,
button,
.btn {
  border: none;
  color: #fff;
  line-height: normal;
  margin: 0;
  padding: 5px 8px;
  display: inline-block;
  overflow: visible;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: url(../images/trans-grad-black-20.png) repeat-x center #222;
  text-transform: none;
  cursor: pointer;
}

input[type=submit]:hover, input[type=submit]:focus,
.button:hover, .button:focus,
button:hover, button:focus,
.btn:hover, .btn:focus {
  border: none;
  color: #fff;
  background: url(../images/trans-grad-black-20.png) repeat-x center #5b5fff;
}

.invalid, input.invalid { border-color: #ff0000; }

input[type=checkbox],
input[type=radio] {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  width: auto !important;
  border: none !important;
  background: none !important;
}

fieldset { border: none; }

legend {
  font-size: 125%;
  font-weight: bold;
  line-height: 1.2;
}

.star, .required-star { color: #c00; }

/* Generic ---*/
.clearfix:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  visibility: hidden;
}

.left { float: left; }
.right { float: right; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* System messages (Joomla 5 joomla-alert) ---*/
/* only when it holds a message: an empty box's margin would collapse through #container
   and show the body background as a light strip under the wall */
#system-message-container:not(:empty) {
  margin: 0 0 15px;
}

joomla-alert, .alert {
  display: block;
  background: #fff;
  border-left: 5px solid #5b5fff;
  color: #333;
  padding: 10px 15px;
  margin: 10px 0;
}

.alert-danger, .alert-error, joomla-alert[type="danger"], joomla-alert[type="error"] { border-left-color: #c00; }
.alert-warning, joomla-alert[type="warning"] { border-left-color: #e8a300; }
.alert-success, joomla-alert[type="success"] { border-left-color: #4caf50; }

/* MAIN NAV (navigation.css, Joomla 5 mod_menu markup)
--------------------------------------------------------- */
#mainnav {
  right: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

#mainnav .menu-inner {
  position: absolute;
  right: 0;
  width: 900px;
}

#mainnav ul.menu,
#mainnav ul.mod-menu {
  float: right;
  margin: 0;
  padding: 0;
  list-style: none;
}

#mainnav ul.mod-menu li {
  margin: 0;
  padding: 0;
  background: none;
}

#mainnav ul.mod-menu > li {
  border-right: 1px solid #2a2a2a;
  display: inline-block;
  position: relative;
}

#mainnav ul.mod-menu > li:first-child {
  border-left: 1px solid #2a2a2a;
}

#mainnav ul.mod-menu > li > a,
#mainnav ul.mod-menu > li > span.separator,
#mainnav ul.mod-menu > li > span.nav-header {
  color: #888;
  display: block;
  float: left;
  height: 60px;
  line-height: 60px;
  padding: 0 20px;
  text-transform: uppercase;
  font-family: 'MontserratRegular', sans-serif;
  white-space: nowrap;
}

#mainnav ul.mod-menu > li:hover > a,
#mainnav ul.mod-menu > li > a:hover,
#mainnav ul.mod-menu > li > a:active,
#mainnav ul.mod-menu > li > a:focus {
  background-color: #000;
  color: #5b5fff;
  text-decoration: none;
}

#mainnav ul.mod-menu > li.active > a,
#mainnav ul.mod-menu > li.current > a {
  color: #fff;
}

/* 2nd level ---*/
#mainnav ul.mod-menu > li.deeper > ul,
#mainnav ul.mod-menu > li.parent > ul {
  background: #fff;
  border-bottom: 5px solid #000;
  left: -999em;
  max-width: 420px;
  min-width: 180px;
  position: absolute;
  width: auto;
  padding: 10px 0;
  margin: 0;
  top: 60px;
  z-index: 30;
}

#mainnav ul.mod-menu > li.deeper:hover > ul,
#mainnav ul.mod-menu > li.deeper:focus-within > ul,
#mainnav ul.mod-menu > li.parent:hover > ul,
#mainnav ul.mod-menu > li.parent:focus-within > ul {
  left: 0;
}

#mainnav ul.mod-menu > li.deeper > ul:before,
#mainnav ul.mod-menu > li.parent > ul:before {
  content: "";
  border-left: 0 solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #fff;
  position: absolute;
  top: -10px;
  left: 0;
}

#mainnav ul.mod-menu ul li {
  float: none;
  list-style: none;
}

#mainnav ul.mod-menu ul li a,
#mainnav ul.mod-menu ul li span {
  color: #666;
  display: block;
  height: 30px;
  line-height: 30px;
  max-width: 420px;
  padding: 0 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  text-transform: uppercase;
  font-size: 80%;
}

#mainnav ul.mod-menu ul li.active > a,
#mainnav ul.mod-menu ul li.current > a,
#mainnav ul.mod-menu ul li a:hover,
#mainnav ul.mod-menu ul li a:active,
#mainnav ul.mod-menu ul li a:focus {
  color: #5b5fff;
  text-decoration: none;
}

/* 3rd level ---*/
#mainnav ul.mod-menu ul ul {
  left: -999em;
  position: absolute;
  top: 0;
  background: #fff;
  border-bottom: 5px solid #000;
  min-width: 180px;
  padding: 10px 0;
}

#mainnav ul.mod-menu ul li:hover > ul,
#mainnav ul.mod-menu ul li:focus-within > ul {
  left: 100%;
}

/* MODULES (modules.css)
--------------------------------------------------------- */
.moduletable {
  position: relative;
}

.moduletable-inner {
  background: #fff;
  margin: 5px;
  padding: 0;
}

.moduletable .moduletable-inner > h3,
.moduletable .moduletable-inner > h4 {
  color: #222;
  font-size: 125%;
  font-weight: 400;
  text-transform: uppercase;
  font-family: 'MontserratRegular', sans-serif;
  margin: 0 0 0.5em;
  padding: 0;
}

.dark .moduletable-inner,
.moduletable.dark .moduletable-inner,
.moduletabledark .moduletable-inner,
.moduletable_menu.dark .moduletable-inner {
  background: #111;
  color: #666;
}

.dark .moduletable-inner > h3,
.moduletabledark .moduletable-inner > h3 { color: #fff; }

.pink .moduletable-inner,
.moduletablepink .moduletable-inner {
  background: #5b5fff;
  color: #ffcede;
}

div.pink .ja-innerdiv,
div.moduletablepink .ja-innerdiv {
  border-bottom: solid 1px #e55986;
}

.moduletable .box-ct { padding: 0; }

.moduletable p { margin: 20px 0; }

.moduletable_menu ul li {
  background: none;
  padding: 15px 0;
  border-bottom: solid 1px #1a1a1a;
}

.moduletable_menu ul li a {
  text-transform: uppercase;
  color: #666;
  font-family: 'MontserratRegular', sans-serif;
}

.moduletable_menu ul li a:hover,
.moduletable_menu ul li a:focus,
.moduletable_menu ul li a:active { color: #fff; }

.moduletable-inner img.about {
  float: left;
  margin-right: 15px;
}

/* Login module (Joomla 5 markup) ---*/
.mod-login p, .mod-login .mod-login__username, .mod-login .mod-login__password { margin: 0 0 5px; }
.mod-login label { display: block; }
.mod-login .input-group { display: flex; }
.mod-login .input-group .form-control { flex: 1 1 auto; }

/* GENERIC CONTENT STYLE (template.css)
--------------------------------------------------------- */
button:hover, .button:hover,
button:focus, .button:focus {
  cursor: pointer;
}

/* Content Title: sits in the toolbar strip through a negative margin ---*/
h1.componentheading,
.componentheading,
.content-inner div > h1,
.content-inner .page-header > h1 {
  font-size: 400%;
  color: #333;
  font-family: 'MontserratRegular', sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  width: 960px;
  margin: -117px auto 60px -20px;
  line-height: 1.6;
}

body.k2-component .componentheading,
body.k2-component .content-inner .page-header > h1 {
  margin: -97px auto 20px;
}

body.layoutview .componentheading,
body.layoutview .content-inner .page-header > h1 {
  margin: -97px auto 0;
}

body.no-toolbar .componentheading,
body.no-toolbar .content-inner .page-header > h1 {
  margin: 0 0 20px;
  width: auto;
  font-size: 250%;
}

.content-inner div > h2,
.tag-category h3 {
  padding-top: 15px;
  color: #000;
  font-weight: normal;
  text-transform: uppercase;
  margin-top: 0;
}

.content-inner div > h2 a,
.tag-category h3 a { color: #000; }

.content-inner div > h2 a:hover,
.content-inner div > h2 a:focus,
.content-inner div > h2 a:active,
.tag-category h3 a:hover,
.tag-category h3 a:focus,
.tag-category h3 a:active { color: #5b5fff; }

/* Content Meta ---*/
.article-info,
.article-hit {
  color: #666;
  font-size: 100%;
}

.article-info {
  display: block;
  overflow: hidden;
  width: auto;
}

.article-info a { color: #5b5fff; }

.article-info a:hover,
.article-info a:active,
.article-info a:focus { color: #333; }

.article-info .article-info-term { display: none; }

.article-info dd {
  display: block;
  float: left;
  margin-right: 10px;
}

/* Content Image ---*/
.img-intro-none, .img-intro-left, .img-intro-right,
.img-fulltext-none, .img-fulltext-left, .img-fulltext-right,
.img_caption, figure.item-image, figure.float-start, figure.float-end, figure.float-none {
  position: relative;
}

.img-intro-none, .img-intro-left, .img-intro-right,
.img-fulltext-none, .img-fulltext-left, .img-fulltext-right,
figure.item-image {
  margin-bottom: 15px;
  max-width: 100%;
}

.img-fulltext-left, figure.float-start { float: left; margin-right: 20px; }
.img-fulltext-right, figure.float-end { float: right; margin-left: 20px; }

.img-intro-none img, .img-intro-left img, .img-intro-right img,
.img-fulltext-none img, .img-fulltext-left img, .img-fulltext-right img,
figure.item-image img { margin: 0; }

p.img_caption, figure.item-image figcaption {
  background: #333;
  bottom: 0;
  color: #fff;
  font-size: 92%;
  line-height: 1.5;
  margin: 0 !important;
  opacity: .7;
  padding: 5px !important;
  position: absolute;
  text-align: center;
  width: 100%;
}

/* Content Actions ---*/
ul.actions {
  float: right;
  margin: 0 !important;
  padding: 0;
}

ul.actions li {
  background: none;
  display: inline;
  line-height: 1;
  margin: 0;
  padding: 0;
  float: left;
}

/* Read more ---*/
p.readmore a,
.readmore a,
a.readmore {
  border: none;
  color: #fff;
  line-height: normal;
  margin: 0;
  padding: 5px 8px;
  display: inline-block;
  overflow: visible;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: url(../images/trans-grad-black-20.png) repeat-x center #2a2a2a;
}

p.readmore a:hover,
p.readmore a:focus,
.readmore a:hover,
.readmore a:focus {
  border: none;
  color: #fff;
  background: url(../images/trans-grad-black-20.png) repeat-x center #5b5fff;
}

/* WALL (masonry)
--------------------------------------------------------- */
#masonry-container {
  background: #1a1a1a;
}

/* Grid mode: CSS grid of fixed-height tiles (what the live site shows). */
.masonry {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--lens-tile-width, 270px), 1fr));
  grid-auto-rows: var(--lens-tile-height, 160px);
  grid-auto-flow: dense;
  transition: height 0.7s;
}

.masonry .item {
  position: relative;
  display: block;
  max-width: 100%;
  background: #000;
  color: #fff;
  overflow: hidden;
  min-width: 0;
}

.masonry .item.grid-double { grid-column: span 2; }
.masonry .item.grid-trible,
.masonry .item.grid-triple { grid-column: span 3; }

.masonry .item .item-inner {
  position: relative;
  height: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.masonry .item .item-main {
  padding: 20px 20px 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}

.masonry .item .item-main .item-content,
.masonry .item .item-links,
.masonry .item .article-info > *,
.masonry .item .article-hit { display: none; }

.masonry .item .article-info .category-name {
  display: block;
  font-size: 92%;
  letter-spacing: 1px;
  width: 100%;
  font-weight: normal;
}

/* Item IMG ---*/
.masonry .item .item-image { margin: 0; height: 100%; }

.masonry .item .item-image a { display: block; height: 100%; }

.masonry .item .item-image img {
  width: 100% !important;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.5s;
}

.masonry .item:hover .item-image img,
.masonry .item:focus-within .item-image img {
  opacity: 0.1;
}

.item.no-image .item-image { display: none; }

/* Item Title ---*/
.masonry .item .header h2 {
  font-size: 200%;
  margin-bottom: 5px;
  margin-top: 0;
  display: block;
  text-align: center;
}

.masonry .item .header h2 a {
  color: #fff;
  text-decoration: none;
  display: block;
  text-overflow: ellipsis;
  overflow: hidden;
}

.item:hover h2 a,
.item:focus-within h2 a { color: #5b5fff; }

.masonry .item .header { margin-bottom: 10px; }

.masonry .item .header .article-info {
  margin: 0;
  display: block;
  text-align: center;
}

.masonry .item .article-info { color: #999; }

.masonry .item .article-info a:hover,
.masonry .item .article-info a:focus { color: #fff; }

.masonry .item .content p { margin-top: 0; }

/* Item Footer: the "More" link covers the whole tile on hover ---*/
.masonry .item .footer > * { display: none; }

.masonry .item:hover .footer > p.readmore,
.masonry .item:focus-within .footer > p.readmore { display: block; }

.masonry .item:hover .footer > p.readmore a,
.masonry .item:focus-within .footer > p.readmore a {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background: none;
  text-indent: -9999em;
  padding: 0;
  border: 0;
  z-index: 3;
}

/* Featured flag ---*/
.masonry .item .header sup,
.masonry .item .item-title sup {
  font-size: 10px;
  color: #cf1919;
}

/* Wall pages: tiles show only the image until hovered ---*/
body.layoutview .item-inner { border-width: 0; margin: 0; }

body.layoutview .item-main,
body.layoutview .item-image p.img_caption { display: none; }

body.layoutview .item:hover .item-main,
body.layoutview .item:focus-within .item-main { display: block; }

body.layoutview .item.no-image { display: none !important; }

/* Year tiles ---*/
.masonry .item-timeline {
  background-color: #1a1a1a;
  background-image: url(../images/readmore-pattern.png);
}

.masonry .item-timeline .item-inner {
  color: #888;
  padding: 20px;
}

.masonry .item-timeline .item-inner h2 {
  margin: 0 10px 0 0;
  color: #fff;
  padding-top: 0;
  font-size: 200%;
}

.masonry .item-timeline .item-inner p {
  margin: 0;
  font-size: 92%;
  letter-spacing: 1px;
}

body.layout-g .masonry .item-timeline .item-inner { padding: 100px 20px 20px; }

/* Load more tile (a sibling below the grid, so it never claims a full tile row) ---*/
/* safety net for cached pages that still carry the tile inside the grid: span the full row */
.masonry > .item-more { grid-column: 1 / -1; }


.item-more {
  cursor: pointer;
  width: 100% !important;
  height: 60px !important;
  background: #000;
  color: #fff;
  position: relative;
  margin: 0;
  padding: 0;
}

.item-more:hover,
.item-more:focus-within { background: #5b5fff; }

.item-more .item-inner {
  margin: 0 auto !important; /* body.layoutview .item-inner would zero the margin and push it left */
  position: relative;
  text-align: center;
  width: 420px;
  max-width: 100%;
  height: 60px;
  padding: 0;
}

.item-more .item-inner h3,
.item-more .item-inner button {
  margin: 0;
  height: 60px !important;
  line-height: 60px !important;
  text-transform: uppercase;
  font-weight: normal;
  color: #898989;
  background: none;
  padding: 0;
  width: 100%;
  font-family: 'MontserratRegular', sans-serif;
  font-size: 125%;
}

.item-more:hover .item-inner h3,
.item-more:hover .item-inner button,
.item-more .item-inner button:focus { color: #fff; }

.item-more.is-loading .item-inner button {
  background: url(../images/loader.gif) no-repeat 10px center;
}

.item-more.is-done { cursor: default; }
.item-more.is-done:hover { background: #000; }

#page-nav { display: none; }

/* Fallback pagination when the load-more tile is off ---*/
.wall-pagination {
  background: #000;
  padding: 15px 20px;
  text-align: center;
}

.wall-pagination ul.pagination,
.pagination {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  gap: 5px;
}

.pagination li { background: none; padding: 0; margin: 0; }

.pagination li a,
.pagination li span,
.pagination .page-link {
  display: inline-block;
  padding: 5px 10px;
  background: #2a2a2a;
  color: #ccc;
  border: 0;
  text-transform: uppercase;
  font-size: 92%;
}

.pagination li a:hover,
.pagination .active .page-link,
.pagination .page-link:hover { background: #5b5fff; color: #fff; }

.pagination .disabled .page-link { color: #666; }

.counter { color: #888; margin: 10px 0 0; text-align: center; }

/* Linear mode: tiles keep their natural height, packed with Masonry (lens.js) ---*/
body.layout-l .masonry {
  display: block;
  position: relative;
}

body.layout-l .masonry .item {
  position: absolute;
  width: var(--lens-tile-width, 270px);
  overflow: hidden;
}

body.layout-l .masonry .item .item-inner { height: auto; }

body.layout-l .masonry .item .item-image,
body.layout-l .masonry .item .item-image a { height: auto; }

body.layout-l .masonry .item .item-image img { height: auto; }

body.layout-l .masonry .item-timeline {
  width: 100% !important;
  height: auto !important;
}

body.layout-l .masonry .item-timeline h2,
body.layout-l .masonry .item-timeline p {
  display: inline;
  margin-top: 0;
  margin-bottom: 0;
}

body.layout-l .masonry.is-packing .item { visibility: hidden; }

/* ITEM PAGE (article view; K2 "BlogView" look from k2.css)
--------------------------------------------------------- */
.itemView {
  position: relative;
  padding: 20px;
  background: #fff;
  color: #666;
}

.itemView .itemImageBlock {
  margin: -20px -20px 20px;
}

.itemView .itemImageBlock img {
  width: 100%;
  display: block;
}

.itemView .itemImageCaption {
  display: block;
  padding: 5px 20px;
  background: #333;
  color: #fff;
  font-size: 92%;
}

.itemView h2.itemTitle {
  font-size: 150%;
  margin: 0 0 15px;
  color: #222;
  text-transform: uppercase;
  font-weight: normal;
}

.itemView h2.itemTitle a { color: #222; }
.itemView h2.itemTitle a:hover { color: #5b5fff; }

.itemView h2.itemTitle sup {
  font-size: 12px;
  color: #cf1919;
}

.itemView .article-info {
  margin-bottom: 10px;
  padding-left: 0;
  border-bottom: solid 1px #ddd;
  overflow: visible;
}

.itemView .article-info span {
  margin: 0 20px 15px 0;
  display: inline-block;
}

.itemView .article-info label { margin-right: 3px; }

.itemView .article-info a { color: #5b5fff; }

.itemView .article-info a:hover,
.itemView .article-info a:focus,
.itemView .article-info a:active { color: #333; }

.itemView .itemBody {
  font-size: 110%;
  color: #333;
}

.itemView .itemBody img { max-width: 100%; height: auto; }

.itemView .itemBody iframe { max-width: 100%; }

.itemView .itemFullText p,
.itemView .itemIntroText p { margin: 15px 0; }

.itemView .itemLinks {
  margin: 20px 0 0;
  padding-top: 10px;
  border-top: 1px solid #e5e5e5;
}

.itemView .itemDateModified {
  display: block;
  color: #999;
  font-size: 92%;
  margin: 15px 0 0;
}

.itemView .itemNavigation {
  margin-top: 20px;
  padding-top: 10px;
  border-top: 1px solid #e5e5e5;
  overflow: hidden;
}

.itemView .itemNavigation a { color: #5b5fff; }
.itemView .itemNavigation .next { float: right; }

/* Tags (k2.css .item-tags) ---*/
.item-tags,
div.itemTagsBlock { overflow: hidden; }

.item-tags strong,
div.itemTagsBlock span.label {
  display: block;
  float: left;
  font-weight: bold;
  padding: 5px 0;
  position: relative;
  line-height: 13px;
  margin-right: 3px;
}

.item-tags ul,
div.itemTagsBlock ul.itemTags,
ul.tags {
  display: inline-block;
  padding: 0;
  list-style: none;
  margin: 0;
}

.item-tags ul li,
div.itemTagsBlock ul.itemTags li,
ul.tags li {
  display: inline-block;
  margin: 0;
  padding: 2px;
  background: none;
}

.item-tags ul li a,
div.itemTagsBlock ul.itemTags li a,
ul.tags li a,
ul.tags .tag-list .badge,
ul.tags a.badge {
  color: #5b5fff;
  background: none;
  font-weight: normal;
  font-size: 100%;
  padding: 0;
  border-radius: 0;
}

.item-tags ul li a:hover,
div.itemTagsBlock ul.itemTags li a:hover,
ul.tags li a:hover { color: #333; }

ul.tags li a:after, .item-tags ul li a:after, div.itemTagsBlock ul.itemTags li a:after { content: ","; color: #999; }
ul.tags li:last-child a:after, .item-tags ul li:last-child a:after, div.itemTagsBlock ul.itemTags li:last-child a:after { content: ""; }

/* Generic (core) article page, contact, search, login: white box ---*/
.item-page,
.com-content-article,
.com-contact,
.com-finder,
.com-users,
.com-tags,
.com-content-category,
.com-content-featured,
.com-content-archive,
.com-content-form,
.com-users-login,
.com-osmap,
.osmap-items {
  color: #666;
}

.item-page > h2,
.com-content-article .page-header h2 {
  font-size: 200%;
  margin-top: 0;
}

.item-page .link-media { margin-bottom: 10px; }

.item-page:not(.itemView) .article-info {
  float: left;
  width: 80%;
  margin: 0;
}

.item-page .content { font-size: 110%; }

.com-content-article__body,
.com-content-article .article-info-term { font-size: 110%; }

/* Contact (Joomla 5 markup) ---*/
.com-contact .contact-name, .com-contact h2 { font-size: 150%; text-transform: uppercase; font-weight: normal; }
.com-contact .contact-address, .com-contact address { margin: 15px 0; font-style: normal; }
.com-contact dl.contact-address dt, .com-contact dl dt { float: none; font-weight: bold; }
.com-contact .contact-form, .com-contact .contact-miscinfo { margin-top: 20px; }
.com-contact .control-group, .com-contact .mb-3 { margin-bottom: 15px; }
.com-contact .control-label, .com-contact .form-label { display: block; margin-bottom: 5px; }
.com-contact .form-control { width: 100%; max-width: 480px; }
.com-contact .form-check { margin: 10px 0; }
.com-contact .accordion, .com-contact .tab-content { margin-top: 15px; }
.com-contact .nav-tabs { display: flex; gap: 0; list-style: none; border-bottom: 1px solid #ddd; margin: 0 0 15px; padding: 0; }
.com-contact .nav-tabs li { background: none; padding: 0; margin: 0; }
.com-contact .nav-tabs a, .com-contact .nav-tabs button { display: block; padding: 8px 15px; color: #666; background: none; border: 0; text-transform: uppercase; }
.com-contact .nav-tabs .active a, .com-contact .nav-tabs .active button, .com-contact .nav-tabs button.active { color: #5b5fff; border-bottom: 2px solid #5b5fff; }
.com-contact .tab-pane { display: none; }
.com-contact .tab-pane.active { display: block; }

/* Smart Search (Joomla 5 markup) ---*/
.com-finder .mod-finder__search, .mod-finder .input-group { display: flex; max-width: 480px; }
.com-finder .result-title { font-size: 125%; margin: 20px 0 5px; text-transform: uppercase; }
.com-finder .result-title a { color: #222; }
.com-finder .result-title a:hover { color: #5b5fff; }
.com-finder .result-text { margin: 0; }
.com-finder .result-url { color: #999; font-size: 92%; margin: 5px 0 0; }
.com-finder .search-results { margin: 20px 0 0; }
.com-finder .search-results > li { background: none; padding: 0 0 15px; margin: 0 0 15px; border-bottom: 1px solid #e5e5e5; }
.com-finder .search-query-explained { color: #999; }
.com-finder .filters-wrapper, .com-finder .js-finder-filters { margin: 15px 0; }

/* Login (Joomla 5 markup) ---*/
.com-users-login__form .control-group, .com-users-login__form .mb-3 { margin-bottom: 15px; }
.com-users-login__form label { display: block; margin-bottom: 5px; }
.com-users-login__options { margin-top: 15px; }

/* Category / list fallbacks ---*/
.category-desc { margin-bottom: 20px; }

/* Error / offline pages ---*/
.error-box {
  color: #ccc;
  text-align: center;
  padding: 40px 20px;
}

.error-box .error-code {
  font-size: 800%;
  color: #5b5fff;
  margin: 0;
  line-height: 1;
}

.error-box h2 { color: #fff; font-weight: normal; margin: 20px 0; }
.error-box form { max-width: 320px; margin: 0 auto; text-align: left; }
.error-box form label { display: block; color: #ccc; }
.error-box form .inputbox { width: 100%; }
.error-debug { text-align: left; color: #999; font-size: 92%; margin: 20px 0; overflow: auto; }

/* HEADER
--------------------------------------------------------- */
#header {
  color: #ccc;
  height: 59px;
  border-bottom: 1px solid #2a2a2a;
}

#header .main {
  position: relative;
  z-index: 10;
}

#logo {
  float: left;
  position: relative;
  width: 60px;
  height: 60px;
  background: none;
  z-index: 20;
}

#logo h1 {
  height: 60px;
  width: 60px;
  background: transparent; /* was the JA Lens blue square */
  margin: 0;
}

#logo h1 a {
  color: #fff;
  padding-left: 0;
  width: 60px;
  height: 60px;
  line-height: 60px;
  background: url(../images/logo.png) no-repeat center center; /* 120x120 smiley, shown at 54px */
  background-size: 54px 54px;
  display: block;
  font-size: 0;
  text-indent: -9999em;
}

#logo h1 a:hover {
  animation: lens-rotate 10s linear infinite;
}

@keyframes lens-rotate {
  from { transform: rotate(0deg); }
  25% { transform: rotate(360deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(-360deg); }
  100% { transform: rotate(0deg); }
}

#logo h1 a span { display: none; }

/* Toolbar search (Joomla 5 mod_finder) ---*/
#toolbar #search {
  float: right;
  margin-left: 10px;
  margin-right: 0;
  position: relative;
  top: 0;
}

#toolbar #search label { display: none; }

#toolbar #search .finder,
#toolbar #search .mod-finder,
#toolbar #search form {
  background: url(../images/icon-search.png) no-repeat 97% center #000;
  margin-left: 10px;
  border: solid 1px #2a2a2a;
  height: 28px;
}

#toolbar #search .mod-finder__search,
#toolbar #search .input-group {
  display: block;
}

#toolbar #search .inputbox,
#toolbar #search input[type="text"],
#toolbar #search input[type="search"],
#toolbar #search .form-control {
  background: none;
  border: none;
  color: #666;
  font-size: 92%;
  height: 20px;
  margin: 3px 0;
  padding: 0 5px;
  border-right: solid 1px #333;
  width: 203px;
  text-align: right;
  margin-right: 25px;
  line-height: 20px;
  box-shadow: none;
}

#toolbar #search .form-control::placeholder { color: #555; }

#toolbar #search .button,
#toolbar #search button,
#toolbar #search .btn,
#toolbar #search .finder-autosuggest { display: none; }

#toolbar #search .inputbox:focus,
#toolbar #search .form-control:focus {
  background: none;
  color: #666;
  width: 203px;
}

/* MAIN BODY
--------------------------------------------------------- */
body.layoutview #mainbody {
  background: none;
  border: 0;
}

#content .content-inner {
  padding: 20px;
  background: #fff;
}

body.layoutview #content .content-inner,
body.bd-home #content .content-inner,
body.k2-component #content .content-inner {
  margin: 0;
  padding: 0;
  background: none;
}

#right .right-inner {
  padding: 0 10px;
  margin-right: -10px;
}

#right .moduletable { overflow: hidden; }

#right .moduletable-inner {
  margin: 0 0 10px;
  padding: 20px;
}

#content-mass-bottom {
  padding-top: 40px;
  border-top: 1px solid #2a2a2a;
}

#content-mass-bottom .moduletable > h3,
#content-mass-bottom .moduletable .moduletable-inner > h3 {
  font-size: 200%;
  color: #fefefe;
  text-align: center;
  font-weight: normal;
  font-family: 'MontserratRegular', sans-serif;
  text-transform: uppercase;
}

p.line-through {
  text-align: center;
  text-transform: uppercase;
  background: url(../images/line-through.gif) repeat-x left center;
  font-family: 'MontserratRegular', sans-serif;
  padding: 20px 0;
  margin: 0 !important;
}

p.line-through span {
  background: #1a1a1a;
  line-height: 160%;
  padding: 6px 10px;
}

/* Spotlight ---*/
#botsl .moduletable-inner,
#botsl1 .moduletable-inner,
#content-mass-bottom .moduletable-inner,
#footer .moduletable-inner {
  background: none;
  margin: 0;
}

#botsl a:hover, #botsl a:focus, #botsl a:active,
#botsl1 a:hover, #botsl1 a:focus, #botsl1 a:active { color: #fff; }

#botsl1 { text-align: center; }

#botsl .moduletable > h3,
#botsl .moduletable .moduletable-inner > h3 {
  color: #fff;
  font-weight: 400;
  text-transform: uppercase;
  font-family: 'MontserratRegular', sans-serif;
  font-size: 100%;
  margin-bottom: 20px;
}

#botsl1 .moduletable .social {
  display: inline-block;
  width: auto;
  margin: auto;
  text-align: center;
}

ul.contact li {
  line-height: 160%;
  margin: 15px 0;
  border-left: solid 1px #2a2a2a;
  padding-left: 10px;
  display: block;
  background: none;
}

ul.contact li span {
  color: #fff;
  font-size: 110%;
}

ul.userlinks li {
  display: block;
  line-height: 160%;
  padding: 6px 0;
  background: none;
}

ul.userlinks li a {
  background: url(../images/arround.png) no-repeat left center;
  padding-left: 15px;
}

ul.userlinks li a:hover,
ul.userlinks li a:focus,
ul.userlinks li a:active { background-image: url(../images/arround-hover.png); }

.ico-social {
  width: 40px;
  height: 40px;
  margin: 0 5px;
  text-align: center;
  vertical-align: middle;
  text-indent: -9999em;
  font-size: 0;
  background-position: left top;
  background-repeat: no-repeat;
  text-decoration: none;
  display: inline-block;
  float: left;
}

.ico-social:hover,
.ico-social:focus,
.ico-social:active {
  text-decoration: none;
  background-position: left bottom;
  background-repeat: no-repeat;
}

.ico-rss { background-image: url(../images/icons/ic-rss.png); }
.ico-facebooks { background-image: url(../images/icons/ic-facebook.png); }
.ico-twitters { background-image: url(../images/icons/ic-twitter.png); }
.ico-chorme { background-image: url(../images/icons/ic-chorme.png); }
.ico-vimeo { background-image: url(../images/icons/ic-digg.png); }
.ico-youtube { background-image: url(../images/icons/ic-youtube.png); }

div.about img {
  border: solid 5px #fff;
  float: left;
  margin-right: 15px;
}

div.about a {
  display: block;
  color: #5b5fff;
  background: url(../images/more.gif) no-repeat left center;
  padding-left: 15px;
  margin-top: 15px;
}

div.about a:hover,
div.about a:focus,
div.about a:active {
  color: #fff;
  background-image: url(../images/more-hover.gif);
}

.ja-innerdiv {
  margin-bottom: 15px;
  padding-bottom: 15px;
}

.ja-innerdiv.last {
  margin-bottom: 0;
  padding-bottom: 0;
  border: none !important;
}

.ja-innerdiv span.txt-header {
  text-transform: uppercase;
  color: #fff;
  font-size: 110%;
  display: inline-block;
  margin-bottom: 5px;
}

.bigicon {
  width: 48px;
  height: 48px;
  float: left;
  margin-right: 15px;
  margin-bottom: 15px;
  background-position: left top;
  background-repeat: no-repeat;
  display: inline-block;
}

.bigicon.ic-refresh { background-image: url(../images/icons/ico-refresh.png); }
.bigicon.ic-setting { background-image: url(../images/icons/ico-setting.png); }
.bigicon.ic-star { background-image: url(../images/icons/ico-star.png); }
.bigicon.ic-question { background-image: url(../images/icons/ico-question.png); }

.badge {
  background-image: url(../images/badge-2.png);
  background-repeat: no-repeat;
  height: 31px;
  position: absolute;
  right: 10px;
  top: 0;
  width: 30px;
}

.badge-hot .badge, .moduletablebadge-hot .badge { background-position: 0 0; }
.badge-new .badge, .moduletablebadge-new .badge { background-position: 0 -31px; }
.badge-top .badge, .moduletablebadge-top .badge { background-position: 0 -62px; }

/* BREADCRUMBS (Joomla 5 mod_breadcrumbs)
--------------------------------------------------------- */
#breadcrumbs {
  background: #fff;
  padding: 0;
}

#breadcrumbs .breadcrumbs,
#breadcrumbs ol.breadcrumb,
#breadcrumbs ul.breadcrumb {
  padding: 10px 0 10px 20px;
  border-left: 1px solid #ddd;
  text-transform: uppercase;
  list-style: none;
  margin: 0;
  display: block;
}

#breadcrumbs .breadcrumb li {
  display: inline-block;
  background: none;
  padding: 0;
  margin: 0;
}

#breadcrumbs .breadcrumb li + li:before {
  content: "\203A";
  margin: 0 6px;
  color: #999;
}

#breadcrumbs .breadcrumb li.mod-breadcrumbs__here + li:before { content: ""; margin: 0; }

#breadcrumbs .breadcrumb .divider { margin: 0 4px; }

#breadcrumbs .breadcrumb .mod-breadcrumbs__here,
#breadcrumbs .breadcrumb .float-start { margin-right: 6px; color: #666; }

/* FOOTER
--------------------------------------------------------- */
#footer { text-align: center; }

#footer a:hover, #footer a:focus, #footer a:active { color: #fff; }

/* DISPLAY TOOLBAR
--------------------------------------------------------- */
#toolbar {
  border-bottom: 10px solid #fff;
  padding: 50px 0 20px;
  background: #000;
}

body.bd-home #toolbar,
body.layoutview #toolbar { border-bottom: 0; }

#toolbar .main {
  position: relative;
  z-index: 2;
}

#toolbar .toolbar-inner { float: right; }

#toolbar .toolbar-inner > ul { margin: 0; float: right; }

#toolbar li {
  display: block;
  float: left;
  margin: 0 0 0 10px;
  background: none;
  padding: 0;
  cursor: pointer;
  position: relative;
}

#toolbar dl {
  float: left;
  margin: 0;
}

#toolbar dt {
  display: none;
  line-height: 30px;
  height: 30px;
}

#toolbar dd {
  float: left;
  line-height: normal;
  text-transform: uppercase;
}

#toolbar-layout dd { margin-left: 10px; }

#toolbar-layout dd span {
  width: 30px;
  height: 33px;
  display: block;
  text-indent: -999em;
  overflow: hidden;
  cursor: pointer;
}

#toolbar-layout dd#toolbar-layout-l span { background: url(../images/icon-linear.png) no-repeat left top; }
body.layout-l #toolbar-layout dd#toolbar-layout-l span { background-position: left bottom; }
#toolbar-layout dd#toolbar-layout-g span { background: url(../images/icon-grid.png) no-repeat left top; }
body.layout-g #toolbar-layout dd#toolbar-layout-g span { background-position: left bottom; }

#toolbar-categories { border-left: 1px solid #2a2a2a; }

#toolbar-categories h4,
#toolbar-timeline h4 {
  background: url(../images/arrow-menu.png) no-repeat 90% center #1b1b1b;
  margin: 0 0 0 10px;
  padding: 0 20px 0 10px;
  position: relative;
  font-size: 100%;
  text-transform: none;
  color: #888;
  border: 1px solid #2a2a2a;
  font-weight: normal;
}

#toolbar-categories:hover h4,
#toolbar-timeline:hover h4,
#toolbar .has-popup.is-open h4 { color: #fff; }

#toolbar-categories h4 span,
#toolbar-timeline h4 span {
  display: block;
  margin: 0 10px 0 0;
  font-weight: normal;
  line-height: 20px;
  height: 20px;
  text-align: left;
  border-right: solid 1px #333;
  padding: 5px 20px 5px 0;
}

/* Popup module ---*/
#toolbar .popup {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 50;
  padding-top: 10px;
}

#toolbar .has-popup:hover .popup,
#toolbar .has-popup.is-open .popup,
#toolbar .has-popup:focus-within .popup { display: block; }

.popup .moduletable {
  width: 240px;
  display: block;
  text-align: left;
}

.popup .moduletable-inner {
  margin: 0;
  padding: 20px;
  border-bottom: 5px solid #000;
  background: #fff;
}

.popup .moduletable .box-ct {
  padding-left: 0;
  padding-right: 0;
}

.popup .moduletable .moduletable-inner > h3 {
  padding: 0 0 20px;
  border-bottom: 1px solid #ddd;
}

.popup .moduletable ul { margin: 0; }

.popup .moduletable li,
#toolbar .popup li {
  float: none;
  display: block;
  margin: 0;
  padding: 8px 0;
  background: none;
  cursor: default;
}

.popup .moduletable li:last-child { padding-bottom: 0; }

.popup .moduletable li a {
  color: #666;
  text-transform: uppercase;
  font-size: 80%;
}

.popup .moduletable li a:hover,
.popup .moduletable li a:focus,
.popup .moduletable li a:active { color: #5b5fff; }

.popup .moduletable ul li.inactive a { color: #999 !important; }

.popup .moduletable li a span,
.popup .moduletable li .item-count { color: #999; margin-left: 4px; }

/* Timeline popup (year list) ---*/
.popup .lens-timeline li { padding: 4px 0; }
.popup .lens-timeline li a { display: flex; justify-content: space-between; }

/* MISC: toggles
--------------------------------------------------------- */
.has-toggle { z-index: 19; }

.has-toggle.active {
  background: #fff;
  color: inherit;
}

.has-toggle.active .inner {
  padding: 10px;
  box-shadow: 1px 2px 2px rgba(0, 0, 0, .4);
  background: #fff;
  color: inherit;
}

.btn-toggle {
  display: block;
  background: inherit;
  color: inherit;
  text-shadow: none;
  cursor: pointer;
  width: 45px;
  height: 45px;
  text-align: center;
  position: relative;
  border: 0;
  padding: 0;
  margin: 0;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.btn-toggle:hover, .btn-toggle:focus { background: inherit; color: inherit; }

.btn-toggle > span {
  display: block;
  width: 16px;
  height: 16px;
  text-indent: -9999em;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -8px;
  background-position: center top;
  background-repeat: no-repeat;
}

.has-toggle.active .btn-toggle span { background-position: center bottom; }

.menu-toggle { width: 90px; }

.menu-toggle > span {
  text-indent: 0;
  width: auto;
  height: auto;
  position: static;
  display: inline;
  line-height: 45px;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  font-family: 'MontserratRegular', sans-serif;
}

.search-toggle > span { background-image: url(../images/btn-search.png); }
.toolbar-toggle > span { background-image: url(../images/btn-toolbar.png); }

.menu-toggle,
.toolbar-toggle,
.search-toggle { display: none; }

/* Masonry animation ---*/
body.layout-l .masonry .item {
  transition: top 0.7s, left 0.7s;
}

/* Print view (tmpl=component) ---*/
body.windowview #container { padding: 0; }
body.windowview #system-message { margin: 0; }
