@font-face {
  font-family: 'PPEiko';
  src: url('fonts/PPEiko-Medium.woff2') format('woff2');
  font-weight: 500;
}

:root {
  --kemki-swatch-red: #FF5252;
  --kemki-swatch-green: #D7E2A9;
  --kemki-swatch-purple: #9361FF; 
  --kemki-swatch-lightgray: #C4C4C4;
  --kemki-swatch-lightpurple: #BDB3E5;
  --kemki-swatch-blue: #2D2492;
}

.background-swatch-red         { background-color: var(--kemki-swatch-red); }
.background-swatch-green       { background-color: var(--kemki-swatch-green); }
.background-swatch-purple      { background-color: var(--kemki-swatch-purple); }
.background-swatch-lightgray   { background-color: var(--kemki-swatch-lightgray); }
.background-swatch-lightpurple { background-color: var(--kemki-swatch-lightpurple); }
.background-swatch-blue        { background-color: var(--kemki-swatch-blue); color: white!important; }
.background-swatch-blue *      { color: white!important; }

html, body{
  background-color: #fff;
  color: black;
  font-family: 'DM Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 25px;
  line-height: 30px;
}
body, wrapper {
  /* https://medium.com/@mschenk22/bootstrap-4-footer-at-bottom-not-sticky-dynamic-footer-height-b37ccec837e2 */
  min-height: 100vh;
  transition: 0.3s background-color;
}
body.menuactive {
  background-color: var(--kemki-swatch-lightgray) !important; /* override custom page backgrounds */
}
.dbg {
  outline: 4px solid red;
  outline-offset: -4px;
  outline-style: dashed;
}
.bs-demo-wrapper {
  position: fixed;
  width: calc( 100vw );
  height: 100vh;
  overflow-x: hidden;
}
.bs-demo-container {
  position: absolute;
  top:0;
  opacity: 0.3;
  overflow-y: hidden;
  width: calc( 100vw );
  height: 100vh;
}
.bs-demo {
  background-color: blue;
  border-right: 0px solid white;
  color: white;
  text-align: center;
}
.bs-demo:nth-child(2n) {
  background-color: green;
}
.bs-demo-container .bs-demo {
  height: 4650px;
  background-image: 
    linear-gradient(to bottom, 
      rgba(240, 255, 40, 0.2) 0%, 
      rgba(240, 255, 40, 0.2) 100%
    ), 
    linear-gradient(to bottom, 
      rgba(240, 40, 40, 0) 0%, 
      rgba(240, 40, 40, 0) 100%
    );
  background-clip: content-box, padding-box;
}
.flex-fill {
  flex: 1 1 auto;
}
h4, h5, h6,
h1, h2, h3 {margin: 0; margin-bottom: 1rem; }

.h1extralarge h1, /* to be used in contentitemcategories.settings containerclass */
h1.extralarge {
  font-size: 95px;
  line-height: normal;
}
h1 { 
  font-size: 50px;
  font-weight: 500;
  line-height: 60px;
}
h2 {
  font-size: 30px;
  line-height: 37px;
  font-weight: 500;
} 

.displayheading {
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.displayheading.background-adk {
  background-image: url(../images/background-adk.svg);
}  
.displayheading.background-artpool {
  background-image: url(../images/background-artpool.svg);
}  
.displayheading.background-kutatasiosztaly {
  background-image: url(../images/background-kutatasiosztaly.svg);
}
h1.display,
.displayheading h1 {
  font-family: 'PPEiko', serif;
}
.displayheading .cic-index-headers p {
  width: auto;
  padding: 0;
  margin: 0;
}
.background-redonright {
  background-image: url(../images/background-redonright.svg);
  background-position: calc( 100% - 120px ) top;
  background-repeat: no-repeat;
  background-size: 17% auto;
}
.cic-indexitems-headeranddesc h2 {
  font-size: 55px;
  font-weight: 500;
}
.cic-indexitems-items h2,
.module_contentitemcategories .cic-indexitems-items h2,
.cic-indexitems-items h3,
.module_contentitemcategories .cic-indexitems-items h3 {
  font-size: 30px;
  line-height: 36px;
  font-weight: 500;
  margin-bottom: 1rem;
  margin-top: 1rem;
}
.cic-staff .cic-indexitems-container h1 {
}
.cic-staff .cic-indexitems-container:nth-of-type(1) h1 {
  font-size: 95px;
  line-height: 115px;
}
/* staff departments with hideName:true needs no visual separation 
   as their background color is the same */
.cic-staff .cic-indexitems-container:not(:has(h2)) {
  padding-top: 0!important;
  padding-bottom: 0!important;
}
.cic-staff .cic-indexitems-items h2,
.cic-staff .cic-indexitems-items h3 {
  font-size: 25px;
  line-height: 30px;
}

ul, ol {margin: 0;}
p {margin: 0;}
a {
  text-decoration: none;
  transition: 0.5s all;
  -webkit-transition: 0.5s all;
  -moz-transition: 0.5s all;
  -o-transition: 0.5s all;
  color: black;
}
a:hover {
  transition: 0.5s all;
  -webkit-transition: 0.5s all;
  -moz-transition: 0.5s all;
  -o-transition: 0.5s all;
  color: inherit;
  text-decoration: none;
}
.btn {
  background-color: #d07d65;
  color: white;
  border: none;
}
.btn:hover {
  color: white;
  text-decoration: none !important;
}
.btn .material-icons {
  vertical-align: text-top;
  margin: 0 5px 0 5px;
}
.btn-black {
  border: 2px solid black !important;
  background-color: white!important;
  color: black !important;
  border-radius: 0;
  text-transform: uppercase;
  font-family: var(--headerfontfamily);
  font-weight: 500;
  vertical-align: middle;
}
.editable-content .btn {
  margin-bottom: 1rem;
}
.editable-content a.btn-black {
  text-decoration: none;
}
.fullwidth {
  width: 100%;
  max-width: 100%;
  padding: 3rem 0 3rem 0;
}
.fullwidth.borderbottom {
  border-bottom: 2px solid #f2eee3;
}
.fullwidth.stripes {
  background-image: url(../images/patternbrick.png);
}
.fullwidth.blue {
  background-color: #243156;
  abackground: linear-gradient(180deg, #243156 0%, #304273 70%, #6179bd 100%);
}
.contentwrap a:hover {
  text-decoration: underline;
}
.contentwrap a.arrow-button:hover {
  text-decoration: none;
}
/* internal seo keyword links */
a.refer {
  color: #414549;
}
.contentwrap a.refer:hover {
  text-decoration: none;
}
.clear {
  clear: both;
}

/*--header start here--*/
.szepmuveszeti-link {
  width: 215px;
  display: block;
}
.szepmuveszeti-link.en {
  width: 262px;
}
.szepmuveszeti-link img {
  width: 100%;
  height: 100%;
}
.logo {
  float: left;
}
.logo img {
  height: 84px;
  margin-top: 0px;
}

.header-main {
  color: white;
  position: relative;
}
#home {
  transition: 0.3s all;
}
.module_index #home {
  background-color: #2D2492;
}
.menuactive #home, .module_index.menuactive #home {
  background-color: var(--kemki-swatch-lightgray) !important;
  height: max(100%,100vh);
}

.module_index .heroanimation-wrapper {
  position: relative;
  width: 100%;
  height: auto;
}

.module_index .heroanimation-container {
  position: absolute;
  width: 100%;
  height: auto;
  max-width: 1820px;
  z-index: 0;
}

.module_index .heroanimation-textoverlay {
  opacity: 0;
  transition: opacity 1.5s;
  z-index: 9999;
  position: relative;
}

.module_index .heroanimation-textoverlay.active {
  opacity: 1;
}

.module_index .heroanimation-textoverlay {
  color: white;
}

.module_index .heroanimation-textoverlay p {
  font-size: 30px;
  line-height: 40px;
}

.header-main .material-icons {
  vertical-align: bottom;
}
.header-main ul {
  padding: 0px;
  list-style: none;
}
.header-white .header-main ul li {
  color: white;
}
.header-main ul#toolbox:hover {
  opacity: 1;
  transition: 0.5s all;
}
.header-main ul#toolbox li {
  white-space: nowrap;
  margin-left: 2rem;
  margin-top: 0.5rem;
}
.header-black .header-main ul#toolbox li.search img,
.header-black .header-main ul#toolbox li.search:hover img {
  filter: invert();
}
.header-black .header-main ul li a {
  font-size: 1em;
  color: black;
}
.header-white .header-main ul li a {
  font-size: 1em;
  color: white;
}
.searchcontentactive .header-main a,
.menuactive .header-main a {
  filter: invert();
}
.searchcontentactive .header-black .header-main a,
.menuactive .header-black .header-main a {
  filter: none;
}
.header-main #toolbox .language {
  margin-left: 30px;
  margin-right: 0;
  white-space: nowrap;
}

.header-main #toolbox .language a {
  display: inline-block;
}

.header-main #toolbox .menuicon {
  width: 1.7rem;
}

.header-main #toolbox .menuicon a {
  position: absolute;
  top: 0.5rem;
  right: -0.75rem;
  z-index: 10000; /* must be over heroanimation's 9999 */
  transition: unset;
}

.header-main #toolbox .menuicon img {
  width: 50px;
  transition: 0.5s all;
  filter: drop-shadow(0px 0px 1px rgb(0 0 0 / 0.7));
}

.header-main #toolbox .menuicon img:first-of-type {
  margin-bottom: -2px;
}

body.menuactive .header-main #toolbox .menuicon img:last-of-type {
  rotate: -180deg;
  filter: none;
  margin-top: -1px;
}

.header-main #toolbox .menuicon:hover img:last-of-type {
  rotate: -180deg;
  filter: drop-shadow(0px 0px 1px rgb(0 0 0 / 0.7));
  margin-top: -1px;
}

body.menuactive .header-black .header-main #toolbox .menuicon img:last-of-type,
.header-black .header-main #toolbox .menuicon:hover img:last-of-type,
.header-black .header-main #toolbox .menuicon img {
  filter: invert();
}

/*--header end here--*/

/*--common style start here--*/

/*--footer nav start here--*/
.footer {
  background: var(--kemki-swatch-lightpurple);
  font-size: 18px;
  line-height: 25px;
  font-weight: 500;
}
.footer p {
  margin: 1rem 0 0 0;
}
.footer p .info {
  display: inline-block;
}
#toTop {
  display: none;
  text-decoration: none;
  position: fixed;
  bottom: 15px;
  right: 20px;
  overflow: hidden;
  width: 50px;
  height: 50px;
  border: none;
  opacity: 1;
  color: white;
  text-shadow: 0px 4px 4px rgba(0,0,0,0.3);
  padding: 0;
}
#toTop i.material-icons {
  font-size: 50px;
}
#toTop:hover {
  background-color: black;
  color: white;
  box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
  text-shadow: none;
}
/*--footer nav end here--*/

/*--additions--*/

.card {
  background-color: unset;
}

#contents {
}

#contents + .container {
  margin-bottom: 50px;
}

#contents p {
  margin-bottom: 1rem;
}

/* avoid margin collapse, so it's possible to make empty rows */
.usergenerated p {
  min-height: 1px;
}

.description.usergenerated {
  margin: 1rem 0 1rem 0;
  position: relative;
}

.description.usergenerated .description-content {
  text-align: justify;
}

.description.usergenerated .description-content:not(.show) {
  display: block;
  /*
  max-height: 7.85rem;
  overflow: hidden;
  */
}
.description.usergenerated.showtruncate .description-content:not(.show) {
  height: 7.85rem;
  max-height: none;
  mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}

.description.usergenerated > a {
  display: none;
  text-decoration: none;
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: white;
  padding: 0 0 0 10px;
}
.description.usergenerated > a:hover {
}
.description.usergenerated > a:not(.collapsed) {
  bottom: 0px;
}
.description.usergenerated.showtruncate > a {
  display: inline-block;
}
.description.usergenerated > a.collapsed::after {
  content: attr(data-text-more);
}
.description.usergenerated > a:not(.collapsed)::after {
  content: attr(data-text-less);
}

.gallery-items-container > .row > h2 {
  padding: 0 1rem;
}

/*--additions end here--*/

.required {
  color: red;
}

/* events */
.exhibition-details {
}

figcaption {
  font-size: 15px;
  line-height: 18px;
}

.contentwrap .exhibition-details h2,
.contentwrap .exhibition-detail-element h2 {
  /*
  font-size: 30px;
  line-height: 40px;
  font-weight: 500;
  */
}
.exhibition-detail-element:last-child {
  margin-bottom: 0px;
}
.exhibition-detail-image {
  padding-bottom: 60%;
  width: 100%;
}
.exhibition-gallery-items-container {
  font-size: 0px;
}
.exhibition-gallery-items-container::after {
  clear: both;
  content: '';
  display: block;
}
.exhibition-gallery-item {
  float: left;
  position: relative;
  padding-top: 30%;
  width: 48%;
  display: block;
  margin-right: 4%;
  margin-bottom: 4%;
}
.exhibition-gallery-item:nth-child(2n+0) {
  margin-right: 0px;
}
.exhibition-gallery-item-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.exhibition-video-gallery-item {
  display: block;
  position: relative;
  padding-top: 60%;
}
.exhibition-video-gallery-item-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#exhibition-slider {
  height: 400px;
  margin: 0 auto 60px auto;
  position: relative;
}
#exhibition-slider .carousel-item {
  height: 100%;
  position: relative;
}
#exhibition-slider .carousel-item > img {
  max-width: 100%;
  position: absolute;
}
#exhibition-slider .carousel-data-outer {
  height: 100%;
  margin: 0 auto;
  position: relative;
  max-width: calc(100% - 80px);
}
#exhibition-slider .carousel-data {
  max-width: 600px;
  background: rgba(20, 20, 20, 0.88);
  padding: 40px;
  box-sizing: border-box;
  position: absolute;
  top: 40px;
  left: 40px;
}
#exhibition-slider .carousel-data-title {
  font-size: 30px;
  line-height: 40px;
  color: #ffffff;
  margin-bottom: 10px;
}
#exhibition-slider .carousel-data-subtitle {
  font-size: 20px;
  color: #c6c5c5;
  font-weight: normal;
}
.exhibition-program {
  margin-bottom: 50px;
}
.exhibition-program::after {
  clear: both;
  display: block;
  content: '';
}
.exhibition-program-left {
  width: 60px;
  height: 55px;
  background: #4a4a4a;
  box-sizing: border-box;
  padding-top: 8px;
}
.exhibition-program-item-right {
  width: calc(100% - 80px);
  margin-left: 20px;
}
.card-img-top {
  border-radius: 0;
}
.news-item h2 {
  font-size: 30px;
  line-height: 41px;
  font-weight: 500;
}
.news-timestamp {
}
.news-img-wrap {
}
.news-img-wrap a {
}
.news-img-wrap .card-img-top {
  width: 100%;
}
.news-lead p, .program-lead p, .event-lead p {
  font-size: 25px;
  line-height: 30px;
}

#news .col .card-body {
  background-color: transparent;
  transition: background-color 0.5s;
}

#news .col:hover .card-body.eventcategory-red         { background-color: var(--kemki-swatch-red); }
#news .col:hover .card-body.eventcategory-green       { background-color: var(--kemki-swatch-green); }
#news .col:hover .card-body.eventcategory-purple      { background-color: var(--kemki-swatch-purple); }
#news .col:hover .card-body.eventcategory-lightgray   { background-color: var(--kemki-swatch-lightgray); }
#news .col:hover .card-body.eventcategory-lightpurple { background-color: var(--kemki-swatch-lightpurple); }

.index-more-link {
  color: white;
  background-color: #2c343e;
  text-transform: uppercase;
  transition: 0.3s all;
  border: 2px solid white;
  padding: 0.7rem 2rem 0.5rem 2rem;
  letter-spacing: 3px;
}
.index-more-link:hover {
  color: white;
}
#news .index-more-link {
}
.exhibition-detail-element .arrow-button {
  margin: 0 15px 0 0;
}

/* news */
.newslist-container {
  background-color: var(--kemki-swatch-green);
}
.newslist a, .newslist a:hover {
  text-decoration: none;
}
.news-list-element {
}
.news-list-image {
}

.contentwrap {
  margin: 0;
  padding: 0;
}
.contentwrap .title {
  margin-bottom: 20px;
}

/* form */
form label {
  width: 200px;
  vertical-align: top;
}
form .formelem {
  margin-bottom: 10px;
}
form .checkboxrow {
  margin: 0 0 10px 205px;
  vertical-align: middle;
}
form .checkboxrow label {
  width: auto;
  margin-left: 15px;
}
form .formelem.checkboxdynamicrow .checkboxrow {
  display: inline-block;
  margin: 0;
}
form .formelem.checkboxdynamicrow .checkboxrow label {
  margin-bottom: 0;
}
form input {
  border: 1px solid #5d5d5d;
  padding: 5px;
}
form input[type=text] {
  width: 50%;
}
form input[type=submit] {
  margin: 0 0 0 204px;
  background-color: white;
}
form {
  padding: 0;
  margin: 0;
}
.formerror {
  display: none;
  width: calc(204px + 50%);
  padding: 2px 5px 2px 5px;
  background-color: #d03030;
  color: white;
  clear: both;
}

/* events */
.attachment-items-container,
.gallery-items-container,
.embed-items-container {
  
}

.embed-items-container h3 {
  margin: 10px 0;
}
.embed-items-container .embed-wrap {
  margin: 10px 0;
}

/* SELECTOR LINE */
.selector-line-title {
  padding: 15px 15px;
  margin: 0 0 1rem 0;
  width: 100%;
  font-size: 1.5rem;
  background: #ffffff;
  text-align: center;
}
.selector-line.selector-line-no-margin-top {
  margin-top: 0px;
}
.editable-content p, .editable-content ul, .editable-content ol, .editable-content div {
  margin-bottom: 20px;
}
.editable-content a {
  text-decoration: underline;
} 
.editable-content .arrow-button {
  border-color: white;
  font-size: 16px;
  background-color: #D07D65;
  color: white;
  margin: 15px;
}
.editable-content .arrow-button:hover {
  background-color: #fa453c;
  box-shadow: 0px 0px 3px 0px rgba(155,155,0,1);
  transition-delay: 0.05s;
}
#contents .editable-content {
  padding-bottom: 2rem;
}
#contents .editable-content h1,
.contentwrap .editable-content h1 {
  margin-top: 0rem;
  margin-bottom: 1rem;
}
#contents .editable-content h2 {
  margin-top: 2rem;
}
#contents .editable-content h3 {
  font-size: 45px;
  line-height: 50px;
  font-weight: 500;
  margin: 2rem 0 1rem 0;
}
#contents .editable-content img {
  margin-bottom: 1rem;
}
#contents .editable-content table td img,
#contents .editable-content table th img {
  border: none;
  margin: 0;
}
#contents .editable-content table {
  border: 0px solid #e0e0e0;
}
#contents .editable-content table td {
  border: 1px solid #c0c0c0;
  padding: 3px;
}
#contents .editable-content table th {
  border: none;
  background-color: #78a1bC;
  color: white;
  vertical-align: middle;
  padding: 10px 0 10px 0;
}
#contents .editable-content table th a.refer {
  color: #f0f0f0;
}

#contents h1, .contentwrap h1 {
  margin-bottom: 2rem;
  padding-bottom: 0;
}
#contents h2, .contentwrap h2 {
}
#contents h2.secondarytitle {
  text-transform: uppercase;
  font-size: 18px;
  font-weight: normal;
  margin-bottom: 1rem;
  text-align: center;
  padding-bottom: 1rem;
}
/* classname based on content shortname */
.contentwrap.flex-fill:has(#contents.content-services),
.contentwrap #contents.content-services,
/* classname based on content shortname (content referred to as $item in contents template) */
body.itemsn-services #home {
  background-color: var(--kemki-swatch-lightpurple);
}
.contentwrap.flex-fill:has(#contents.content-services) {
  /* content has too small height, need to stretch */
  display: flex;
  flex-flow: column;
}

/* classname based on content shortname (content referred to as $item in contents template) */
body.itemsn-services #contents.content-services > .container-fluid {
}
/* classname based on content shortname (content referred to as $item in contents template) */
body.itemsn-services .content-services .editable-content {
  width: 100%;
  background-image: url(../images/background-services.svg);
  background-repeat: no-repeat;
  background-position: center bottom;
}
.contentitems-details-parentlink a {
  text-decoration: underline;
}
.table-of-contents-container-citem {
  margin-top: 3rem;
  margin-bottom: 2rem;
}
.table-of-contents-container-content {
  margin-top: -1rem;
  margin-bottom: 1rem;
}
.table-of-contents-container-cicategory {
  margin-top: -3rem;
  margin-bottom: 3rem;
  padding-top: 1rem;
}
/* site specific inlineedit tweak */
body.admintoolbar-shown #toTop {
  z-index: 11;
}

.editable-content .imgonleft img {
  float: left;
  margin: 0 15px 15px 0;
}
.editable-content .imgonright img {
  float: right;
}
.editable-content table {
  margin: 10px 0 10px 0;
}
.editable-content th, .editable-content td {
  padding: 5px;
}
.editable-content th {
  background-color: #c0c0c0;
  color: white;
  text-align: left;
}
.editable-content ul {
  list-style-type: none;
  display: inline-block; /* for fixing issues with left-floated images in news details */
  padding: 0 0 0 1rem;
}
.editable-content ul li::before {
  content: "\25b7";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
  color: #d07d65; /* Change the color */
  font-weight: bold; /* If you want it to be bold */
  display: inline-block; /* Needed to add space between the bullet and the text */
  width: 2em; /* Also needed for space (tweak if needed) */
  margin-left: -1em; /* Also needed for space (tweak if needed) */
}
.widepager ul {
  list-style-type: none;
}
.widepager ul li {
  display: inline-block;
}
.widepager li.currentpage, .widepager li a {
}
.widepager .currentpage {
  border-bottom: 2px solid black;
}
.widepager {
  display: block;
  width: 100%;
  text-align: center;
}
.top .widepager {
  margin: 1rem 0 1rem 0;
}
.bottom .widepager {
  margin: 1rem 0 0rem 0;
}
.widepager ul {
  margin: 0;
}

.formerrors {
  width: calc(204px + 50%);
  padding: 2px 5px 2px 5px;
  background-color: #d03030;
  margin: 20px 0 20px 0;
  color: white;
  clear: both;
}

.form.inline .formelem {
  display: inline-block;
  vertical-align: top;
}
.cart_comment {
  width: 500px;
  height: 5em;
}
#toast-addtocart {
  display: none;
  padding: 5px 10px;
  position: absolute;
  top: 50px;
  right: 50px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  font-weight: bold;
}
.highlight {
  animation: highlight 1s 3;
}
@keyframes highlight {
  0% {
    background-color: yellow;
  }
  50% {
    background-color: initial;
  }
}

.index-databases .doqra {
  background-color: #D07D65;
  padding: 0.5rem;
}
.index-databases .qulto {
  background-color: #8f464d;
  padding: 0.5rem;
}
.index-databases h2 {
  font-weight: 200;
  margin: 0;
  text-align: center;
}
.index-databases h2 .material-icons-outlined {
  font-size: 2.5rem;
  font-weight: 400;
  vertical-align: sub;
}
.index-databases h3 {
  font-weight: 800;
  color: white;
  margin: 0;
}
.index-databases p {
  color: white;
  font-weight: 200;
}
.index-databases .row > div:first-of-type {
  border-bottom: 2px solid black;
}
/* PROGRAM ITEM */
.program-item {
  padding-bottom: 0;
  margin-bottom: 3rem;
}

.program-item::after {
  clear: both;
  content: '';
  display: block;
}

.program-item-left {
  width: 100px;
  height: 90px;
  color: #4a4a4a;
  background: white;
  box-sizing: border-box;
  padding-top: 12px;
}

.program-item-right {
  width: calc(100% - 140px);
  margin-left: 40px;
}
.program-item-right-subheading {
  margin-bottom: 0;
}
.program-item-right-subheading a {
  color: #4a4a4a;
}
.program-item-right-subheading a:hover {
}
.program-item-right-type {
  text-transform: uppercase;
  margin: 0.2rem 0 1.2rem 0;
  opacity: 0.5;
}
#index-programs {
  padding: 0 0 1rem 0;
}
#index-programs .index-more-link {
  color: white;
  background-color: #243156;
  text-transform: uppercase;
  transition: 0.3s all;
}
/* paging */
.pagination {
  flex-wrap: wrap;
  margin: 2rem 0 3rem 0;
}
.pagination .page-item:first-child .page-link,
.pagination .page-item:last-child .page-link {
  padding: .1rem .3rem;
}
.pagination .page-item:first-child {
  text-align: left;
}
.pagination .page-item:last-child {
  text-align: right;
}
.pagination .groupdivider {
  flex-grow: 1;
}
.pagination .page-item {
  text-align: center;
  white-space: nowrap;
}
.page-link {
  padding: .1rem .3rem;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: black;
  text-decoration: none;
  background-color: unset;
  transition: 0.2s all;
  margin: 0rem 2.3rem;
  min-width: 0.9rem;
}
.page-item:last-child .page-link,
.page-item:first-child .page-link {
  border-radius: 0;
}
.page-link:active, .page-link:focus {
  background-color: unset;
  box-shadow: none;
  color: black;
}
.page-item.active .page-link,
.page-link:hover,
.contentwrap a.page-link:hover {
  border-bottom: 2px solid black;
  color: black;
  text-decoration: none;
  background-color: unset;
}
.page-item.disabled .page-link {
  opacity: 0;
}

ul.searchlist {
  list-style-type: none;
  padding: 0;
}
ul.searchlist li {
  margin-bottom: 1.5rem;
}

ul.listing {
  padding: 0;
}

.orderlist > li {
  margin-bottom: 1rem;
}
.orderdetails .label,
.orderlist .label {
  opacity: 0.6;
  width: 18rem;
  display: inline-block;
}
.orderlist .attachmentcount {
  font-weight: bold;
}
.orderdetails .listing .label {
  width: 10rem;
}
.orderdetails .numeric {
  width: 5rem;
  display: inline-block;
  text-align: right;
}
.orderdetails .comment .commentcontents {
  display: inline-block;
  width: 50%;
}
.orderdetails li {
  margin-bottom: 2rem;
}
.orderdetails .orderattachments .row {
  border: 1px solid #a0a0a0;
  border-radius: 8px;
  width: 99%;
}
.orderdetails .orderattachments img {
  max-height: 8rem;
}
.orderdetails .orderattachments .btn {
  margin-top: 1rem;
}
.orderdetails .orderattachments .body {
  padding: 0.5rem;
}
.nolayout {
  padding-top: 3rem;
}
.formelem [name=amount] {
  width: 50px;
  text-align: right;
}
.module_search .alreadyadded {
  font-weight: bold;
  margin-bottom: 2rem;
}
.module_search .documentlist li {
  margin: 0;
}
.module_search .documents-wrap h3 {
  font-size: 1.1rem;
  font-weight: bold;
  margin: 1rem 0 1rem 0;
}
.cartlist li {
  margin-bottom: 2rem;
}
.cartlist form {
  margin-top: 1rem;
}
.cartlist {
  border-bottom: 1px solid black;
  margin-bottom: 2rem;
}
.orderform #cart_index_bookingdate {
  width: 10rem;
}
.orderform #cart_index_bookingdate + a.material-icons {
  vertical-align: middle;
  margin: 0 0 0 0.5rem;
  text-decoration: none;
}
.orderform .submit-button {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.orderform .formelem:last-of-type {
  padding-bottom: 2rem;
  border-bottom: 1px solid black;
}
.containerreference {
  line-height: 24px;
}
.containerreference .material-icons {
  vertical-align: sub;
}
.documentlist .documentreference .material-icons {
  vertical-align: sub;
}
.datepicker .day.full {
  background-color: #fb2b2b !important;
  color: #ffaeae !important;
}

.dateblock {
  background: #b1b1b1;
  padding: .5rem 0 0 0;
  text-align: center;
  float: left;
  margin-right: 1rem;
}

.dateblock .year,
.dateblock .time {
  font-size: 20px;
  font-weight: bold;
}

.dateblock .year {
}
.dateblock .time {
  padding-top: .5rem;
}

.dateblock .daymonth {
  text-transform: uppercase;
  font-size: 36px;
  font-weight: bold;
  width: 100%;
  background-color: black;
  color: white;
  padding: 0 .5rem;
  height: 55px;
  line-height: 66px;
}

.dateblock .day {
  display: inline-block;
}
.dateblock .month {
  display: inline-block;
  NOTmargin: 10px 0 20px 0;
}

.dateblock.separator {
  margin-left: -1rem;
  margin-right: 0;
}

.dateblock.rotated {
  width: 185px;
  padding: 0;
}

.dateblock.rotated > div {
  height: 100px;
}

.dateblock.rotated .align-self-start,
.dateblock.rotated .align-self-end {
  width: 40px;
}

.dateblock.rotated .daymonth {
  line-height: 40px;
  padding-top: 15px;
}

.dateblock.rotated .year {
  transform: rotate(-90deg);
  transform-origin: top left;
  width: 100px;
  margin-top: 100px;
  height: 40px;
  padding-top: 2px;
  font-size: 30px;
}
.dateblock.rotated .time {
  transform: rotate(-270deg);
  transform-origin: 20px 20px;
  width: 100px;
  height: 40px;
  padding-top: 2px;
  font-size: 30px;
}
.dateblock.rotated.separator {
  background: none;
  width: auto;
}
.dateblock.rotated.separator .daymonth {
  background: none;
  color: #212529;
  padding-top: 30px;
}
/* news + events gallery */
.card-galleryindex:not(.card-inlinecontent) img {
  margin: 0;
  border-radius: unset;
}
/* contents + news + events gallery */
.card-galleryindex .card-galleryindex-open {
  font-size: 80%;
  line-height: 1;
}
.card-galleryindex-open ul {
  list-style-type: none;
  padding: 0;
}
.card-galleryindex-open ul .card-galleryindex-galleryitem {
  margin-bottom: 0.3rem;
}
.card-galleryindex i.material-icons {
  vertical-align: text-bottom;
  margin: -0.2rem 0.2rem 0 0;
}
.card-galleryindex.with-images {
  cursor: pointer;
}
/* contents gallery */
.card.card-galleryindex.card-inlinecontent {
  display: inline-block;
}
.card-galleryindex.card-inlinecontent img.card-img {
  width: auto;
}
.module_contentitemcategories h2 {
  font-size: 55px;
  font-weight: 500;
  width: 100%;
}
.module_contentitemcategories .contentitemcategory-description h2 {
  font-size: 1.4rem;
}
.module_contentitemcategories h2 i,
.module_contentitemcategories h3 i {
  vertical-align: middle;
}

.module_contentitemcategories .card h1 {
  font-size: 17pt;
}
.module_contentitemcategories .card-img-top {
  height: 260px;
  object-fit: cover;
}
.module_contentitemcategories .container > .row > h3 {
  color: #818589;
}

/* hsforms embed styling */
.editable-content form.hs-form ul li::before {
  content: unset;
  width: unset;
  margin: unset;
  display: unset;
}

form.hs-form input[type=text] {
  width: unset;
}

form.hs-form label {
  width: unset;
}

.hs-form fieldset.form-columns-3 .hs-form-field {
  margin-right: 2rem!important;
  width: auto!important;
}

.hs-form fieldset {
  max-width: none!important;
}

form.hs-form input[type=submit] {
  margin: 0;
}

/* index swiper */
.swiper {
  width: 100%;
  height: 100%;
  background-color: var(--kemki-swatch-lightgray);
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  width: 769px;
  max-width: 100%; /* responsive limit */

  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;

  position: relative;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

:root {
  --swiper-navigation-sides-offset: 2.2rem;
  --swiper-pagination-bullet-width: 50px;
  --swiper-pagination-bullet-height: 5px;
  --swiper-pagination-bullet-border-radius: 0;
  --swiper-theme-color: white;
}
.swiper-button-next:after, 
.swiper-rtl .swiper-button-prev:after {
  content: url(../images/icon-next.svg);
}

.swiper-button-prev:after, 
.swiper-rtl .swiper-button-next:after {
  content: url(../images/icon-next.svg);
  transform: rotate(180deg);
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0;
}

.swiper-caption {
  opacity: 0;
  transition: opacity 0.3s;
  height: 177px;
  width: 100%;
  max-width: 100%;
  position: absolute;
  bottom: 0;
  text-align: left;
  padding: 1rem;
}

.swiper-slide:hover .swiper-caption {
  opacity: 1;
}

.swiper-caption h2 {
  font-size: 35px;
  line-height: 36px;
  font-weight: 500;
}

.swiper-tags {
  position: absolute;
  bottom: 1rem;
}

#contents .tag,
#news .tag,
#searchcontent .tag,
.contentitems-tags .tag,
.news-tags .tag,
.event-tags .tag,
.swiper-tags .tag {
  border: 1px solid black;
  font-size: 18px;
  /* line-height: 30px; */
  padding: 0px 5px 0px 5px;
  margin-bottom: 6px;
  display: inline-block;
  word-wrap: none;
  text-decoration: none;
}
#contents .tag:hover,
#news .tag:hover,
#searchcontent .tag:hover,
.contentitems-tags .tag:hover,
.news-tags .tag:hover,
.event-tags .tag:hover,
.swiper-tags .tag:hover {
  text-decoration: none;
}

.placeholder {
  opacity: 1;
  background: none;
  max-width: 100%;
}
.dropdown-menu {
  border-radius: 0;
  border: 0;
  background-color: var(--kemki-swatch-lightpurple);
  margin-top: -2px!important;
}
.dropdown-menu a:hover {
  text-decoration: none;
}

/* search */
.searchcontentform-container {
  background-color: var(--kemki-swatch-green);
  display: block;
  min-height: 100vh;
  margin-top: 3rem;
  font-size: 95px;
  font-weight: 500;
  padding-left: 0.7rem!important;
  opacity: 0;
  display: none;
  transition-property: opacity, display, font-size;
  transition-duration: 0.3s, 0.01s, 0.3s;
  transition-delay: 0.01s, 1s, 0s;
}

.searchcontentform-container input {
  background: transparent;
  outline: 0;
}
body.searchcontentactive,
body.searchcontentactive #home, 
body.module_index.searchcontentactive #home {
  background-color: var(--kemki-swatch-green) !important;
}
body.searchcontentactive .searchcontentform-container {
  opacity: 1;
  display: block;
}
body.searchcontentactive .swiper,
body.searchcontentactive .indexheader,
body.searchcontentactive .indexwrap,
body.searchcontentactive .contentwrap,
body.searchcontentactive .footer {
  display: none;
} 
.module_searchcontent .contentwrap {
  background-color: var(--kemki-swatch-green);
}
.module_searchcontent .page-link {
  background-color: unset;
}
.search_types {
  padding: 0;
}
#searchtype-wrap {
}
#searchtype-wrap li {
  display: block;
  margin: 0;
  padding: 0;
  float: left;
}
/*
#searchtype-wrap li::after {
  content: '|';
  padding: 0 0 0 10px;
}
*/
#searchtype-wrap li:first-child::after,
#searchtype-wrap li:last-child::after {
  content: none;
  padding: 0;
}
#searchtype-wrap .search_types a {
  text-decoration: none;
  transition: 0.2s all;
  border-bottom: 2px solid transparent;
}
#searchtype-wrap .search_types a:hover {
  border-bottom: 2px solid black;
}
#searchorder-wrap .dropdown .btn {
  text-transform: none;
  font-size: inherit;
  font-weight: 400;
}
.btn-border {
  border-radius: 0;
  border: 2px solid black;
  background-color: unset;
  color: black;
}
.btn-border:hover {
  border: 2px solid black;
  color: black;
}
.dropdown.search-order .dropdown-item.active, 
.dropdown.search-order .dropdown-item:active {
  background-color: black;
}
#searchtype-wrap .search_types li.active a,
#searchorder-wrap .search_types a.active {
  border-bottom: 2px solid black;
}
#searchorder-wrap .selector-line {
  margin: 10px 0;
}
#searchcontent h1 {
  margin-bottom: 1rem;
  padding: 0;
}
#searchcontent .search-item {
  margin: 0 0 30px 0;
}
#searchcontent .resultcount {
  font-weight: normal;
  min-width: 30px;
  display: inline-block;
  text-align: center;
}

#searchcontent .active .resultcount {
}

.searchterm1, .searchterm2, .searchterm3, .searchterm4, .searchterm5 {
  border-bottom: 2px solid var(--kemki-swatch-purple);
  line-height: 45px;
}

/* for easy layout reordering of news details, contentitems details */
.gridof3 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  /* "0fr 1fr" minimizes head cell and makes body to autogrow */
  grid-template-rows: 0fr 1fr;
  gap: 2rem 1.5rem;
}

.gridof3-head {
  grid-column: 1;
  grid-row: 1;
}

.gridof3-image {
  grid-column: 2;
  grid-row: 1/3;
}

.gridof3-body {
  grid-column: 1;
  grid-row: 2;
}
