
:root {
    --orange: #f49624;
    --green: #3DAC98;
    --red: #d90000;
    --light-orange: #ffddbb;
    --light-green: #e0ffc7;
    --light-gray: #d8d8d8;
    --gray: #999999;
    --dark-gray: #666666;
    --dark-green: #257476;
    --gold: #EEC15A;
    --silver: #B2ABA3;
    --bronze: #AD7248;
    --broken-white: #f5f5f5;
    --dark-text: #212529;
}

html {
  scroll-behavior: smooth;
}

body {
    font-family: Tahoma, Geneva, sans-serif;
    overflow-x: hidden;
    padding-top: 4.4rem !important;
    background-color: var(--dark-gray);
}

form
{
    margin: 0px;
    padding: 0px;
}

span {
  font-family: inherit;
}

h1 {
  text-align: center;
  padding: 0.6rem 0rem 0.6rem 0rem;
  margin: 0rem;
  font-weight: bold;
  font-size: 1.2rem;
}

.icon {
    text-decoration: none;
    /* used to guarantee alignment of icons, like in program page */
    width: 1.5em;
}

.icon-exclamation-triangle {
    color: var(--red);
}

nav.header,
nav h1 {
  font-size: 1.2rem;
}

h2 {
  margin: 0px;
  padding: 0.7rem 0rem 0.7rem 0rem;
  font-size: 1.8rem;
}

h3 {
  margin: 0.6rem 0 0.2rem 0;
  font-weight: bold;
  font-size: 1.2rem;
}

p {
  margin: 0rem;
  padding: 0.5rem 0rem 0.5rem 0rem;
}

h2 > p {
  padding-top: 0rem;
}

a,
a:hover {
  color: inherit;
  text-decoration: underline;
}

nav a, nav a:hover, a.btn {
  text-decoration: none;
}

table,
tr,
td {
  font-size: inherit;
  font-family: inherit;
  background-color: inherit;
  color: inherit;
}

input,
textarea,
select,
option {
  font-size: inherit;
  font-family: inherit;
}

* {
    box-sizing: border-box;
}

.content {
    background-color: var(--light-gray);
}

div.block {
    position: relative;
    border: 1px solid var(--gray);
    overflow: hidden;
}


ol.steps {
    list-style: none;
    padding-left: 0px;
    counter-reset: steps;
}

ol.steps li {
    counter-increment: steps;
}

ol, ul {
    padding-top: 4px;
    padding-inline-start: 1em;
}

ol.steps li::before {
    content: counter(steps);
    margin: 0.5rem 0.5rem 0.5rem 0rem;
    background: var(--orange);
    font-weight: bold;
    font-size: 1.4rem;
    color: white;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    line-height: 2em;
}


/* ot is a left over from table based form fields 
    Can't fix the top alignment of the radio input (see page 'availability')
*/
.ot {
  min-width: 300px;
}

.ot td {
  padding: 6px 6px 3px 0px;
}

.ot td input[type="radio"] {
  margin: 8px 2px 3px 0px;
}

.v-bumper {
  display: block;
  height: 10px;
}

.h-bumper {
  display: inline-block;
  width: 20px;
}

.text-shadow {
  text-shadow: 0.1rem 0.1rem 0.1rem rgba(0, 0, 0, 1);
}

.box-shadow {
  box-shadow: 0.2rem 0.2rem 0.1rem rgba(0, 0, 0, 1);
}

.box-rounded {
  border-radius: 25px;
}

.box-glow {
  color: white;
  box-shadow: 0 0 10px #fff, 0 0 8px #eedc8b, 0 0 6px #eedc8b, 0 0 9px #eedc8b, 0 0 12px #eedc8b;
}

.bw-picture-frame img {
    width:100%;
    height:100%;
    object-fit: cover;
    filter: grayscale(100%);
}

div.bw-picture-frame {
    background-color: #ffffff;
    color: var(--dark-gray);
    border: 5px solid #ffffff; /* Cream border */
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.7);
}

.box {
    background-color: white;
    border-radius: 5px;
    box-shadow: 0.2rem 0.2rem 0.1rem rgba(0, 0, 0, 0.5);
}

.overlay{
    position: relative;
    top: -30px;
}

.picture-frame {
    background-image: radial-gradient(white, black);
}

.btn-transparent {
  background-color: transparent;
  color: inherit;
}

.btn-transparent:hover {
  background-color: lightgray;
  color: inherit;
}

.btn .icon
{
    line-height: 1.4rem;
    font-size: 1.2rem;
}

.btn * {
    vertical-align: middle;
}

.clubs img {
  max-height: 60px;
  max-width: 210px;
  margin: 15px;
}

img.season {
    max-height: 280px;
}

.col-form-label {
  padding: 3px 0px;
}

.orange {
  color: var(--orange);
}
.bg-orange {
  background-color: var(--orange);
}
.green {
  color: var(--green);
}
.bg-green {
  background-color: var(--green);
}
.red {
  color: var(--red);
}

.bg-black {
  background-color: black;
}

.white {
    color: white;
}

.bg-white {
    background-color: white;
}

.gold {
    color: var(--gold);
}

.silver {
    color: var(--silver);
}

.bronze {
    color: var(--bronze);
}

.bg-trophy-1 {
    background-color: var(--gold);
}

.bg-trophy-2 {
    background-color: var(--silver);
}

.bg-trophy-3 {
    background-color: var(--bronze);
}

.bg-red {
  background-color: var(--red);
}

.light-gray {
  color: var(--light-gray);
}

.bg-light-gray {
  background-color: var(--light-gray);
}

.gray {
  color: var(--gray);
}

.bg-gray {
  background-color: var(--gray);
}
.dark-gray {
  color: var(--dark-gray);
}

.bg-dark-gray {
  background-color: var(--dark-gray);
}

.bg-light-orange {
  background-color: var(--light-orange);
}

.bg-light-green {
  background-color: var(--light-green);
}

.important {
  padding: 10px 15px;
  font-size: 1.2rem;
  font-weight: bold;
}

a.anchor {
  display: block;
  position: relative;
  top: -100px;
  visibility: hidden;
}

input[type="number"] {
    width: 100px;
}

input[type="date"] {
    width: 200px;
}

input[type="tel"] {
    width: 200px;
}

a.file {
    position: relative;
    overflow: hidden;
}

a.file input {
    position: absolute;
    opacity: 0;
    right: 0;
    top: 0;
}

.field {
  margin-bottom: 5px;
}
.fieldLabel {
  margin: 0px 5px 0px 0px;
  display: inline-block;
  min-width: 100px;
}

.video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.transparent-overlay {
    background: rgb(0,0,0,0.5);
}


.banner-small .banner-img {
    height: 105px;
}

.banner-large .banner-img {
    height: 170px;
}

.banner-img img {
    filter: grayscale(70%) brightness(30%);
}

.center-relative {
    position: relative;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.navbar {
    font-weight: bold;
    font-size: 1.1rem;
    box-shadow: 0 0.5rem 0.5rem rgba(0, 0, 0, 0.3);
    z-index: 999 !important;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 70%, rgba(255, 255, 255, 0.5) 100%);
    color: var(--dark-gray);
}

.navbar-toggler {
  padding: 2px 4px;
}


.fixed-height-box {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3.4rem;
}

.navbar-brand img {
  max-height: 3.4rem;
  max-width: 10rem;
}

.flag img, img.flag {
    height: 24px;
    border: solid 1px var(--light-gray);
}

footer {
    background: var(--dark-gray);
}

footer .apps img {
  max-width: 150px;
  padding: 6px 6px 12px 6px;
}

footer .terms {
  font-size: 0.8rem;
}

footer .social {
  font-size: 2rem;
}

footer .social a {
  padding: 0.5rem;
}

.carousel-item {
  max-height: 70vh !important;
}
.carousel-caption p {
  padding: 0;
}

.carousel-caption {
  padding-bottom: 0px;
}

.carousel-search .carousel-item {
  max-height: 70vh !important;
}

.carousel-item-next,
.carousel-item-prev,
.carousel-item.active {
  transition: transform 1.5s ease;
}

.carousel-indicators {
    bottom: -18px;
}

.carousel-indicators li {
    width: 10px;
    height: 10px;
    border-radius: 100%;
}

.carousel-search {
  position: relative;
}

.tag-line {
  color: white;
  width: 100%;
  text-align: center;
  position: absolute;
  z-index: 10 !important;
}

.btn-primary, .btn-primary:visited {
    background-color: var(--green) !important;
    border-color: var(--green) !important;
}

.btn-primary:hover {
    background-color: var(--dark-green) !important;
}

.btn-primary:active, .nav-link.active {
    background-color: var(--dark-gray) !important;
    border-color: var(--dark-gray) !important;
    color: white !important;
}

.btn-secondary, .btn-secondary:active, .btn-secondary:visited {
    background-color: var(--dark-gray) !important;
}

.btn-secondary:hover {
    background-color: var(--broken-white) !important;
    color: black !important;
}

.nav-link{
    padding: .75rem !important;
}

.bootstrap-autocomplete {
    padding: 0px;
    font-size: 14px;
    text-decoration: none;
}

.bootstrap-autocomplete a {
    padding: 4px 10px 4px 10px;
    text-decoration: none;
}


.usps span {
  font-weight: bold;
  margin: 5px;
  white-space: nowrap;
}


a img {
    opacity: 1;
    transition: .3s ease;
}

a:hover img
{
    opacity: 0.7;
    transition: .5s ease;
}


.club-promo h2 {
  text-shadow: none;
}

.buttons a {
    margin-right: 6px;
}

.buttons a:last-child {
    margin-right: 0px;
}

.features img {
  display: block;
  margin: 0 auto;
  max-width: 120px;
  padding: 3px;
}

.features h3 {
  text-align: center;
}

.features ul {
  padding: inherit;
}

.list-group {
  font-weight: bold;
  font-size: 1rem;
}

.list-group-item {
  color: inherit;
  background-color: inherit;
}

.list-group .list-group-item:hover {
  color: inherit;
  background-color: white;
}

.menu-bar {
    font-weight: normal;
    background-color: var(--broken-white);
    color: var(--dark-text);
}

.menu-bar .info-bar .text {
    color: var(--gray) !important;
}

.club-bar .info-bar{
    min-height: 60px;
}

.info-bar .text {
    position: relative;
    line-height: 1rem;
    font-size: 0.8rem;
    font-weight: normal;
}

.bg-green .info-bar .text, .bg-orange .info-bar .text {
    color: var(--light-gray);
}

.menu-bar img, img.club 
{
    max-height: 60px;
    max-width: 180px;
}

.menu-bar .header{
    min-width: 0.5rem;
}

.info-bar .left-icon
{
    display: inline-block;
    text-align: center;
    width: 40px;
}

.info-bar .left-icon .icon {
    font-size: 1.5em;
    padding: 0px 5px;
}

.icon-red {
    background-color: var(--red);
    color: white;
    border-radius: 5px;
    width: 50px;
    height: 38px;
    padding: 10px 17px;
}

.image-small {
  max-width: 50px;
  max-height: 40px;
}

.image-large {
  max-width: 150px;
  max-height: 40px;
}

.image-profile-small
{
    width: 34px;
    height: 34px;
    border-radius: 17px;
}

div.quote {
    font-style:italic;
    font-size: 1.2rem;
    text-align: center;
}

div.author {
    font-size: 0.8rem;
    text-align: center;
}

div.author:before {
    content: "-"
}

.icon {
    display: inline-block;
    text-align: center;
}

div.team div.player{
    margin: 5px;
    padding: 0px;
}


div.profile-img {
    margin: 0px;
}

div.profile-img img {
    max-width: 200px;
    max-height: 130px;
    border-radius: 50%;
}

div.profile-img-large img {
    max-width: 300px;
    border-radius: 50%;
}

.profiles{
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
}
.profile-img-name
{
    text-align: center;
    display: inline-block;
    margin: 0px 5px;
}

.large
{
    font-size: 1.3em;
    font-weight: bold;
}

.large-icon 
{
    font-size: 1.6em;
    display: inline-block;
}

.x-large {
  margin: 0px 5px 0px 5px;
  vertical-align: middle;
  display: inline-block;
  text-align: center;
  font-size: 1.6em;
  font-weight: bold;
}

.xx-large {
    font-size: 2em;
    font-weight: bold;
}

.xxx-large {
    font-size: 3em;
    font-weight: bold;
}

.rankingInfo .x-large {
    min-width: 40px;
}

.rankingInfo .info {
  margin: 5px 0px 0px 10px;
  vertical-align: top;
  display: inline-block;
}

.rankingInfo .info .name {
  display: block;
}

.rankingInfo .info .matches {
  font-size: 0.8em;
}

.match .player .rank{
    min-width: 30px;
    color: var(--gray);
    text-align: right;
    margin-right: 6px;
}

.color-box {
  margin: 4px 1px 2px 1px;
  display: inline-block;
  height: 8px;
  width: 8px;
  border-radius: 50%;
}

.circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* page specifics*/

.chart{
    height: 180px;
}

table.infos th,td {
    padding: 3px 6px;
}

.profile .image {
  width: 60px;
}

.connect-info img {
  width: 50px;
  margin-right: 10px;
}

.connect-info .info {
  display: inline-block;
}

.connect-info .info div, .connect-info .info div span {
    font-size: 0.8em;
}

.connect-info .info .name {
  font-size: 0.9em;
}

.spacer {
  line-height: 40px;
}
.day-picker td {
  text-align: center;
  padding: 3px;

  font-size: small;
}
.day-picker td a {
  width: 70px;
}

.chat-container {
    color: black;
    background-color: var(--light-gray);
    min-height: 90%;
}

.chat {
    font-size: 14px;
    padding: 10px;
}

    .chat .date {
        padding: 0px;
        color: var(--gray);
        text-align: center;
    }

    .chat .match {
        text-align: center;
        margin-bottom: 5px;
    }

    .chat .btn {
        min-height: 36px;
    }

.bubble {
    padding: 4px 8px;
    margin: 5px 5px 10px 5px;
    max-width: 85%;
    border-radius: 5px;
    position: relative;
    box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.2);
}

    .bubble .time {
        color: var(--gray);
    }

    .bubble .header {
        padding-bottom: 2px;
    }

.bubble-left:after {
    content: " ";
    position: absolute;
    width: 0;
    height: 0;
    left: -10px;
    right: auto;
    top: 0px;
    bottom: auto;
    border: 10px solid;
}

.bubble-right:after {
    content: " ";
    position: absolute;
    width: 0;
    height: 0;
    right: -10px;
    left: auto;
    top: 0px;
    bottom: auto;
    border: 10px solid;
    border-color: var(--light-green) transparent transparent transparent;
}

.bubble-left.bg-light-orange:after {
    border-color: var(--light-orange) transparent transparent transparent;
}

.bubble-left.bg-white:after {
    border-color: white transparent transparent transparent;
}

.bubble-right {
    margin-left: auto;
}

.bubble-center {
    margin: 5px auto 10px auto;
}

.chat-menu {
    background-color: var(--dark-gray);
    text-align: center;
    padding: 10px 0px;
}

.chat-menu .buttons .btn {
    height: 50px;
    font-weight: bold;
    font-size: 18px;
    margin: 0px 3px;
    padding: 4px 10px 0px 10px;
}


.time-picker a {
  font-size: 0.8em;
  margin: 4px;
  min-width: 60px;
}

a.btn-light-gray {
  background-color: #eeeeee;
}
a.btn-light-gray:hover {
  background-color: #dddddd;
}

a.btn-green {
  background-color: var(--green);
  color: white;
}

a.btn-green:hover {
  background-color: var(--dark-green);
  color: white;
}

a.btn-orange {
    background-color: var(--orange);
    color: white;
}

a.btn-red {
    background-color: var(--red);
    color: white;
}

.news-item img {
  max-height: 100px;
}

.scale-large {
  font-weight: bold;
  font-size: 2em;
}

.scale-medium {
  font-weight: bold;
  font-size: 1.4em;
}

#fader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(102, 102, 102);
    pointer-events: none;
    transition: opacity 0.5s ease; 
    z-index: 99999;
    opacity: 0;
}

/* Devices under 1199px (xl) */
@media (max-width: 1199.98px) {
}
/* Devices under 768px (md): Viewport does not seem to work properly for large screens, correct here */
@media (max-width: 767.98px) {
.scale-large {
font-size: 1.4em;
}
.scale-medium {
    font-size: 1.2em;
}
}

/*-- Bootstrap Mobile Gutter Fix --*/
.row,
.container-fluid {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

/*-- Fixed Background Image --*/
.fixed-background {
  position: relative;
  width: 100%;
  z-index: 1000 !important;
}
.fixed-wrap {
  clip: rect(0, auto, auto, 0);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -999 !important;
}
.fixed {
  z-index: -999 !important;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}
