@font-face {
  font-family: "Trajan Pro Regular";
  src: url("fonts/Trajan_Pro_Regular.ttf") format("truetype"); }
@font-face {
  font-family: 'Open Sans';
  src: url("fonts/opensans/opensans_bold/OpenSans-Bold-webfont.eot");
  src: url("fonts/opensans/opensans_bold/OpenSans-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/opensans/opensans_bold/OpenSans-Bold-webfont.woff") format("woff"), url("fonts/opensans/opensans_bold/OpenSans-Bold-webfont.ttf") format("truetype"), url("fonts/opensans/opensans_bold/OpenSans-Bold-webfont.svg#open_sansbold") format("svg");
  font-weight: 700;
  font-style: normal; }
@font-face {
  font-family: 'Open Sans';
  src: url("fonts/opensans/opensans_bolditalic/OpenSans-BoldItalic-webfont.eot");
  src: url("fonts/opensans/opensans_bolditalic/OpenSans-BoldItalic-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/opensans/opensans_bolditalic/OpenSans-BoldItalic-webfont.woff") format("woff"), url("fonts/opensans/opensans_bolditalic/OpenSans-BoldItalic-webfont.ttf") format("truetype"), url("fonts/opensans/opensans_bolditalic/OpenSans-BoldItalic-webfont.svg#open_sansbold_italic") format("svg");
  font-weight: 700;
  font-style: italic; }
@font-face {
  font-family: 'Open Sans';
  src: url("fonts/opensans/opensans_extrabold/OpenSans-ExtraBold-webfont.eot");
  src: url("fonts/opensans/opensans_extrabold/OpenSans-ExtraBold-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/opensans/opensans_extrabold/OpenSans-ExtraBold-webfont.woff") format("woff"), url("fonts/opensans/opensans_extrabold/OpenSans-ExtraBold-webfont.ttf") format("truetype"), url("fonts/opensans/opensans_extrabold/OpenSans-ExtraBold-webfont.svg#open_sansextrabold") format("svg");
  font-weight: 800;
  font-style: normal; }
@font-face {
  font-family: 'Open Sans';
  src: url("fonts/opensans/opensans_extrabolditalic/OpenSans-ExtraBoldItalic-webfont.eot");
  src: url("fonts/opensans/opensans_extrabolditalic/OpenSans-ExtraBoldItalic-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/opensans/opensans_extrabolditalic/OpenSans-ExtraBoldItalic-webfont.woff") format("woff"), url("fonts/opensans/opensans_extrabolditalic/OpenSans-ExtraBoldItalic-webfont.ttf") format("truetype"), url("fonts/opensans/opensans_extrabolditalic/OpenSans-ExtraBoldItalic-webfont.svg#open_sansextrabold_italic") format("svg");
  font-weight: 800;
  font-style: italic; }
@font-face {
  font-family: 'Open Sans';
  src: url("fonts/opensans/opensans_italic/OpenSans-Italic-webfont.eot");
  src: url("fonts/opensans/opensans_italic/OpenSans-Italic-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/opensans/opensans_italic/OpenSans-Italic-webfont.woff") format("woff"), url("fonts/opensans/opensans_italic/OpenSans-Italic-webfont.ttf") format("truetype"), url("fonts/opensans/opensans_italic/OpenSans-Italic-webfont.svg#open_sansitalic") format("svg");
  font-weight: 400;
  font-style: italic; }
@font-face {
  font-family: 'Open Sans';
  src: url("fonts/opensans/opensans_light/OpenSans-Light-webfont.eot");
  src: url("fonts/opensans/opensans_light/OpenSans-Light-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/opensans/opensans_light/OpenSans-Light-webfont.woff") format("woff"), url("fonts/opensans/opensans_light/OpenSans-Light-webfont.ttf") format("truetype"), url("fonts/opensans/opensans_light/OpenSans-Light-webfont.svg#open_sanslight") format("svg");
  font-weight: 300;
  font-style: normal; }
@font-face {
  font-family: 'Open Sans';
  src: url("fonts/opensans/opensans_lightitalic/OpenSans-LightItalic-webfont.eot");
  src: url("fonts/opensans/opensans_lightitalic/OpenSans-LightItalic-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/opensans/opensans_lightitalic/OpenSans-LightItalic-webfont.woff") format("woff"), url("fonts/opensans/opensans_lightitalic/OpenSans-LightItalic-webfont.ttf") format("truetype"), url("fonts/opensans/opensans_lightitalic/OpenSans-LightItalic-webfont.svg#open_sanslight_italic") format("svg");
  font-weight: 300;
  font-style: italic; }
@font-face {
  font-family: 'Open Sans';
  src: url("fonts/opensans/opensans_regular/OpenSans-Regular-webfont.eot");
  src: url("fonts/opensans/opensans_regular/OpenSans-Regular-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/opensans/opensans_regular/OpenSans-Regular-webfont.woff") format("woff"), url("fonts/opensans/opensans_regular/OpenSans-Regular-webfont.ttf") format("truetype"), url("fonts/opensans/opensans_regular/OpenSans-Regular-webfont.svg#open_sansregular") format("svg");
  font-weight: 400;
  font-style: normal; }
@font-face {
  font-family: 'Open Sans';
  src: url("fonts/opensans/opensans_semibold/OpenSans-Semibold-webfont.eot");
  src: url("fonts/opensans/opensans_semibold/OpenSans-Semibold-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/opensans/opensans_semibold/OpenSans-Semibold-webfont.woff") format("woff"), url("fonts/opensans/opensans_semibold/OpenSans-Semibold-webfont.ttf") format("truetype"), url("fonts/opensans/opensans_semibold/OpenSans-Semibold-webfont.svg#open_sanssemibold") format("svg");
  font-weight: 600;
  font-style: normal; }
@font-face {
  font-family: 'Open Sans';
  src: url("fonts/opensans/opensans_semibolditalic/OpenSans-SemiboldItalic-webfont.eot");
  src: url("fonts/opensans/opensans_semibolditalic/OpenSans-SemiboldItalic-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/opensans/opensans_semibolditalic/OpenSans-SemiboldItalic-webfont.woff") format("woff"), url("fonts/opensans/opensans_semibolditalic/OpenSans-SemiboldItalic-webfont.ttf") format("truetype"), url("fonts/opensans/opensans_semibolditalic/OpenSans-SemiboldItalic-webfont.svg#open_sanssemibold_italic") format("svg");
  font-weight: 600;
  font-style: italic; }
.auth-cas-color {
  color: midnightblue; }

.auth-facebook-color {
  color: #3b5998; }

.auth-google-color {
  color: #da3a25; }

.auth-email-color {
  color: green; }

.positive-background {
  background-color: #dcffdd; }

.negative-background {
  background-color: #ffebeb; }

.yellow-background {
  background-color: #ffffcc; }

.neutral-background {
  background-color: #ebeff7; }

.negative-color {
  color: #800000; }

.auth-cas-color {
  color: midnightblue; }

.auth-facebook-color {
  color: #3b5998; }

.auth-google-color {
  color: #da3a25; }

.auth-email-color {
  color: green; }

.positive-background {
  background-color: #dcffdd; }

.negative-background {
  background-color: #ffebeb; }

.yellow-background {
  background-color: #ffffcc; }

.neutral-background {
  background-color: #ebeff7; }

.negative-color {
  color: #800000; }

.nice-button, [type="submit"].green-button, a.green-button, [type="submit"].red-button, a.red-button, [type="submit"].blue-button, a.blue-button {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  display: inline-block;
  cursor: pointer;
  color: #fff !important;
  font-size: 1.375rem;
  font-weight: bold;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  padding: 13px 12px;
  text-decoration: none;
  margin: 0;
  outline: none; }
  .nice-button::-moz-focus-inner, [type="submit"].green-button::-moz-focus-inner, a.green-button::-moz-focus-inner, [type="submit"].red-button::-moz-focus-inner, a.red-button::-moz-focus-inner, [type="submit"].blue-button::-moz-focus-inner, a.blue-button::-moz-focus-inner {
    border: 0; }
  .nice-button:active, [type="submit"].green-button:active, a.green-button:active, [type="submit"].red-button:active, a.red-button:active, [type="submit"].blue-button:active, a.blue-button:active {
    position: relative;
    top: 1px;
    left: 1px; }
  .nice-button[disabled]:not(.keep-color), [disabled][type="submit"].green-button:not(.keep-color), a[disabled].green-button:not(.keep-color), [disabled][type="submit"].red-button:not(.keep-color), a[disabled].red-button:not(.keep-color), [disabled][type="submit"].blue-button:not(.keep-color), a[disabled].blue-button:not(.keep-color) {
    -moz-box-shadow: inset 0 1px 0 0 #777;
    -webkit-box-shadow: inset 0 1px 0 0 #777;
    cursor: default;
    color: #aaa !important;
    background-color: #777 !important;
    border: 1px solid #333 !important; }
    .nice-button[disabled]:not(.keep-color):active, [disabled][type="submit"].green-button:not(.keep-color):active, a[disabled].green-button:not(.keep-color):active, [disabled][type="submit"].red-button:not(.keep-color):active, a[disabled].red-button:not(.keep-color):active, [disabled][type="submit"].blue-button:not(.keep-color):active, a[disabled].blue-button:not(.keep-color):active {
      position: static; }

[type="submit"].green-button, a.green-button {
  -moz-box-shadow: inset 0 1px 0 0 #9acc85;
  -webkit-box-shadow: inset 0 1px 0 0 #9acc85;
  box-shadow: inset 0 1px 0 0 #9acc85;
  background-color: #68a14f;
  border: 1px solid #3b6e22; }
  [type="submit"].green-button:hover, a.green-button:hover {
    background-color: #68a54b; }

[type="submit"].red-button, a.red-button {
  -moz-box-shadow: inset 0 1px 0 0 #cc595a;
  -webkit-box-shadow: inset 0 1px 0 0 #cc595a;
  box-shadow: inset 0 1px 0 0 #cc595a;
  background-color: #ad403c;
  border: 1px solid #6e161a; }
  [type="submit"].red-button:hover, a.red-button:hover {
    background-color: #a53531; }

[type="submit"].blue-button, a.blue-button {
  -moz-box-shadow: inset 0 1px 0 0 #1054ac;
  -webkit-box-shadow: inset 0 1px 0 0 #1054ac;
  box-shadow: inset 0 1px 0 0 #1054ac;
  background-color: #00447C;
  border: 1px solid #00245c; }
  [type="submit"].blue-button:hover, a.blue-button:hover {
    background-color: #10548c; }

@-ms-viewport {
  width: device-width; }
img {
  max-width: 100%;
  height: auto; }

body > header {
  width: 100%;
  max-width: 1200px; }
  body > header .top-bar {
    text-align: right; }
    body > header .top-bar .top-infobox-trigger {
      padding-left: 10px;
      padding-right: 10px;
      text-align: center;
      line-height: 40px;
      color: #e4660c;
      cursor: pointer;
      float: left; }
    body > header .top-bar .top-menu-trigger {
      padding-left: 10px;
      padding-right: 10px;
      width: 20px;
      text-align: center;
      color: #00447C;
      line-height: 40px;
      cursor: pointer; }
    body > header .top-bar .top-menu {
      height: auto;
      width: auto;
      text-align: left; }
      @media only screen and (min-width: 781px) {
        body > header .top-bar .top-menu {
          display: block !important; } }
      @media only screen and (max-width: 780px) {
        body > header .top-bar .top-menu .top-menu-items li.messages span.label, body > header .top-bar .top-menu .top-menu-items li.notifications span.label {
          display: inline; } }
    @media only screen and (max-width: 780px) {
      body > header .top-bar .top-menu-trigger, body > header .top-bar .top-infobox-trigger {
        display: inline-block; }
      body > header .top-bar .top-menu {
        display: none;
        position: absolute;
        right: 5px;
        top: 40px;
        box-shadow: 0 1px 10px black;
        text-align: left; }
        body > header .top-bar .top-menu .top-menu-items {
          height: auto;
          flex-direction: column; }
          body > header .top-bar .top-menu .top-menu-items li {
            border: none; }
            body > header .top-bar .top-menu .top-menu-items li:first-child {
              border: none; }
            body > header .top-bar .top-menu .top-menu-items li a, body > header .top-bar .top-menu .top-menu-items li form {
              padding-left: 32px;
              position: relative; }
            body > header .top-bar .top-menu .top-menu-items li span.fa {
              position: absolute;
              top: 13px;
              left: 12px; }
            body > header .top-bar .top-menu .top-menu-items li span.label.hidden {
              display: inline; } }
    @media only screen and (max-width: 880px) {
      body > header .top-bar .eu-name {
        display: none; } }
  body > header #header {
    width: 100%;
    max-width: 1200px;
    clear: both; }
    body > header #header > div:first-child {
      background-position: right bottom;
      width: 100%;
      max-width: 1200px; }
      @media only screen and (max-width: 670px) {
        body > header #header > div:first-child {
          height: auto; }
          body > header #header > div:first-child > div:first-child {
            flex-direction: column;
            height: auto; }
            body > header #header > div:first-child > div:first-child > :first-child {
              border-right: none; }
            body > header #header > div:first-child > div:first-child > :last-child {
              width: 100%;
              text-align: center;
              padding: 30px;
              border-top: solid 2px #666; } }
  body > header .main-menu-trigger {
    background-color: #00447C;
    opacity: 0.95;
    color: white;
    text-align: center;
    padding: 15px 0;
    cursor: pointer; }
  @media only screen and (min-width: 551px) {
    body > header .main-menu {
      display: block !important; } }
  @media only screen and (max-width: 900px) {
    body > header .main-menu {
      position: static;
      width: auto; } }
  @media only screen and (max-width: 1200px) {
    body > header .main-menu {
      right: 0; } }
  @media only screen and (max-width: 550px) {
    body > header .main-menu-trigger {
      display: block; }
    body > header .main-menu {
      display: none;
      height: auto; }
      body > header .main-menu ul {
        flex-direction: column; }
        body > header .main-menu ul li {
          border-right: none; } }

body > footer {
  width: auto;
  max-width: 1200px;
  overflow: hidden; }
  @media only screen and (max-width: 800px) {
    body > footer section#info > section:first-child {
      display: none; } }

body > main, #content {
  width: auto;
  max-width: 1160px; }
  @media only screen and (max-height: 800px) {
    body > main, #content {
      min-height: 600px; } }
  @media only screen and (max-height: 700px) {
    body > main, #content {
      min-height: 500px; } }
  @media only screen and (max-height: 600px) {
    body > main, #content {
      min-height: 400px; } }
  @media only screen and (max-height: 500px) {
    body > main, #content {
      min-height: 300px; } }
  @media only screen and (max-height: 400px) {
    body > main, #content {
      min-height: 200px; } }
  @media only screen and (max-width: 900px) {
    body > main, #content {
      padding-top: 10px; } }

.programme > section img, .org-programmes-list, .org-unit-tree {
  max-width: calc(100% - 497px - 40px);
  height: auto; }

@media only screen and (max-width: 1000px) {
  .right-panel {
    width: 40%; }

  .programme > section img, .org-programmes-list, .org-unit-tree, .with-right-column {
    max-width: calc(60% - 35px); }

  .with-right-column {
    padding-right: 0; } }
@media only screen and (max-width: 800px) {
  .right-panel {
    float: none;
    margin-left: auto;
    margin-right: auto;
    width: 100%; }

  .programme > section img {
    max-width: 100%;
    display: block;
    margin: auto; }

  .tech-details img {
    width: 100%; }

  .field-programmes-list, .org-programmes-list, .org-unit-tree, .with-right-column {
    max-width: 100%; } }
@media only screen and (max-width: 800px) {
  .box, .error-box, .warning-box, .info-box, .success-box {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0; } }

@media only screen and (max-width: 650px) {
  table.input-table, table.input-table.narrow, table.input-table.medium {
    width: 100%;
    min-width: 0; }
    table.input-table th, table.input-table.narrow th, table.input-table.medium th {
      min-width: 0; }
    table.input-table th:first-child, table.input-table.narrow th:first-child, table.input-table.medium th:first-child {
      width: auto; }
    table.input-table input, table.input-table.narrow input, table.input-table.medium input {
      min-width: 0; } }
#login-select {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  #login-select a {
    min-width: 234px; }

@media only screen and (max-width: 900px) {
  .infobox-trigger {
    top: 5px; } }
@media only screen and (max-width: 700px) {
  .infobox-trigger {
    display: none; } }

@media only screen and (max-width: 768px) {
  #selected-registration, #unselected-registration, #navbar, h1 {
    margin-right: 40px; } }
@media only screen and (max-width: 700px) {
  #selected-registration, #unselected-registration, #navbar, h1 {
    margin-right: 0; } }

@media only screen and (max-width: 768px) {
  body > main, #content {
    padding-left: 5px;
    padding-right: 5px; }
    body > main h1, #content h1 {
      font-size: 1.25rem; }
    body > main h2.box-header, #content h2.box-header {
      font-size: 1.125rem; }

  .field-programmes-list, .org-unit-tree {
    padding-left: 0;
    padding-right: 0; }

  .ui-tabs .ui-tabs-panel {
    padding: 0; } }
@media only screen and (min-width: 1000px) {
  ul.reg_select li {
    min-width: 400px; } }

table.styled-table.bt {
  display: block; }
  table.styled-table.bt td, table.styled-table.bt th {
    width: auto; }
  table.styled-table.bt tbody {
    display: block; }
    table.styled-table.bt tbody tr {
      border: 1px solid #aaaaaa;
      display: block; }
      table.styled-table.bt tbody tr:not(:last-of-type) {
        border-bottom: none; }
      table.styled-table.bt tbody tr td {
        padding: 0;
        align-items: center;
        position: relative; }
      table.styled-table.bt tbody tr td::before {
        text-align: right;
        z-index: 1; }
      table.styled-table.bt tbody tr td::before, table.styled-table.bt tbody tr td::after {
        width: 100px;
        box-sizing: border-box; }
      table.styled-table.bt tbody tr td::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        height: calc(100% + 2px);
        background-color: #ebeff7;
        border-right: 1px solid #aaaaaa; }
      table.styled-table.bt tbody tr td:last-child::after {
        height: 100%; }
      table.styled-table.bt tbody tr .bt-hide:last-child {
        display: block;
        position: absolute;
        border-top: 1px solid #aaaaaa;
        height: 0; }
      table.styled-table.bt tbody tr .bt-content, table.styled-table.bt tbody tr td::before {
        padding: 4px 5px; }
  table.styled-table.bt tfoot {
    display: block;
    border: 1px solid #aaaaaa;
    border-bottom: none; }
    table.styled-table.bt tfoot tr {
      display: block; }
      table.styled-table.bt tfoot tr th {
        padding: 0; }
      table.styled-table.bt tfoot tr ::before {
        display: none; }
      table.styled-table.bt tfoot tr .bt-content {
        width: 100%; }
        table.styled-table.bt tfoot tr .bt-content > * {
          padding: 4px 5px; }

#programme-turns-table.bt tbody tr td:first-child::before, #programme-turns-table.bt tbody tr td:first-child > * {
  padding-bottom: 0; }
#programme-turns-table.bt tbody tr td:nth-child(2)::before, #programme-turns-table.bt tbody tr td:nth-child(2) > * {
  padding-top: 0; }

.m2m {
  min-width: 540px; }

@media only screen and (max-width: 600px) {
  body > main div.offer-filters > div > ul.org_form {
    min-width: 250px; }

  .m2m {
    min-width: 250px; }
    .m2m .selector {
      display: flex;
      flex-direction: column;
      align-items: center; }
      .m2m .selector .selector-available {
        width: 100% !important; }
      .m2m .selector .selector-chooser {
        position: static !important;
        transform: rotate(90deg) !important; }
      .m2m .selector .selector-chosen {
        width: 100% !important; } }
@media only screen and (max-width: 500px) {
  body > main .section-box, #content .section-box {
    padding-left: 5px;
    padding-right: 5px;
    margin-left: 5px;
    margin-right: 5px; } }
@media only screen and (max-width: 768px) {
  section.payment-priorities-money {
    font-size: 1.5em; }

  section.payment-priorities {
    width: 100%; }
    section.payment-priorities ul {
      padding-left: 0; } }
@media only screen and (max-width: 650px) {
  .applications-table, .applications-table tbody, .applications-table td, .applications-table th {
    display: block; }
  .applications-table tr:first-of-type {
    border-top-width: 1px; }
  .applications-table tr {
    display: flex;
    flex-wrap: wrap;
    border: solid #aaaaaa;
    border-width: 0 0 0 1px; }
    .applications-table tr td, .applications-table tr th {
      flex: 1;
      border-width: 0 1px 1px 0; }
  .applications-table td, .applications-table th {
    min-width: 31%; }
  .applications-table .internal-exams, .applications-table .turn-number {
    flex: 1 1 100%; } }
@media only screen and (max-width: 400px) {
  .applications-table td, .applications-table th {
    min-width: 47%; } }

#messages-table.bt td, #messages-table.bt th, #notifications-table.bt td, #notifications-table.bt th {
  width: auto; }
#messages-table.bt td:nth-child(1), #notifications-table.bt td:nth-child(1) {
  position: absolute;
  width: 80px; }
  #messages-table.bt td:nth-child(1)::before, #notifications-table.bt td:nth-child(1)::before {
    content: none; }
  #messages-table.bt td:nth-child(1) > span, #notifications-table.bt td:nth-child(1) > span {
    margin-left: auto;
    margin-right: auto;
    z-index: 2; }
#messages-table.bt td:nth-child(1), #messages-table.bt td:nth-child(2), #notifications-table.bt td:nth-child(1), #notifications-table.bt td:nth-child(2) {
  height: 15px;
  padding-top: 7px; }

@media only screen and (max-width: 900px) {
  .certificate-table .certificate a.exam-scores {
    width: 100%; } }
@media only screen and (max-width: 1000px) {
  .user-profile {
    flex-wrap: wrap; }
    .user-profile .ie-wrapper {
      max-width: 100%; } }
@media only screen and (max-width: 500px) {
  div.message {
    flex-direction: column;
    padding-bottom: 10px; }
    div.message:not(:first-child) {
      padding-top: 10px; }
    div.message div.text {
      padding-top: 10px;
      padding-left: 0; }
    div.message div.sender {
      flex: 1 1 auto; } }
