@charset "UTF-8";
/* roo specific variables */
/* roo variables overrides */
html {
  font-size: 16px;
}

.roo-header {
  background-color: #fff;
  /* roo specific variables */
  /* roo variables overrides */
  /*roo-header*/
  /*roo-upperarea*/
}
.roo-header .logo .navbar-brand img {
  width: 300px;
}
@media only screen and (max-width: 1000px) {
  .roo-header .logo .navbar-brand img {
    width: 120px;
  }
}
.roo-header .roo-appTitle {
  color: #000000;
  align-self: center;
}
.roo-header .roo-appTitle a {
  color: #000000;
  font-size: 28px;
  font-family: "Poppins", sans-serif;
}
@media only screen and (max-width: 1000px) {
  .roo-header .roo-appTitle a {
    font-size: 21px;
  }
}
@media (max-width: 600px) {
  .roo-header .roo-appTitle a {
    font-size: 100%;
  }
}
.roo-header .roo-languageSelect {
  display: flex;
  justify-content: flex-end;
}
.roo-header .roo-languageSelect a.btn.btn-primary {
  border-color: #006b38;
  background-color: #006b38;
  color: #fff;
}
.roo-header .roo-languageSelect a.btn.btn-primary:hover,
.roo-header .roo-languageSelect a.btn.btn-primary.active {
  border-color: #009648;
  background-color: #009648;
  color: #fff;
}
.roo-header .roo-languageSelect a {
  padding: 0.5rem;
  border-radius: 5px;
  width: 40px;
  height: 40px;
}
.roo-header .searchRow {
  display: flex;
  justify-content: flex-end;
}
.roo-header .searchRow .searchArea {
  padding: 0.75em 0 0 0;
  align-self: center;
}
.roo-header .searchRow .searchResultArea .searchResultView .searchStringMatch {
  text-decoration-line: underline;
  text-decoration-thickness: 0.2rem;
}
.roo-header .roo-breadcrumb {
  padding: 1rem;
}
.roo-header .roo-breadcrumb .breadcrumb {
  background-color: transparent;
  margin: 0rem 1rem;
  font-size: 14px;
}
.roo-header .roo-breadcrumb .breadcrumb .breadcrumb-item a.active {
  color: #000000;
}
.roo-header .roo-breadcrumb .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: #000000;
  content: "/";
}
.roo-header .linkbar {
  background-color: #eee;
}
.roo-header .linkbar a {
  text-decoration: underline;
}
.roo-header .alert.alert-primary a {
  text-decoration: underline;
}
@media only screen and (min-width: 1300px) {
  .roo-header .col-12.col-md-3.p-3,
  .roo-header .col-12.col-md-3 .logo {
    display: flex;
    justify-content: end;
  }
}

.roo-topHeader {
  padding: 0 1em;
}

.roo-topHeader .logo {
  text-align: left;
}

.left .roo-languageSelect {
  text-align: left;
}

.right .roo-languageSelect {
  text-align: right;
}

/* roo specific variables */
/* roo variables overrides */
.navWrapper.row {
  border-radius: 5px;
  background-color: #fff;
  margin: 0.5em;
}

.navbar-collapse {
  margin-top: 0.5rem;
}

.navbar-collapse.collapse {
  border-radius: 5px;
}

ul#valikko_offering {
  margin-left: 1em;
}

button.navbar-toggler.m-auto {
  width: 100%;
}

.roo-sidemenu {
  /*override bootstrap style*/
}
.roo-sidemenu ul {
  list-style-type: none;
  padding: 0rem 0rem 0rem 0rem;
  width: inherit;
}
.roo-sidemenu ul li {
  cursor: pointer;
  color: #000000;
}
.roo-sidemenu a {
  color: #000;
  display: inline-block;
}
.roo-sidemenu a span:hover {
  text-decoration: underline;
}
.roo-sidemenu a:active {
  color: #000;
  text-decoration: underline;
}
.roo-sidemenu button.btn.rounded {
  text-align: initial;
}
.roo-sidemenu li.hide.menuLevel-2 {
  display: none;
}
.roo-sidemenu .menuItem .collapsesArea {
  display: inline-block;
  width: inherit;
  height: auto;
  text-decoration: none;
  padding: 0 4px;
}
.roo-sidemenu .menuItem:hover {
  text-decoration: none;
}
.roo-sidemenu .menuLevel-1 a, .roo-sidemenu .menuLevel-1 span {
  padding: 0rem 0rem 0rem 0rem;
  font-size: 1.2rem;
  text-align: start;
}
@media only screen and (max-width: 1200px) {
  .roo-sidemenu .menuLevel-1 a, .roo-sidemenu .menuLevel-1 span {
    font-size: 1.1rem;
  }
}
.roo-sidemenu .menuLevel-2 a, .roo-sidemenu .menuLevel-2 span {
  padding: 0rem 0rem 0rem 0rem;
  font-size: 1.1rem;
  text-align: start;
}
@media only screen and (max-width: 1200px) {
  .roo-sidemenu .menuLevel-2 a, .roo-sidemenu .menuLevel-2 span {
    font-size: 1rem;
  }
}
.roo-sidemenu .menuLevel-3 a, .roo-sidemenu .menuLevel-3 span {
  padding: 0rem 0rem 0rem 0rem;
  font-size: 1rem;
  text-align: start;
}
@media only screen and (max-width: 1200px) {
  .roo-sidemenu .menuLevel-3 a, .roo-sidemenu .menuLevel-3 span {
    font-size: 0.9rem;
  }
}
.roo-sidemenu .menuLevel-4 a, .roo-sidemenu .menuLevel-4 span {
  padding: 0rem 0rem 0rem 0rem;
  font-size: 0.9rem;
  text-align: start;
}
@media only screen and (max-width: 1200px) {
  .roo-sidemenu .menuLevel-4 a, .roo-sidemenu .menuLevel-4 span {
    font-size: 0.9rem;
  }
}
.roo-sidemenu .menuLevel-4 a.selected {
  text-decoration: underline;
}
.roo-sidemenu .offeringTag a {
  margin-left: 1.15em;
}
.roo-sidemenu .menuItem.menuLevel-4.inSelection > a {
  font-weight: bold;
  text-decoration: underline;
}
.roo-sidemenu .menuItem.menuLevel-1.list-group-item {
  padding: 0.25rem 0;
  border: none;
}
.roo-sidemenu .menuItem.menuLevel-2.list-group-item {
  padding: 0.5rem 1.25rem;
  border: none;
}
.roo-sidemenu .menuItem.menuLevel-3.list-group-item {
  padding: 0.5rem 0 0.5rem 1.25rem;
  border: none;
}
.roo-sidemenu .menuItem.menuLevel-4.list-group-item {
  border: none;
  padding: 0.75em;
}
@media only screen and (max-width: 1230px) {
  .roo-sidemenu .menuItem.menuLevel-4.list-group-item {
    padding: 0.5rem;
  }
}
.roo-sidemenu .menuItem.menuLevel-4.list-group-item {
  padding: 1rem 0rem 0rem 2.5rem;
}
@media only screen and (max-width: 768px) {
  .roo-sidemenu .menuItem.menuLevel-4.list-group-item {
    padding: 0.75rem 1rem;
  }
}
.roo-sidemenu .roo-menu-educationOfferings a {
  font-size: large;
  font-weight: lighter;
}
.roo-sidemenu .roo-menu-educationOfferings .roo-menu-offering a {
  font-size: medium;
  font-weight: lighter;
}
.roo-sidemenu button.btn.toggleSideNav.roo-sidebarsidebutton {
  background-color: white;
  font-size: 1.5em;
  padding: 1em;
}
@media only screen and (max-width: 1230px) {
  .roo-sidemenu .menuLevel-1 button,
  .roo-sidemenu .menuLevel-2 button,
  .roo-sidemenu .menuLevel-3 button,
  .roo-sidemenu .menuLevel-4 button {
    font-size: 0.8em;
  }
}

.roo-sidemenu .menuLevel-1 span.btn.rounded:focus {
  box-shadow: none;
  background-color: #d5d6d8;
}

.roo-sidemenu .menuItem .collapsesArea.btn, .menuItemLink {
  width: 100%;
  text-align: left;
  cursor: default;
  display: block;
  border: 0;
  outline: 0;
}

.btn2 > .btn,
.btn2 > a {
  width: auto !important;
  display: inline-block !important;
}

a.menuItemLink {
  padding: 0 4px !important;
}

.roo-sidemenu .menuItem .collapsesArea.btn:hover, .roo-sidemenu .menuItem .collapsesArea.btn:focus, .menuItemLink:hover, .menuItemLink:focus, .menuItemLink:focus-visible {
  background-color: #d5d6d8;
  cursor: pointer;
}

/*roo-mainarea*/
.roo-contentarea {
  background-color: #ffffff;
  margin: 0.5em;
  padding: 1rem;
}

.roo-contentarea img {
  max-width: 100%;
}

#shareBtn {
  color: #fff;
  display: none;
}

#coverImage {
  border-radius: 5px;
  aspect-ratio: 21/6;
  width: 100%;
  background-size: cover;
  background-position: center;
}

.roo-content {
  padding: 0;
}
@media (max-width: 1700px) {
  .roo-content {
    width: 70%;
  }
}
@media (min-width: 1701px) {
  .roo-content {
    width: 75%;
  }
}

span.mobile-nav {
  display: none;
}

#main-nav-hamburger {
  margin-right: 5px;
}

.roo-content.expanded {
  width: 95% !important;
}

.roo-search,
.roo-topHeader .logo,
.roo-header .roo-languageSelect {
  padding: 0.75em 0 0 0;
  align-self: center;
  width: 100%;
}

.sidebared {
  overflow: hidden;
  width: 5%;
  transition: width 0.75s, height 1s;
  height: 90px;
}

.navbar-collapse.collapse {
  overflow: hidden;
}

.list-group > li,
.list-group > li > ul > li,
.navbar-collapse.collapse {
  transition: width 0.75s, height 1s;
}

.roo-nav.sidebared,
.navbar-collapse.collapse.sidebared {
  height: 90px;
  width: 1%;
  transition: width 0.75s, height 1s;
  max-width: 5%;
  overflow: hidden;
}

.roo-sidebar {
  width: 90%;
  transition: width 0.75s, height 1s;
}

.roo-sidebar.sidebared {
  display: none;
  width: 0;
  transition: width 0.75s, height 1s;
}

.roo-sidebarsidebutton {
  background-color: #ffffff;
  font-size: 150%;
  width: 10%;
}
.roo-sidebarsidebutton i.fa.fa-caret-left {
  display: block;
}
.roo-sidebarsidebutton i.fa.fa-bars {
  display: none;
}

.roo-sidebarsidebutton.sidebarsidebuttoned i.fa.fa-caret-left {
  display: none;
}
.roo-sidebarsidebutton.sidebarsidebuttoned i.fa.fa-bars {
  display: block;
}

input.form-control.searchField:hover, input.form-control.searchField:active, input.form-control.searchField:focus {
  border-color: #009648;
}

@media (min-width: 200px) {
  .roo-nav {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 200px) and (max-width: 1000px) {
  .roo-nav.sidebared {
    width: 100% !important;
    transition: width 1s;
    max-width: 100% !important;
  }
  .sidebared {
    overflow: hidden;
    width: 100%;
    transition: width 0.75s, height 1s;
  }
  .roo-sidebar.roo-sidemenu.sidebared {
    display: block;
  }
  .roo-nav.sidebared, .navbar-collapse.collapse.sidebared,
  .sidebared {
    overflow: auto;
    width: auto;
    height: auto;
  }
  .roo-nav.sidebared, .navbar-collapse.collapse.sidebared {
    overflow: auto;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }
}
@media (max-width: 1000px) {
  span.mobile-nav {
    display: inline-flex;
  }
  button.toggleSideNav {
    display: none;
  }
  .navWrapper.row {
    margin: 0.5em;
  }
  .roo-content {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    transition: width 0.75s, height 1s;
  }
  .roo-sidebar.sidebared {
    width: 100%;
    transition: width 0.75s, height 1s;
  }
  .roo-header .roo-appTitle {
    font-size: 90%;
  }
  .roo-header .roo-languageSelect {
    margin: 0;
    padding-top: 0.5em;
    text-align: end;
  }
  .roo-sidebar {
    width: 100%;
  }
}
.roo-nav {
  transition: width 0.75s, height 1s;
  padding: 0;
}
@media (min-width: 1000px) and (max-width: 1700px) {
  .roo-nav {
    max-width: 30%;
  }
}
@media (min-width: 1701px) {
  .roo-nav {
    max-width: 25%;
  }
}

@media (max-width: 1200px) {
  .navbar-brand {
    margin: 0;
  }
}
button.btn.toggleSideNav.roo-sidebarsidebutton.sidebarsidebuttoned {
  margin: 0 auto;
  padding: 1em;
}

button.btn.toggleSideNav.roo-sidebarsidebutton:hover {
  background-color: #e9edf2;
  transition: 0.75s;
}

@media (max-width: 1400px) {
  button.btn.toggleSideNav.roo-sidebarsidebutton.sidebarsidebuttoned {
    margin: 0 auto;
    padding: 1em;
  }
}
/* roo specific variables */
/* roo variables overrides */
html {
  overflow-y: scroll;
}

body {
  background-image: url("../img/tausta.png");
  background-repeat: repeat;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  background-size: unset;
  background-position: unset;
  background-attachment: unset;
}

p a,
tbody a {
  text-decoration: underline;
}

a {
  color: #000;
}

small {
  font-size: unset;
}

li.breadcrumb-item.item-disabled a {
  color: #5a6268;
}

tbody a:visited {
  color: #884488;
}

p {
  font-family: "Poppins", sans-serif;
  font-weight: normal;
  margin: 1rem;
  font-size: 16px;
}

.alert .alert-success .hallintailmot {
  bottom: 0;
  right: 0;
  left: 0;
  position: fixed;
  width: 100%;
}

body.archive {
  background-image: none;
  background-color: lightgray;
}
body.archive .archiveBanner {
  background-color: #006b38;
  text-align: center;
  padding: 0.75em;
  width: 100%;
  margin-bottom: 1em;
}
body.archive .archiveBanner a {
  color: #ffffff;
}

table {
  table-layout: fixed;
  width: 100%;
}

table thead tr th {
  font-size: 1rem;
  font-weight: 400;
  vertical-align: middle;
}

td.nimi {
  padding: 0.5em;
}

.table td, .table th {
  vertical-align: middle;
  background-color: transparent;
}

.table-hover tbody tr:hover > td {
  background-color: rgba(0, 0, 0, 0.075) !important;
}

.opas_opintojaksotaulu tbody tr.STUDY_MODULE td,
.opas_opintojaksotaulu tbody tr.CATEGORY td,
.opas_opintojaksotaulu tbody tr.OFFERING td,
.opas_opintojaksotaulu tbody tr.CLASSIFICATION td,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.STUDY_MODULE td,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.CATEGORY td,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.OFFERING td,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.CLASSIFICATION td,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.STUDY_MODULE td,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.CATEGORY td,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.OFFERING td,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.CLASSIFICATION td,
.opas_opintojaksotaulu.opas_rakenne tbody tr.STUDY_MODULE td,
.opas_opintojaksotaulu.opas_rakenne tbody tr.CATEGORY td,
.opas_opintojaksotaulu.opas_rakenne tbody tr.OFFERING td,
.opas_opintojaksotaulu.opas_rakenne tbody tr.CLASSIFICATION td {
  border: 1px solid #dee2e6;
}
.opas_opintojaksotaulu tbody tr.level-1.STUDY_MODULE,
.opas_opintojaksotaulu tbody tr.level-1.CATEGORY,
.opas_opintojaksotaulu tbody tr.level-1.OFFERING,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-1.STUDY_MODULE,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-1.CATEGORY,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-1.OFFERING,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-1.STUDY_MODULE,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-1.CATEGORY,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-1.OFFERING,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-1.STUDY_MODULE,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-1.CATEGORY,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-1.OFFERING {
  color: #000;
  background-color: rgba(174, 174, 174, 0.5);
}
.opas_opintojaksotaulu tbody tr.level-1.CLASSIFICATION,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-1.CLASSIFICATION,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-1.CLASSIFICATION,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-1.CLASSIFICATION {
  color: #000;
  background-color: rgba(174, 174, 174, 0.1);
}
.opas_opintojaksotaulu tbody tr.level-2.STUDY_MODULE,
.opas_opintojaksotaulu tbody tr.level-2.CATEGORY,
.opas_opintojaksotaulu tbody tr.level-2.OFFERING,
.opas_opintojaksotaulu tbody tr.level-2.CLASSIFICATION,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-2.STUDY_MODULE,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-2.CATEGORY,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-2.OFFERING,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-2.CLASSIFICATION,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-2.STUDY_MODULE,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-2.CATEGORY,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-2.OFFERING,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-2.CLASSIFICATION,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-2.STUDY_MODULE,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-2.CATEGORY,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-2.OFFERING,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-2.CLASSIFICATION {
  padding-left: 1.25rem;
  background-color: rgba(174, 174, 174, 0.25);
}
.opas_opintojaksotaulu tbody tr.level-3.STUDY_MODULE,
.opas_opintojaksotaulu tbody tr.level-3.CATEGORY,
.opas_opintojaksotaulu tbody tr.level-3.OFFERING,
.opas_opintojaksotaulu tbody tr.level-3.CLASSIFICATION,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-3.STUDY_MODULE,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-3.CATEGORY,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-3.OFFERING,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-3.CLASSIFICATION,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-3.STUDY_MODULE,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-3.CATEGORY,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-3.OFFERING,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-3.CLASSIFICATION,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-3.STUDY_MODULE,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-3.CATEGORY,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-3.OFFERING,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-3.CLASSIFICATION {
  background-color: rgba(174, 174, 174, 0.15);
}
.opas_opintojaksotaulu tbody tr.level-4.STUDY_MODULE,
.opas_opintojaksotaulu tbody tr.level-4.CATEGORY,
.opas_opintojaksotaulu tbody tr.level-4.OFFERING,
.opas_opintojaksotaulu tbody tr.level-4.CLASSIFICATION,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-4.STUDY_MODULE,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-4.CATEGORY,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-4.OFFERING,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody tr.level-4.CLASSIFICATION,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-4.STUDY_MODULE,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-4.CATEGORY,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-4.OFFERING,
.opas_opintojaksotaulu.opas_classificationtaulu tbody tr.level-4.CLASSIFICATION,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-4.STUDY_MODULE,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-4.CATEGORY,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-4.OFFERING,
.opas_opintojaksotaulu.opas_rakenne tbody tr.level-4.CLASSIFICATION {
  background-color: rgba(174, 174, 174, 0.05);
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  word-wrap: break-word; /* Katkaisee pitkä sanat pienellä näytöllä */
}

h1 {
  font-size: 2.2rem;
}

h2 {
  font-size: 1.4rem;
  margin-top: 0.5rem;
}

h3 {
  font-size: 1.2rem;
  margin-top: 0.5rem;
}

h4 {
  font-size: 1rem;
}

h5 {
  font-size: 1rem;
}

h6 {
  font-size: 1rem;
}

.courseunitDescriptions h3, .realizationDescriptions h3, #degreeProgrammeDescriptions h3, #curriculumDescriptions h3, #courseunitDescriptions h3, #realization_description h3 {
  margin: 1.5rem 1rem 1rem 1rem;
}

.opas-card {
  margin: 0.75em 0;
}

.realization.listItem {
  margin: 0.5em;
  padding: 0.5em;
}
.realization.listItem a {
  color: #000;
  text-decoration: underline;
}
.realization.listItem .detail {
  font-size: 95%;
}

span.ml-3 {
  margin-left: 1em;
}

.cardName {
  display: flex;
}

.hidden {
  display: none;
}

.ajoituslista {
  list-style: none;
}

/*list show and hide/uncollapse and collapse buttons*/
.showhidebutts {
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
}
.showhidebutts .showhidebutt {
  cursor: pointer;
  color: #006b38;
}
.showhidebutts .showhidebutt.hide,
.showhidebutts .showhidebutt.show {
  display: none;
}

.hidesThenShowsButtonContainer .structureTimingButtons,
.hidesThenShowsButtonContainer .classificationButtons {
  text-align: right;
}
.hidesThenShowsButtonContainer li.list-group-item {
  padding: 0.75rem 0.75rem 0.75rem 0rem;
}
.hidesThenShowsButtonContainer .btn {
  margin: 0.5em;
  padding: 0.5em;
  font-size: 90%;
}

@media (max-width: 800px) {
  .hideThenShowButtonContainer .structureTimingButtons,
  .hideThenShowButtonContainer .classificationButtons {
    text-align: center;
  }
}
.collapsesArea {
  color: inherit;
  text-decoration: inherit;
}
.collapsesArea .showhidebutts .showhidebutt.hide {
  display: inline-block;
}
.collapsesArea .showhidebutts .showhidebutt.show {
  display: none;
}

.collapsesArea.collapsed .showhidebutts .showhidebutt.hide {
  display: none;
}
.collapsesArea.collapsed .showhidebutt.show {
  display: inline-block;
}

.containsToggleableArea .showhidebutts .showhidebutt.hide {
  display: inline-block;
}
.containsToggleableArea .showhidebutts .showhidebutt.show {
  display: none;
}

.containsToggleableArea.collapsedArea .toggleableArea {
  display: none;
}
.containsToggleableArea.collapsedArea .showhidebutts .showhidebutt.hide {
  display: none;
}
.containsToggleableArea.collapsedArea .showhidebutts .showhidebutt.show {
  display: inline-block;
}

/*hallinta*/
.handeli:hover {
  cursor: grab;
}

.handeli:active {
  cursor: grabbing;
}

/* SEARCH */
.searchRow .searchArea .input-group {
  margin-block-end: 0rem;
}
.searchRow .searchArea .input-group btn.clearSearch {
  border-color: #009648;
}
.searchRow .searchArea .input-group btn.doSearch {
  border-color: #006b38;
}
.searchRow .searchArea.enabled {
  opacity: 1;
}
.searchRow .searchArea.disabled {
  opacity: 0.4;
}
.searchRow .searchResultArea {
  width: 100%;
}
.searchRow .searchResultArea .searchResultView {
  overflow-x: hidden;
}
.searchRow .searchResultArea .searchResultView .searchStringMatch {
  color: #006b38;
  text-decoration: underline;
  text-decoration-style: solid;
}
.searchRow .searchResultArea.hidden {
  display: none;
}

.realizationDescriptions {
  padding: 0.9rem 0.9rem 0.9rem 0.9rem;
}
.realizationDescriptions p {
  margin: 1rem;
}
.realizationDescriptions p, .realizationDescriptions li {
  font-size: 16px;
}

.realizationDetails {
  padding: 0.9rem 0.9rem 0.9rem 0.9rem;
}
.realizationDetails p {
  margin: 1rem;
}
.realizationDetails p, .realizationDetails li {
  font-size: unset;
}
.realizationDetails div {
  padding: 0;
}

.row.realizationDetails,
.otsikot-info {
  background-color: #eee;
  border-radius: 0.5em;
  padding: 1em;
  margin: 1em 0;
}

.roo-border-right {
  border-right: 0.5px #E1E1E1 solid;
}

/*whitelist*/
.whitelistItems .whitelistItem {
  padding: 0.75rem 0.75rem 0.75rem 0.75rem;
  cursor: pointer;
}
.whitelistItems .whitelistItem .whitelistItemName {
  color: black;
}
.whitelistItems .whitelistItem .whitelistItemName.hasNameOverride .itemName {
  text-decoration: line-through;
}
.whitelistItems .whitelistItem span.langKey {
  color: grey;
}
.whitelistItems .whitelistItem.notInUse .whitelistItemName {
  color: gray;
  text-decoration: line-through;
}
.whitelistItems .whitelistItem.notInUse .whitelistItemName .itemName {
  font-size: 0.9rem;
  opacity: 0.45;
}
.whitelistItems .whitelistItem.notInUse .whitelistItemName .itemNameOverride {
  font-size: 0.9rem;
  opacity: 0.45;
}
.whitelistItems .whitelistItem.sortable-ghost {
  background-color: lightblue;
  border-radius: 0.9rem;
  margin: 0.75rem 0rem 0.75rem 0rem;
}

.configurableToggleable.notInUse {
  color: gray;
  text-decoration: line-through;
}

.visibilityIndicator .btn {
  width: 150px;
}
.visibilityIndicator .notVisible {
  display: none;
}
.visibilityIndicator .visible {
  display: inline-block;
  background-color: forestgreen;
}

.visibilityIndicator.notVisible .notVisible {
  display: inline-block;
  background-color: red;
  color: #fff;
}
.visibilityIndicator.notVisible .visible {
  display: none;
}

.curriculumStartYear .card-header {
  padding: 0rem 0rem 0rem 0rem;
}
.curriculumStartYear .card-header .btn-link a,
.curriculumStartYear .card-header .opsi a {
  color: #000;
}

/*.roo-scrollToTopButt*/
.roo-scrollToTopButt {
  position: fixed;
  display: none;
  height: 0.25em;
  right: 1em;
  bottom: 1em;
  color: #fff;
  border-top-left-radius: 50%;
  text-align: center;
  line-height: 1.25rem;
  font-size: 2.5rem;
  cursor: pointer;
  animation-duration: 1s;
  animation-name: ilmestys;
}
.roo-scrollToTopButt i.fas {
  transform: translateX(50%);
  transform: translateY(50%);
}

.roo-scrollToTopButt.show {
  display: block;
  color: #006b38;
}

@keyframes ilmestys {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.opas_opintojaksotaulu {
  border-collapse: collapse;
}

.opas_opintojaksotaulu.hidden {
  display: none;
}

.opas_opintojaksotaulu tbody td.laajuus,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody td.laajuus,
.opas_opintojaksotaulu.opas_classificationtaulu tbody td.laajuus,
.opas_opintojaksotaulu.opas_rakenne tbody td.laajuus {
  text-align: center;
  padding: 0;
  white-space: nowrap;
}
.opas_opintojaksotaulu tbody .COURSE_UNIT,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .COURSE_UNIT,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .COURSE_UNIT,
.opas_opintojaksotaulu.opas_rakenne tbody .COURSE_UNIT {
  font-size: 0.9rem;
}
@media only screen and (max-width: 768px) {
  .opas_opintojaksotaulu tbody .COURSE_UNIT td,
  .opas_opintojaksotaulu.opas_ajoitusrakenne tbody .COURSE_UNIT td,
  .opas_opintojaksotaulu.opas_classificationtaulu tbody .COURSE_UNIT td,
  .opas_opintojaksotaulu.opas_rakenne tbody .COURSE_UNIT td {
    font-size: 90% !important;
  }
}
.opas_opintojaksotaulu tbody .STUDY_MODULE,
.opas_opintojaksotaulu tbody .OFFERING,
.opas_opintojaksotaulu tbody .CATEGORY,
.opas_opintojaksotaulu tbody .CLASSIFICATION,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .STUDY_MODULE,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .OFFERING,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .CATEGORY,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .CLASSIFICATION,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .STUDY_MODULE,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .OFFERING,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .CATEGORY,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .CLASSIFICATION,
.opas_opintojaksotaulu.opas_rakenne tbody .STUDY_MODULE,
.opas_opintojaksotaulu.opas_rakenne tbody .OFFERING,
.opas_opintojaksotaulu.opas_rakenne tbody .CATEGORY,
.opas_opintojaksotaulu.opas_rakenne tbody .CLASSIFICATION {
  font-weight: 700;
  font-size: 1rem;
}
@media only screen and (max-width: 768px) {
  .opas_opintojaksotaulu tbody .STUDY_MODULE td,
  .opas_opintojaksotaulu tbody .OFFERING td,
  .opas_opintojaksotaulu tbody .CATEGORY td,
  .opas_opintojaksotaulu tbody .CLASSIFICATION td,
  .opas_opintojaksotaulu.opas_ajoitusrakenne tbody .STUDY_MODULE td,
  .opas_opintojaksotaulu.opas_ajoitusrakenne tbody .OFFERING td,
  .opas_opintojaksotaulu.opas_ajoitusrakenne tbody .CATEGORY td,
  .opas_opintojaksotaulu.opas_ajoitusrakenne tbody .CLASSIFICATION td,
  .opas_opintojaksotaulu.opas_classificationtaulu tbody .STUDY_MODULE td,
  .opas_opintojaksotaulu.opas_classificationtaulu tbody .OFFERING td,
  .opas_opintojaksotaulu.opas_classificationtaulu tbody .CATEGORY td,
  .opas_opintojaksotaulu.opas_classificationtaulu tbody .CLASSIFICATION td,
  .opas_opintojaksotaulu.opas_rakenne tbody .STUDY_MODULE td,
  .opas_opintojaksotaulu.opas_rakenne tbody .OFFERING td,
  .opas_opintojaksotaulu.opas_rakenne tbody .CATEGORY td,
  .opas_opintojaksotaulu.opas_rakenne tbody .CLASSIFICATION td {
    font-size: 85% !important;
  }
}
.opas_opintojaksotaulu tbody .STUDY_MODULE td.koodi,
.opas_opintojaksotaulu tbody .OFFERING td.koodi,
.opas_opintojaksotaulu tbody .CATEGORY td.koodi,
.opas_opintojaksotaulu tbody .COURSE_UNIT td.koodi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .STUDY_MODULE td.koodi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .OFFERING td.koodi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .CATEGORY td.koodi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .COURSE_UNIT td.koodi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .STUDY_MODULE td.koodi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .OFFERING td.koodi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .CATEGORY td.koodi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .COURSE_UNIT td.koodi,
.opas_opintojaksotaulu.opas_rakenne tbody .STUDY_MODULE td.koodi,
.opas_opintojaksotaulu.opas_rakenne tbody .OFFERING td.koodi,
.opas_opintojaksotaulu.opas_rakenne tbody .CATEGORY td.koodi,
.opas_opintojaksotaulu.opas_rakenne tbody .COURSE_UNIT td.koodi {
  padding-left: 1.25rem;
  font-size: 0.75rem;
}
@media only screen and (max-width: 768px) {
  .opas_opintojaksotaulu tbody .STUDY_MODULE td.koodi,
  .opas_opintojaksotaulu tbody .OFFERING td.koodi,
  .opas_opintojaksotaulu tbody .CATEGORY td.koodi,
  .opas_opintojaksotaulu tbody .COURSE_UNIT td.koodi,
  .opas_opintojaksotaulu.opas_ajoitusrakenne tbody .STUDY_MODULE td.koodi,
  .opas_opintojaksotaulu.opas_ajoitusrakenne tbody .OFFERING td.koodi,
  .opas_opintojaksotaulu.opas_ajoitusrakenne tbody .CATEGORY td.koodi,
  .opas_opintojaksotaulu.opas_ajoitusrakenne tbody .COURSE_UNIT td.koodi,
  .opas_opintojaksotaulu.opas_classificationtaulu tbody .STUDY_MODULE td.koodi,
  .opas_opintojaksotaulu.opas_classificationtaulu tbody .OFFERING td.koodi,
  .opas_opintojaksotaulu.opas_classificationtaulu tbody .CATEGORY td.koodi,
  .opas_opintojaksotaulu.opas_classificationtaulu tbody .COURSE_UNIT td.koodi,
  .opas_opintojaksotaulu.opas_rakenne tbody .STUDY_MODULE td.koodi,
  .opas_opintojaksotaulu.opas_rakenne tbody .OFFERING td.koodi,
  .opas_opintojaksotaulu.opas_rakenne tbody .CATEGORY td.koodi,
  .opas_opintojaksotaulu.opas_rakenne tbody .COURSE_UNIT td.koodi {
    font-size: 80% !important;
  }
}
.opas_opintojaksotaulu tbody .level-1 td.nimi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .level-1 td.nimi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .level-1 td.nimi,
.opas_opintojaksotaulu.opas_rakenne tbody .level-1 td.nimi {
  padding-left: 0.5em;
}
.opas_opintojaksotaulu tbody .level-2 td.nimi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .level-2 td.nimi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .level-2 td.nimi,
.opas_opintojaksotaulu.opas_rakenne tbody .level-2 td.nimi {
  padding-left: 2em;
}
.opas_opintojaksotaulu tbody .level-3 td.nimi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .level-3 td.nimi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .level-3 td.nimi,
.opas_opintojaksotaulu.opas_rakenne tbody .level-3 td.nimi {
  padding-left: 4em;
}
.opas_opintojaksotaulu tbody .level-4 td.nimi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .level-4 td.nimi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .level-4 td.nimi,
.opas_opintojaksotaulu.opas_rakenne tbody .level-4 td.nimi {
  padding-left: 6em;
}
.opas_opintojaksotaulu tbody .level-5 td.nimi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .level-5 td.nimi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .level-5 td.nimi,
.opas_opintojaksotaulu.opas_rakenne tbody .level-5 td.nimi {
  padding-left: 8em;
}
.opas_opintojaksotaulu tbody .level-6 td.nimi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .level-6 td.nimi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .level-6 td.nimi,
.opas_opintojaksotaulu.opas_rakenne tbody .level-6 td.nimi {
  padding-left: 10em;
}
.opas_opintojaksotaulu tbody .level-7 td.nimi,
.opas_opintojaksotaulu.opas_ajoitusrakenne tbody .level-7 td.nimi,
.opas_opintojaksotaulu.opas_classificationtaulu tbody .level-7 td.nimi,
.opas_opintojaksotaulu.opas_rakenne tbody .level-7 td.nimi {
  padding-left: 12em;
}

.opas_ajoitusrakenne .opas_ajoitusrakennetaulu .collapse .studyModuleDescriptions {
  width: 500px;
  font-weight: normal;
}
.opas_ajoitusrakenne .opas_ajoitusrakennetaulu .collapse .studyModuleDescriptions p {
  font-weight: normal;
}
.opas_ajoitusrakenne .opas_ajoitusrakennetaulu tbody tr td .nimi {
  cursor: pointer;
}
.opas_ajoitusrakenne .opas_ajoitusrakennetaulu tbody tr td.laajuus {
  text-align: center;
  padding: 0;
  white-space: nowrap;
}
.opas_ajoitusrakenne .opas_ajoitusrakennetaulu tbody tr .timings_year,
.opas_ajoitusrakenne .opas_ajoitusrakennetaulu tbody tr .timings_semester,
.opas_ajoitusrakenne .opas_ajoitusrakennetaulu tbody tr .timings_period {
  text-align: center;
}
.opas_ajoitusrakenne .opas_ajoitusrakennetaulu tbody tr.creditSumRow {
  font-size: 120%;
  /*background-color: #0085cf;*/
  /*color: #fff;*/
}
.opas_classificationtaulu tr.level-1.CLASSIFICATION {
  font-size: 120%;
}
.opas_classificationtaulu tr.level-2 td.nimi a {
  margin-left: 1em;
}
.opas_classificationtaulu .opas_rakenne {
  border-collapse: collapse;
}
.opas_classificationtaulu .opas_rakenne tbody tr td .nimi {
  cursor: pointer;
}
.opas_classificationtaulu .opas_rakenne tbody tr td.laajuus {
  text-align: center;
  padding: 0;
  white-space: nowrap;
}
.opas_classificationtaulu .opas_rakenne tbody tr.level-1 {
  font-size: 120%;
}
.opas_classificationtaulu .opas_rakenne tbody tr.level-2 > .nimi {
  margin-left: 1em;
}
.opas_classificationtaulu .opas_rakenne tbody tr.level-3 > .nimi {
  margin-left: 2em;
}
.opas_classificationtaulu .opas_rakenne tbody tr.STUDY_MODULE {
  font-size: 120%;
}
.opas_classificationtaulu .opas_rakenne tbody tr.OFFERING {
  font-size: 120%;
}
.opas_classificationtaulu .opas_rakenne tbody tr.COURSE_UNIT .nimi a {
  margin-left: 1em;
}

/*thisYear*/
.getsHiddenByButton.hidden {
  display: none;
}

/** YLEISIÄ TYYLITYKSIÄ */
.pointer {
  cursor: pointer;
}

.bold {
  font-weight: bold;
}

.box-shadow {
  box-shadow: 0px 0px 20px 5px #ddd;
}

.border-radius {
  border-radius: 5px;
}

.selected {
  font-weight: 600 !important;
}

.box-shadow {
  box-shadow: 0 5px 10px #c8c8c8;
}

.toteutus.card {
  margin: 0.5em;
}

.no-margin {
  margin: 0;
}

.no-list-style {
  list-style: none;
}

.no-padding {
  padding: 0;
}

.degree-info h6 {
  font-weight: 400;
}

details {
  width: 500px;
}

.studyModuledetails .descriptionsList {
  padding: 1em;
  color: #000;
  background-color: #eee9e9;
}
.studyModuledetails .descriptionsList h4 {
  font-weight: 500;
  font-size: 0.9rem;
}
.studyModuledetails .descriptionsList p {
  font-size: 1rem;
}

a.opas-card {
  text-decoration: none !important;
  width: 100%;
}
a.opas-card :hover {
  background-color: #d5d6d8 !important;
}

.opas-card .cardCollapseStateIndicator {
  color: #006b38;
  margin-right: 0.3em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.opas-card .cardCollapseStateIndicator .expanded {
  display: inline-block;
}
.opas-card .cardCollapseStateIndicator .compressed {
  display: none;
}
.opas-card .collapsed .cardCollapseStateIndicator .expanded {
  display: none;
}
.opas-card .collapsed .cardCollapseStateIndicator .compressed {
  display: inline-block;
}

summary {
  font-size: 13px;
}

.underline {
  text-decoration: underline;
}

li.language.hide {
  display: none;
}

li.language.show {
  display: block;
  border: none;
}

.anchored {
  display: flex;
}

.anchored h1,
.anchored h2,
.anchored h3,
.anchored h4,
.anchored.cardCollapseStateIndicator {
  margin: 0 0.25em 0 0.25em;
}

.subtitle {
  font-size: 0.9rem;
}

.btn, button {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

.row.height {
  height: inherit;
}

p.optionality {
  font-size: 0.75em;
  margin: 0 0 0.5em 0;
}

button.btn.rounded.card-header.pointer:hover, button.btn.rounded.card-header.pointer:focus {
  background-color: #d5d6d8;
}

.hideThenShowButtonContainer li.nav-item {
  margin: 0.5em;
}

li.nav-item, .curriculumAttachmentLink, .structureButtons > .row {
  max-width: 95%;
}

.hideThenShowButtonContainer li button {
  width: 100%;
}

.hideThenShowButtonContainer li button.btn.btn-primary.active,
.classificationButtons li button.btn.active {
  background-color: #009648;
  color: #000;
}

button.opasPopover.btn.btn-outline-secondary.btn-sm.float-end {
  margin: 0.75em;
  color: #000;
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  button.opasPopover.btn.btn-outline-secondary.btn-sm.float-end {
    font-size: 10px !important;
  }
}

button.opasPopover.btn.btn-outline-secondary.btn-sm.float-end:hover {
  background-color: #009648;
  color: #000;
}

th.nimi.header {
  width: 50%;
}

th.code.header,
th.laajuus.header {
  width: 10%;
}

.screen-reader-only {
  position: absolute;
  height: 1px;
  width: 1px;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
  -webkit-clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
  overflow: hidden !important;
}

.roo-closeButton {
  position: absolute;
  right: 0px;
  top: 0px;
}

.past .opas-card .card button.card-header {
  background-color: #cccccc;
}

.present .opas-card .card button.card-header {
  background-color: #cbfdcb;
}

.future .opas-card .card button.card-header {
  background-color: #d6ebf2;
}

li.roo-link-item {
  background-color: #eee;
  list-style: none;
  margin: 1em 0;
  padding: 0;
}
li.roo-link-item a {
  color: #000;
  text-decoration: underline;
  padding: 1em;
  display: block;
  width: 100%;
  height: 100%;
}

li.roo-link-item:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

a {
  color: #000;
  text-decoration: underline;
}

li.dg {
  padding-left: 0.25em;
  list-style: none;
  margin: 1em;
}

.tag-OO-SDG-1 {
  color: #ffffff;
  width: 25px;
  background-color: #e5243b; /* Goal 1: No Poverty */
}

.tag-OO-SDG-2 {
  color: #ffffff;
  width: 25px;
  background-color: #dda63a; /* Goal 2: Zero Hunger */
}

.tag-OO-SDG-3 {
  color: #ffffff;
  width: 25px;
  background-color: #4c9f38; /* Goal 3: Good Health and Well-being */
}

.tag-OO-SDG-4 {
  color: #ffffff;
  width: 25px;
  background-color: #c5192d; /* Goal 4: Quality Education */
}

.tag-OO-SDG-5 {
  color: #ffffff;
  width: 25px;
  background-color: #ff3a21; /* Goal 5: Gender Equality */
}

.tag-OO-SDG-6 {
  color: #ffffff;
  width: 25px;
  background-color: #26bde2; /* Goal 6: Clean Water and Sanitation */
}

.tag-OO-SDG-7 {
  color: #ffffff;
  width: 25px;
  background-color: #fcc30b; /* Goal 7: Affordable and Clean Energy */
}

.tag-OO-SDG-8 {
  color: #ffffff;
  width: 25px;
  background-color: #a21942; /* Goal 8: Decent Work and Economic Growth */
}

.tag-OO-SDG-9 {
  color: #ffffff;
  width: 25px;
  background-color: #fd6925; /* Goal 9: Industry, Innovation, and Infrastructure */
}

.tag-OO-SDG-10 {
  color: #ffffff;
  width: 25px;
  background-color: #dd1367; /* Goal 10: Reduced Inequalities */
}

.tag-OO-SDG-11 {
  color: #ffffff;
  width: 25px;
  background-color: #fd9d24; /* Goal 11: Sustainable Cities and Communities */
}

.tag-OO-SDG-12 {
  color: #ffffff;
  width: 25px;
  background-color: #bf8b2e; /* Goal 12: Responsible Consumption and Production */
}

.tag-OO-SDG-13 {
  color: #ffffff;
  width: 25px;
  background-color: #3f7e44; /* Goal 13: Climate Action */
}

.tag-OO-SDG-14 {
  color: #ffffff;
  width: 25px;
  background-color: #0a97d9; /* Goal 14: Life Below Water */
}

.tag-OO-SDG-15 {
  color: #ffffff;
  width: 25px;
  background-color: #56c02b; /* Goal 15: Life on Land */
}

.tag-OO-SDG-16 {
  color: #ffffff;
  width: 25px;
  background-color: #00689d; /* Goal 16: Peace, Justice, and Strong Institutions */
}

.tag-OO-SDG-17 {
  color: #ffffff;
  width: 25px;
  background-color: #19486a; /* Goal 17: Partnerships for the Goals */
}

.menuItemSubHead,
.roo-link-item,
li.roo-menu-offering,
li.curriculumAttachmentLink {
  background-color: #eee;
  list-style: none;
  margin: 0 0 1em 0;
  padding: 1em;
}
.menuItemSubHead li.dg a,
.roo-link-item li.dg a,
li.roo-menu-offering li.dg a,
li.curriculumAttachmentLink li.dg a {
  color: #000;
  text-decoration: underline !important;
}
.menuItemSubHead h4,
.roo-link-item h4,
li.roo-menu-offering h4,
li.curriculumAttachmentLink h4 {
  font-size: 100%;
}
.menuItemSubHead h3,
.roo-link-item h3,
li.roo-menu-offering h3,
li.curriculumAttachmentLink h3 {
  font-size: 125%;
}

h2 a, h3 a, h4 a {
  color: #000;
  padding-left: 0.25em;
}

.menuItemSubHead.fi {
  background-color: #eee;
}

.menuItemSubHead.fi a {
  color: #000;
}

.menuItemSubHead.en {
  background-color: #eee;
}

.menuItemSubHead.en a {
  color: #000;
}

.statement__section {
  margin-top: 2em;
  margin-bottom: 4em;
}

.statement__inaccessible {
  margin-bottom: 2em;
}

.flaws {
  margin-top: 1em;
  padding-left: 0;
}

.flaw {
  margin-bottom: 1em;
  list-style: none;
  background-color: #f0f0f0;
  padding: 0.5em;
}

.flaw__title {
  margin-bottom: 1em;
}

.flaw__subtitle {
  margin-bottom: 1em;
}

.flaw p {
  margin-bottom: 1em;
}

.flaw ul {
  margin-bottom: 1em;
}

.flaw__wcag li {
  margin: 0;
}

.opas-card .row .col-md-4.group {
  padding: 0;
}

@media only screen and (max-width: 600px) {
  div#courseunitDescriptions h4,
  div#curriculumDescriptions h4 {
    margin: 0.5em;
  }
  .card-body,
  .roo-contentarea {
    padding: 0.25em;
  }
  .opas-card {
    margin: 0.2em;
  }
  .opas-card .row .col-md-4.group {
    padding-left: 15px !important;
  }
  .roo-contentarea {
    margin: 0.5em;
  }
  .row.realizationDetails {
    padding: 0;
    margin: 0;
  }
  .realizationDescriptions p {
    margin: 0.5em 0;
  }
  button.btn.rounded.card-header {
    padding: 0.5em;
    text-decoration: none;
  }
}
/* roo specific variables */
/* roo variables overrides */
.push {
  height: 10em;
}

html {
  position: relative;
  min-height: 100%;
}

.footer {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 9em;
  width: 100%;
  background-color: #f5f5f5;
}
.footer a {
  color: #000;
  text-decoration: underline;
}
.footer .container {
  margin-top: 2em;
}
.footer .col-sm-12.col-md-4.archiveLink {
  line-height: 1.3em;
}

@media only screen and (max-width: 750px) {
  footer .col-sm-12.col-md-4 {
    margin: 0 0 1em 0;
  }
  .footer {
    height: 13em;
  }
  .push {
    height: 14em;
  }
  .footer-link {
    margin: 1em 0;
  }
  footer .col-sm-12.col-md-4:last-child,
  .footer-link:last-child,
  .col-sm-12.col-md-4:first-child {
    margin: 0;
  }
}
/* roo specific variables */
/* roo variables overrides */
/*--------------------------------------------------------
//LIBRARY $curriculum
*/
table.table-hover.table-bordered.table-sticky.table-responsive-sm th {
  position: sticky;
  top: -1px;
  z-index: 990;
}

table {
  background-color: #fff;
}

@media (max-width: 768px) {
  table td {
    font-size: 110% !important;
    padding-left: 0.5em !important;
  }
  table.table-hover.table-bordered.table-sticky.table-responsive-sm th {
    font-size: 100% !important;
  }
  .card-body {
    padding: 1rem 0 !important;
  }
  .roo-contentarea {
    padding: 0.5em !important;
  }
}
.list-group .list-group-item .badge {
  float: right;
}

/*anchorJS stylejä*/
.anchorjs-link {
  transition: all 0.25s linear;
  opacity: 0.25;
}

*:hover > .anchorjs-link {
  opacity: 1;
}

.btn-primary {
  color: #fff;
  background-color: #006b38;
  border-color: #006b38;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a.btn:hover {
  text-decoration: none;
  background-color: #d5d6d8;
}

.btn-primary:hover,
.btn-secondary:active,
.btn-secondary:active,
.btn-outline-info.active,
.btn-outline-info:active,
a.btn-secondary:active,
a.btn-secondary:active,
a.btn-outline-info.active,
a.btn-outline-info:active,
.btn-primary.active,
.btn-primary:active,
a.btn-primary.active,
a.btn-primary:active,
.btn-secondary:hover,
.btn-outline-info:hover,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.structureButtons .nav-link:focus,
.btn-primary.focus, .btn-primary:focus {
  color: #000;
  background-color: #009648;
  border-color: #009648;
}

.btn-secondary {
  color: #000;
  background-color: #009648;
  border-color: #4e555b;
}

.btn-outline-info {
  color: #fff;
  background-color: #006b38;
  border-color: #006b38;
}

.btn-outline-secondary {
  color: #000;
}

.btn-secondary:active:focus,
.btn-secondary:active:focus {
  box-shadow: 0 0 0 0.2rem #009648;
}

.badge-info {
  color: #fff;
  background-color: #009648;
  border: 2px solid;
  border-color: #009648;
  font-weight: 700;
  padding: 0.9rem 1rem;
}

nav.navbar.navbar-expand-sm {
  padding-right: 0;
}

.navbar .navbar-expand button.navbar-toggler {
  margin: auto;
  display: none;
}
.navbar .navbar-expand button.navbar-toggler .navbar-toggler-show {
  display: block;
}
@media (min-width: 960px) {
  .navbar .navbar-expand-sm .navbar-toggler {
    display: none !important;
  }
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 150, 72, 0.15);
}

.table thead th {
  background-color: rgba(174, 174, 174, 0.75);
  color: #000000;
  vertical-align: middle;
}

@media (max-width: 1000px) {
  button.btn.toggleSideNav.roo-sidebarsidebutton {
    background-color: white;
    font-size: 150%;
    padding: 0;
    display: none !important;
  }
}
.popover {
  max-width: 50%;
}

@media only screen and (max-width: 600px) {
  .popover {
    max-width: 70%;
  }
}
.structureButtons .nav-link {
  background-color: #006b38;
  color: #fff;
  margin: 0.5em;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.nav-pills .nav-link:hover {
  background-color: #009648;
  color: #000;
  border: 1px solid #009648;
}

.nav-pills .nav-link {
  border-radius: 0.25rem;
  border: 1px solid #eee;
}

.nav-fill .nav-item, .nav-fill > .nav-link {
  margin: 0 5px;
}

.btn-outline-secondary.focus, .btn-outline-secondary:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.5);
}

i.fas.fa-circle {
  font-size: 75%;
}

.h4 {
  font-size: 100% !important;
}

@media print {
  /* Hide all elements for printing */
  .roo-nav, .roo-header, .footer, .roo-scrollToTopButt, .roo-contentarea-search, button.opasPopover, #shareBtn {
    display: none !important;
  }
}

/*# sourceMappingURL=index.css.map */
