/* cyrillic-ext */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/raleway-cyrillic-ext.woff') format('woff');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/raleway-cyrillic.woff') format('woff');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* latin-ext */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/raleway-latin-ext.woff') format('woff');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/raleway-latin.woff') format('woff');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
  padding: 0;
  margin: 0;
  background: #f4f4f4;
}

html, h1, h2, h3, h4, h5, h6, button {
  font-family: "Raleway", sans-serif;
  color: #007df9;
}

.bg-badmr {
  background-color: #007df9;
}

.bg-badmr-subtle {
  background-color: rgba(0, 125, 249, 0.5);
}

.link {
  cursor: pointer;
  color: rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));
  text-decoration: underline;
  text-decoration-color: currentcolor;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: auto;
}

.link:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

/* хак для select2 и form-floating */
.form-floating .select2-container--bootstrap-5 .select2-selection {
  height: calc(3.5rem + 2px);
  padding: 1rem 0.75rem;
  font-size: 1.1rem;
}

.form-floating .select2-container--bootstrap-5 .select2-selection > .select2-selection__rendered {
  margin-top: 0.6rem;
  margin-left: 0.25rem;
}

/* убирает подсказку ввода при наборе текста */
input:focus::placeholder {
  opacity: 0;
}

/* скрыватель блоков */
.toggler {
  position: absolute;
  right: 0;
}

/* пунктирная линия, которая появляется при скрытии блока */
.hr-dashed {
  margin: 20px 0;
  padding: 0;
  height: 0;
  border: none;
  border-top: 2px dashed #61605e;
  display: none;
}

/* убранный в bootstrap 5 класс */
.xs,
.btn-xs {
  padding: 0.25rem 0.4rem; /* Уменьшенные отступы */
  font-size: 0.8rem; /* Меньший размер шрифта */
  line-height: 1.0; /* Корректировка межстрочного интервала */
  border-radius: 0.1rem; /* Скругление углов */
}

.form-control::placeholder {
  color: rgb(222, 226, 230);
}

.form-floating > input {
  font-size: 1.1rem;
}

.form-floating > label {
  position: absolute;
  left: 0.3rem;
  font-size: 16px;
  transform-origin: 0 0;
}

/* строка поиска игроков */
#player div.search {
  width: calc(100% - 127px) !important;
}

.player-settings {
  float: right;
}

[data-field=paid] .th-inner,
[data-field=enabled] .th-inner {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.login {
  margin: 1em 0 0 0;
  color: #007df9;
}

.header button > p {
  margin-top: 1em;
}

.logout {
  margin: 2em 0 0 0;
}

.social {
  /*margin: 2.2em 0 0 0;*/
}

.tournament {
  margin: 1em 0 3em 0;
  position: relative;
}

.tournament-new-registration-input {
  border-color: #007df9;
}

#tournament-new-registration-hint label.control-label {
  padding-left: 0.75rem;
}

#tournament-new-registration-hint-sex {
  background-color: deeppink;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

#tournament-new-registration-hint-sex:checked {
  background-color: royalblue;
}

.settings {
  margin: 1em 0 3em 0;
  position: relative;
}

.cort {
  margin: 1em 0 3em 0;
  position: relative;
}

.player {
  margin: 1em 0 3em 0;
  position: relative;
}

.player-selectors {
  display: inline;
}

.player-window-link {
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  --bs-link-underline-opacity: 75%;
}

.select {
  margin: 1em 0 3em 0;
  position: relative;
}

.select-form-table-2 {
  margin: 1em;
}

.select-form-info {
  margin: 1em 0 1em 0;
}

.select-form-buttons {
  margin: 0 0 3em 0;
}

.match {
  margin: 1em 0 3em 0;
  position: relative;
}

.game {
  margin: 1em 0 3em 0;
  position: relative;
}

.game-input {
}

.game-input-left {
  margin: 2px 1px 2px 0;
}

.game-input-right {
  margin: 2px 0 2px 1px;
}

.game-form-buttons {
  margin: 0 0 3em 0;
}

.game-form-info {
  margin: 0.5em;
}

.game-form-button-submit {
  margin: 0 0 3em 0;
}

.game-form-button-reset {
  margin: 0 0 3em 0;
}

.game-form-horizontal-inputs {
  margin: 1em 0 1em 0;
}

.match-history-players td {
  width: auto !important;
  padding: 6px;
}

.match-history-info {
  font-size: 85%;
}

.match-history-players-name {
  font-size: 85%;
  display: flex;
  justify-content: left;
}

.match-history-players-name img {
  width: 19px;
  height: 19px;
}

.match-history-game-col {
  padding-left: 3px !important;
  padding-right: 3px !important;
}

.match-history-delta {
  line-height: 50%;
  text-align: center;
  font-size: 65%;
}

.match-history-delta-col {
  line-height: 70%;
  text-align: center;
  font-size: 70%;
}

.match-history-score {
  text-align: center;
  align-content: center;
  font-size: 110%;
}

.match-history-duration {
  text-align: center;
  align-content: center;
  line-height: 50%;
  font-size: 60%;
}

.player-archive {
  margin: 1em 0 3em 0;
  position: relative;
}

/* строка поиска игроков в архиве */
#player-archive .fixed-table-toolbar {
  margin: 0 auto;
}

/* активная кнопка перелистывания страниц */
.page-item.active a {
  background-color: #007df9;
}

/* поля ввода с курсором по центру */
#game input[type=text],
#login input[type=text],
#login input[type=password] {
  text-align: center;
}

/* буква группы в рейтинге у игроков */
.group-letter {
  position: relative;
}

.group-letter-bg {
  position: absolute;
  z-index: -1;
}

/* Отступ для дня рождения на формах регистрации*/
#signup select[name="dd"] {
  margin-left: 10px;
}

#signup section {
  margin-bottom: 1em;
}

.sex form {
  width: 200px;
  margin: 0 auto;
}

.sex input[type="radio"] {
  display: none;
}

.sex input[type="radio"]:checked + label {
  color: #fffffb;
  background-image: linear-gradient(to bottom, #61605e, #a4a4a2);
}

.sex label[id="male"],
.sex label[id="female"] {
  display: block;
  float: left;
  padding: 5px 10px;
  background-image: linear-gradient(to bottom, #fff, #ddd);
  border: 1px solid #9e9fa1;
  cursor: pointer;
}

.sex label[id="female"] {
  margin-left: -1px;
}

.sex label[id="male"]:hover,
.sex label[id="female"]:hover {
  background-image: linear-gradient(to bottom, #fff, #b9b9b9);
}

.secondary-info {
  color: rgba(128, 128, 128, 0.3);
}

.rating-plus {
  color: rgba(0, 153, 0, 1) !important;
}

.rating-minus {
  color: rgba(255, 0, 0, 1) !important;
}

.win {
  font-weight: 567;
}

#select2-tournament-groups-team-add-select-color-results span,
#select2-tournament-groups-team-add-select-color-container span {
  width: 14px;
  height: 14px;
  display: block;
  float: left;
  margin: 6px 6px 0 0;
  border: 1px solid black;
}

#tournament-groups-team-add-add-name {
  height: 28px;
}

.tournament-groups-table-games {
  margin-bottom: 3em;
  vertical-align: middle;
}

.tournament-groups-table-game {
  width: 85px;
  height: 85px;
}

td.diagonal-cross {
  position: relative;
  background: linear-gradient(to right top, #ffffff 0%, #ffffff 49.99%, #000000 50%, #000000 50.1%, #ffffff 50.2%, #ffffff 100%) !important;
  background-color: transparent;
  background-image: none !important;
}

/* The real diagonal line */
td.diagonal-cross:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background: linear-gradient(to right bottom, white, white 49.8%, black 49.9%, black 50.1%, white 50.2%, white) !important;
  background: linear-gradient(to right top, white, white 49.8%, black 49.9%, black 50.1%, white 50.2%, white) !important;
}

.vertical-text {
  writing-mode: vertical-lr;
  transform: rotate(180deg);
}

#tournament-groups-board .modal-body {
  overflow-x: hidden;
  overflow-y: hidden;
  padding: 0 0 0 0 !important;
  margin: 0 0 0 0 !important;
}

.board-team-name {
  height: 6vh;
  font-size: 6vh;
  font-weight: 500;
  justify-content: center;
}

.board-score {
  height: 73vh;
  font-size: 37vw;
  font-weight: 700;
  font-stretch: 50%;
  padding: 0 0 0 0 !important;
  margin: 0 0 0 0 !important;
  align-content: center;
  justify-content: center;
}

.no-selection {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

.board-game-type {
  font-size: 1.6vw;
  justify-content: center;
}

.board-game-type-current {
  font-size: 2.2vw;
  font-weight: 700;
}

/*.select2-dropdown .select2-results__option[aria-selected=true] {*/
/*  display: none;*/
/*}*/

.team-group-name {
  align-content: center;
  text-align: center;
}

.tournament-groups-team-edit-order-icon {
  /*height: 1em;*/
  /*width: 1em;*/
  font-size: 1.3em;
}

.tournament-groups-team-edit-type {
  width: 3.5em;
}

.man {
  color: royalblue;
}

.woman {
  color: deeppink;
}