/*

main_new is just here because of circumvention of cache

COLORS:
$brown: #370F00; // 2020
$pink: #ff008c;
$green: #006437; // 2021
$blue: #664591; // 2022
$lila: #664591; // 2023
$orange: #D4310F; // 2024

$orange: #D4310F; // 2024
$2024_black: #010101; // 2024 black, because orange does not work as font

$just_pink: #ff008c; // 2025

$white: #ffffff;
$nearly-white: #f8f8fb;
$light-grey: #ebebef;
$dark-grey: #a5a5af;
$darkest-grey: #85858f;
$black: #000000;

MARGINS:
$max-width: 1200px;
$global-lr-margin: 16px;
$global-lr-margin-large: 42px;

BREAKPOINTS:
https://getbootstrap.com/docs/4.4/layout/overview/#responsive-breakpoints

xs: normal

sm:
@media (min-width: 576px) { ... }

md:
@media (min-width: 768px) { ... }

lg:
@media (min-width: 992px) { ... }

xl:
@media (min-width: 1200px) { ... }

*/

body {
  background-color: #f8f8fb;
  font-family: 'robotoregular';
  color: #010101;
}

/* darkmode */
body.darkmode #header-fixed,
body.darkmode header,
body.darkmode header nav ul.submenu,
body.darkmode header .lang-list li a,
body.darkmode header .user-menu li a,
body.darkmode #dropdown-specials,
body.darkmode #dropdown-specials.shown {
  background-color: #000000;
  border-bottom: 1px solid #101010;
}
body.darkmode #dropdown-specials .dropdown-hr {
  border-top-color: #101010;
}
body.darkmode header .lang-list li a {
  color: #ff008c;
}

body.darkmode,
body.darkmode main,
body.darkmode main .richtext { 
  background-color: #101010;
  color: #ffffff;
}
body.darkmode main .teaser-canvas .text-canvas.teaser-text-color-1 .richtext {
  background-color: transparent;
}
body.darkmode main .richtext span {
  color: #ffffff !important;
}
body.darkmode main .cm_teaser_1 .teaser-style-2 .teaser-canvas .text-canvas,
body.darkmode main .cm_teaser_1 .teaser-style-2 .teaser-canvas .text-canvas .richtext,
body.darkmode main .cm_teaser_3 .teaser-style-2 .teaser-canvas .text-canvas,
body.darkmode main .cm_teaser_3 .teaser-style-2 .teaser-canvas .text-canvas .richtext,
body.darkmode main .embed-responsive,
body.darkmode main .cm_press_release_view .press-release-preview,
body.darkmode main .cm_press_release_view .press-release-preview p,
body.darkmode main a {
  background-color: #000000;
  color: #ffffff;
}
body.darkmode main .teaser-style-1 .teaser-canvas .text-canvas .richtext {
  color: white;
  background-color: transparent;
}

body.darkmode main .cr_body {
  background-color: #000000;
}

body.darkmode footer,
body.darkmode footer a {
  color: #000;
}
body.darkmode footer figure img, body.darkmode .icon-btn svg {
  filter: invert(1);
}
body.darkmode .time-entry .icon-btn svg {
  filter: invert(0);
}
body.darkmode .profile .timetable-info {
  background-color: #000000;
}

body.darkmode main table tr th a, body.darkmode .time-entry .ics a {
  background-color: transparent;
}
body.darkmode main table tr td {
  color: #ffffff;
  background-color: #101010;
}
body.darkmode main .cm-film-list h1,
body.darkmode main .cm-film-list .search
body.darkmode main .cm-person-list h1,
body.darkmode main .cm-person-list .search,
body.darkmode main .cm-archive-list h1,
body.darkmode main .cm-archive-list .search,
body.darkmode main .cm-event-tiles h1,
body.darkmode main .cm-event-tiles .search {
  background-color: #000000;
  color: #ffffff;
}
body.darkmode main .cm-film-detail {
  color: #ffffff;
}
body.darkmode main .cm-film-detail .staging {
  border-bottom-color: #ffffff;
}
body.darkmode main ul.nav-tabs {
  border-bottom-color: #000000;
}
body.darkmode main .nav-tabs .nav-link {
  background-color: #303030;
}
body.darkmode main .nav-tabs .nav-link:hover {
  background-color: #000000;
  border-color: #000000;
}
body.darkmode main .nav-tabs .nav-link.active {
  background-color: #000000;
  border-color: #000000;
}
body.darkmode main .pagination a {
  background-color: transparent;
}
body.darkmode main .pagination > .active > a,
body.darkmode main .list-view .new-tile,
body.darkmode main .cm.cm-timeboard,
body.darkmode .cookie-replace {
  background-color: #000000;
}
body.darkmode main .day-button.active,
body.darkmode main .day-button:hover {
  background-color: #303030 !important;
}
body.darkmode main .timetable > aside::before,
body.darkmode main .timetable > section > header,
body.darkmode main .timetable > aside li,
body.darkmode main .timetable ul.room-timeline li {
  background-color: #000000;
}
body.darkmode main .timetable ul.room-timeline li::after {
  background-image: linear-gradient(90deg, #7f7f7f, #000 1px);
}
body.darkmode main .auth-form .help-block {
  color: #ffffff;
}

body.ja {
  font-family: 'noto_sans_jpregular', 'robotoregular';
}

.season {
  color: #ff008c !important;
}

h1,h2,h3,h4,h5,h6 {
  font-family: 'nippon_connectionbold', sans-serif;
}

h1 {
  font-size: 24px;
}

h1.super {
  margin-top: 0;
}

h1.with-follow {
  margin-bottom: 0;
}

h2 {
  font-size: 24px;
}

h3 {
  font-size: 18px;
}
h3.following {
  margin-top: 4px;
  margin-bottom: 32px;
}

h3.tags {
  text-transform: uppercase;
  font-size: 16px;
}
h3.tags span {
  background-color: #010101;
  color:#ffffff;
  padding: 4px 4px 0 4px;
  margin: 8px;
  white-space: nowrap;
  display: inline-block;
  border-radius: 5px;
  line-height: 16px;
}

h4 {
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

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

.small, small {
  font-size: 12px;
}

small.correct {
  color: #010101;
}

figure {
  font-family: 'nippon_connectionbold';
  font-size: 24px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  color: #ffffff;
}

p, ul li {
  font-family: 'robotoregular';
}

body.ja p, body.ja ul li {
  font-family: 'noto_sans_jpregular', 'robotoregular';
}

p {
  font-size: 16px;
}
p.super {
  font-family: 'robotoregular', sans-serif;
}
p.extra, b.extra {
  color: #ff008c;
}
p.extra a {
  color: #ff008c;
}

strong, b {
  font-weight: bold;
  font-family: "robotobold";
}

body.ja strong, body.ja b {
  font-family: 'noto_sans_jpbold', 'robotobold';
}

ul li {
  font-size: 16px;
}

a {
  color: #010101;
  text-decoration: underline;
}
a:hover, a:focus {
  color: #010101;
}
h1 a, h2 a, h3 a, h4 a,
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover {
  text-decoration: none;
}

/* page anchor links */
.anchor {
  scroll-margin-top: 160px;
  scroll-snap-margin-top: 160px;
}

/* Special Button Classes */
a.btn, button.btn {
  color: #fff;
  background-color: #010101;
  border-color: #010101;
  text-decoration: none;
  font-family: 'nippon_connectionbold';
  padding: 4px 12px 2px 12px;
  font-size: 16px;
}
a.btn:hover, button.btn:hover,
a.btn:focus, button.btn:focus,
a.btn:active, button.btn:active {
  color: #010101;
  background-color: #f8f8fb;
  border-color: #010101;
}

a.btn-primary, button.btn-primary,
a.btn-success, button.btn-success {
  background-color: #ff008c;
  border: 1px solid #ff008c;
  color: #ffffff;
  padding: 8px 12px 4px 12px;
}
a.btn-primary:hover, button.btn-primary:hover,
a.btn-primary:focus, button.btn-primary:focus,
a.btn-primary:active, button.btn-primary:active,
a.btn-success:hover, button.btn-success:hover,
a.btn-success:focus, button.btn-success:focus,
a.btn-success:active, button.btn-success:active {
  background-color: #f8f8fb !important;
  border: 1px solid #ff008c !important;
  color: #ff008c !important;
}

.searchbar {
  position: relative;
}

.searchbar i {
  position: absolute;
  top: 12px;
  left: 12px;
  color: #a5a5af;
  z-index: 2;
}

.searchbar input.form-control.search {
  background-color: #ebebef;
  color: #a5a5af;
  border:none;
  border-radius: 32px;
  padding-left: 40px;
}

.hidden {
  display: none;
}

.aspect-1-1-centered {
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

main {
  padding-top: 112px;
  background-color: #f8f8fb;
}

.embed-responsive {
  background-color: #ebebef;
}

.profile-bar {
  font-size: 16px;
  font-family: "nippon_connectionbold";
}
.profile-bar a {
  text-decoration: none; 
}
.profile-bar a:hover { 
  text-decoration: underline; 
}
.profile .timetable-info {
  text-align: center;
  border-radius: 0 0 5px 5px;
  padding: 0px;
  margin-bottom: 32px;
  background-color: #ffffff;
}

/* misc teaser */
.teaser-wrapper {
  position:relative;
  margin-bottom: 32px;
}
.teaser-wrapper button { /* hide normal controls */
  display: none;
}
.teaser-controls {
  position: absolute;
  bottom: 8px;
  width: 100%;
}
.teaser-controls ul {
  margin: 0;
  padding: 0;
  font-size: 13px;
  /* display: inline-block;
  background-color: #ffffff;
  border-radius:10px; */
}
.teaser-controls ul li {
  list-style: none;
  display: inline-block;
  padding: 0 4px;
  font-size: 13px;
  height: 22px;
  width: 22px;
  background-color: rgba(255,255,255,0.5);
}
.teaser-controls ul li.prev {
  margin-right:16px;
  border-radius: 50%;
}
.teaser-controls ul li.next {
  margin-left:16px;
  border-radius: 50%;
}
.teaser-controls ul li:nth-child(2) {
  border-radius:10px 0 0 10px;
}
.teaser-controls ul li:nth-last-child(2) {
  border-radius:0 10px 10px 0;
}
.teaser-controls ul li.prev a,
.teaser-controls ul li.next a {
  font-size:13px;
  position: relative;
  top: 1px;
}
.teaser-controls ul li.prev a {
  padding-right: 2px;
}
.teaser-controls ul li.next a {
  padding-left: 2px;
}
.teaser-controls a {
  cursor:pointer;
  color: #010101;
  font-size: 12px;
  line-height: 1;
}
.teaser-controls a:hover, a.selected {
  color: #ff008c;
}
.teaser-canvas {
  position: relative;
}
.teaser-canvas a {
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
}
.teaser-canvas .img-canvas {
  width: 100%;
  padding-bottom: 56.25%; /* 16x9 aspect ratio */
  aspect-ratio: 16 / 9;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position:relative;
  border-radius: 5px;
}
.teaser-canvas .img-canvas .img-copyright {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.teaser-canvas .img-canvas .img-copyright p {
  color: #ffffff;
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 55%;
  margin: 8px 8px 8px 0;
  padding: 0 8px 2px 8px;
  /* writing-mode: tb-rl; */
  /* writing-mode: vertical-rl; */
  /* transform: rotate(180deg); */
  transform: rotate(270deg) translateX(100%);
  transform-origin: right bottom;
  font-size: 11px;
  background-color: rgba(0,0,0,0.25);

}

.gradient-canvas {
  position: absolute;
  width: 100%;
  height: 30%;
  left: 0;
  top: 70%;
  background-image: linear-gradient(transparent, rgba(255,0,140,0.7));
}
.teaser-canvas .text-canvas {
  position: absolute;
  width:100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 32px 0 32px;
  color: #ffffff;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.teaser-canvas .text-canvas.teaser-text-color- .richtext,
.teaser-canvas .text-canvas.teaser-text-color-1 .richtext {
  color: #ffffff;
}
.teaser-canvas .text-canvas.teaser-text-color-2 .richtext {
  color: #010101;
}
.teaser-canvas .text-canvas.teaser-text-color-3 .richtext {
  color: #ff008c;
}
.teaser-canvas .text-canvas p {
  display:none; /* do not show text on mobile */
}

/* other teaser styles */
.teaser-style- .teaser-canvas .text-canvas .richtext,
.teaser-style-1 .teaser-canvas .text-canvas .richtext {
  width: 100%;
}

.teaser-style-2 .teaser-canvas .text-canvas {
  position: relative;
  padding: 16px 16px 32px 16px;
  color: #010101;
}

.teaser-style-3 .teaser-canvas .img-canvas {
  background-color: #ebebef;
}
.teaser-style-3 .teaser-canvas .img-canvas .the-img {
  position: absolute;
  width:33.33333%;
  height:33.33333%;
  top: 10%;
  left: 33.33333%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-radius:50%;
}
.teaser-style-3 .text-canvas {
  height: 33%;
  top: 50%;
  width: 100%;
  padding: 16px;
  color: #010101;
  text-align: center;
}


/* Grid modifications */
.max-wrapper {
  max-width: 1200px;
  margin: 0 auto;
}
.max-wrapper:has(.remove-max-wrap) {
  max-width: none;
}


.container-fluid.no-padding {
  padding-left: 0;
  padding-right: 0;
}

/* safari bootstrap fix see https://github.com/twbs/bootstrap/issues/24219 */
.row::before, .row::after {
  display: inline-block;
}

/* yii bootstrap table modifications */
table.table {
  border:none;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border:none;
  color: #010101;
}
.table-bordered > thead > tr > th {
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding-bottom: 16px;
}
.table-striped > tbody > tr {
  background-color: #f8f8fb;
}
.table-striped > tbody > tr:nth-of-type(2n+1) {
  background-color: #f8f8fb;
}

.cm-archive-list .table-bordered > thead > tr > th,
.cm-archive-list .table-bordered > thead > tr > th a {
  color: #ff008c;
  text-decoration: none;
}
.cm-archive-list .table-bordered > thead > tr > th a::after {
  color: #a5a5af;
  font-family: "Font Awesome 5 Free";
  content: "\00a0\f0dc";
}
.cm-archive-list .table-bordered > thead > tr > th a.asc::after {
  color: #ff008c;
  content: "\00a0\f0dd";
}
.cm-archive-list .table-bordered > thead > tr > th a.desc::after {
  color: #ff008c;
  content: "\00a0\f0de";
}

/* yii bootstrap pagination modification */
ul.pagination {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  border-radius: 0;
}
ul.pagination li {
  display: inline-block;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover {
  background-color: transparent;
  border-color: transparent;
}
.pagination > li > a,
.pagination > li > span {
  color: #010101;
  background-color: transparent;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  background-color: #ffffff;
  border-color: transparent;
  color: #ff008c;
  text-decoration: none;
  border-radius:20px;
}
.pagination > li > a {
  border-color: transparent;
  font-family: "robotobold";
}
body.ja .pagination > li > a {
  font-family: 'noto_sans_jpbold', 'robotobold';
}

.pagination > li > a:hover, .pagination > li > a:focus {
  background-color: transparent;
  border-color: transparent;
  color: #ff008c;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span,
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-radius: 0;
}

/* yii bootstrap tile modifications */
.event-list {
  margin: 0 -16px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.event-list > div {
  width: 100%;
  padding: 0 16px;
  margin-bottom: 32px;
}
.event-list .event {
  position: relative;
}
.event-list img {
  width: 100%;
}
.event-list .event h2 {
  margin: 16px 0 8px 0;
}
.event-list .event h4 {
  margin: 24px 0 0 0;
}
.event-list .event a {
  text-decoration:none;
}
.event-list .event .card-container {
  position: absolute;
  width: calc(100% - 16px);
  bottom: 8px;
  left: 0;
  text-align: center;
  margin: 0 8px;
  background-color: #f8f8fb;
  color: #010101;
  font-size: 10px;
}

.date-heading {
  margin-top: 32px;
  margin-bottom: 12px;
  padding-left: 32px; 
  font-size: 22px
}

@media (min-width: 576px) {
  h1 {
    font-size: 32px;
  }
  h2 {
    font-size: 28px;
  }
  .event-list > div {
    width: 50%;
  }
}

@media (min-width: 768px) {
  main {
    padding-top: 164px;
  }
  .event-list > div {
    width: 33.33333333333333%;
  }
  ul.pagination li {
    margin: 0 6px;
  }
  .date-heading {
    font-size: 24px
  }

}

@media (min-width: 992px) {
  main {
    padding-top: 164px;
  }
  h1, h1.super {
    font-size: 48px;
    margin-bottom: 32px
  }
  .ja h1, .ja h1.super {
    font-size: 36px;
    margin-bottom: 24px;
  }
  h3 {
    font-size: 24px;
  }
  h4.top-down {
    writing-mode: tb-rl;
    transform: rotate(180deg);
    font-size: 18px;
    margin: 0;
    display: inline-block;
  }
  p.super {
    font-size: 20px;
  }

  .film-teaser-canvas-padding-lg {
    /* padding: 0 24px; */
  }
  .date-heading {
    font-size: 28px
  }

}

@media (min-width: 1200px) {
  .event-list > div {
    width: 25%;
  }
}

@media print {
  main {
    padding-top: 16px;
  }
  figure {
    margin-left: 16px;
  }
  .logo-two {
    display: none;
  }
  a[href]:after {
    content: "" !important;
  }
}

/* select2 fixes and form fixes */
.select2-container--krajee .select2-selection--multiple .select2-search--inline .select2-search__field,
.select2-container--krajee-bs3 .select2-selection--multiple .select2-search--inline .select2-search__field {
  height: 26px;
  font-size: 14px;
  padding: 6px 0 0 6px;
}
.cm-event-tiles .btn {
  font-size: 16px;
}
.form-control {
  height: 34px;
  font-size: 14px;
}
.label {
  font-size: 16px;
}
.embed-responsive-16by9::before {
  display: none;
}
.embed-responsive-16by9 {
  padding-top: 56.25%;
}

.grid-view table td a {
  font-size: 14px;
}

/* select2 fixes */
.has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label {
  color: #010101;
}
.has-success .select2-container--open .select2-selection, .has-success .select2-container--krajee.select2-container--focus .select2-selection {
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: #ced4da;
}
.has-success.select2-container--krajee .select2-dropdown, .has-success .select2-container--krajee .select2-selection {
  border-color: #ced4da;
}

.select2-container--krajee.select2-container--open .select2-selection, .select2-container--krajee .select2-selection:focus {
  box-shadow:none;
  border-color: #ced4da;
}
.select2-container--krajee .select2-dropdown {
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: #ced4da;
}

.icon-btn {
  position: relative;
  height: 32px;
  width: 32px;
  background-color: transparent;
  font-family: 'nippon_connectionbold';
  color: #ffffff;
  font-size: 32px;
  line-height: 32px;
  border-radius: none;
  border: none;
  padding: 0;
}
.add-remove-btn div:last-child {
  display: none;
}
.add-remove-btn.remove div:first-child {
  display: none;
}
.add-remove-btn.remove div:last-child {
  display: block;
}
.add-remove-btn.processing {
  opacity: 0.5;
}

.timetable .icon-btn {
  position: absolute;
  top: -1px;
  right: -12px;
  height: 16px;
  width: 16px;
  font-size: 16px;
  line-height: 16px;
  filter: invert(1);
}

.alert {
  background-color: #ffffff;
  color: #ff008c;
  border-color: #ff008c;
}

img.captcha { cursor: pointer; }

/* Login required lightbox */

.login-required .lightbox-canvas {
  padding: 16px;
}
.login-required .login-dialog {
  position: relative;
  background-color: #ff008c;
  padding: 24px;
  border-radius: 4px;
  text-align: center;
  max-width: 400px;
}

.login-required .close-btn {
  position: absolute;
  top: 8px;
  right: 16px;
  font-size: 28px;
  line-height: 1;
  color: #ffffff;
  cursor: pointer; 
  transition: transform 0.2s ease;
}
.login-required .login-dialog h3,  .login-required .login-dialog p, .login-required .close-btn:hover {
  color: #ffffff;
}
.login-required .login-dialog h3 {
  margin-top: 8px;
  margin-bottom: 8px;
}
.login-required .login-dialog p {
  margin-bottom: 36px;
}

.login-required .login-button, .login-required .signup-button {
  display: block;
  width: 160px;
  margin: 16px auto 8px;
  border: 2px solid #ffffff;
  font-weight: bold;
}
.login-required .login-button {
  background-color: #ffffff;
  color: #ff008c;
}
.login-required .signup-button {
  background-color: #ff008c;
  color: #ffffff;
}
.login-required .login-button:hover {
  border-color: #ffffff;
  color: #ff008c;
  background-color: #ffffff;
}
.login-required .signup-button:hover {
  border-color: #ffffff;
  color: #ffffff;
  background-color: #ff008c;
}

.auth-form .control-label, .auth-form a.help-block, .auth-form .help-block {
  font-size: 16px;
}
.auth-form p {
  padding-bottom: 16px;
}
@media (max-width: 991px) {
  .auth-form h1 {
    margin-bottom: 24px;
  }
}
@media (max-width: 767px) {
  .auth-form .col-xs-offset-2 {
    margin-left: 0;
  }
}
@media (min-width: 576px) and (max-width: 767px) {
  .auth-form .col-xs-3 {
    max-width: 40%;
  }
}
.alert {
  background-color: #ff008c;
  color: white;
  font-size: 16px;
  font-family: "nippon_connectionbold";
  border: none;
  padding-bottom: 3px;
}