.-hidden {
    display: none;
}

.-desktop {
    display: none;
}

@media ( min-width: 992px ) {
    .-mobile {
        display: none;
    }

    .-desktop {
        display: block;
    }
}

.container {
	width: min( 100% - calc( var(--space) * 2 ), var(--container) );
	margin-inline: auto;
	position: relative;
}

.special-event {
	--space: 16px;
	--container: 1100px;

	position: relative;
    padding-block: var(--space);
}

.special-event img {
    vertical-align: middle;
}

.special-event .headline-box {
    background: rgb(205,32,40);
    background: linear-gradient(90deg, rgba(205,32,40,1) 0%, rgba(119,75,121,1) 50%, rgba(17,167,224,1) 100%);
    padding-block: var(--space);
    color: #ffffff;
    margin-block-end: var(--space);
}

.special-event .headline-box .headline {
    width: min( 100% - calc( var(--space) * 2 ), var(--container) );
	margin: 0 auto;
    color: #ffffff;
    font-family: 'MatichonHead', sans-serif;
    letter-spacing: 0.5px;
    text-shadow: 0 0 2px rgb(0 0 0 / 50%);
}

.special-event .headline.-gradient {
    margin: 0 0 var(--space);
    display: inline-block;
    font-size: 2rem;
    font-family: 'MatichonHead', sans-serif;
    letter-spacing: 0.5px;
    text-shadow: 0 0 2px rgb(0 0 0 / 50%);
    background: linear-gradient(90deg, rgba(17,167,224,1) 0%, rgba(119,75,121,1) 50%, rgba(205,32,40,1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.special-event .background {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.readmore-special-event {
    text-align: center;
    margin-block-start: var(--space);
}

.readmore-special-event a {
    display: inline-block;
    font-family: 'MatichonHead', sans-serif;
    font-size: 1.5rem;
    padding: var(--space) calc( var(--space) * 2 );
    border-radius: 32px;
    background: rgb(205,32,40);
    background: linear-gradient(90deg, rgba(205,32,40,1) 0%, rgba(119,75,121,1) 50%, rgba(17,167,224,1) 100%);
    text-shadow: 0 0 5px rgb(0 0 0 / 50%);
    filter: drop-shadow(0 0 5px rgb(0 0 0 / 50%));
    color: #ffffff;
    letter-spacing: 0.5px;
    transition: all 0.5s ease-in-out;
}

.readmore-special-event a:hover {
    background: rgb(17,167,224);
    background: linear-gradient(90deg, rgba(17,167,224,1) 0%, rgba(119,75,121,1) 50%, rgba(205,32,40,1) 100%);
}

body:not(.home) .readmore-special-event {
    display: none;
}

.special-event .readmore {
    margin-block-start: var(--space);
}

.special-event .readmore a {
    color: #000;
}

.special-event .special-event-logo {
	margin-block-end: var(--space);
}

.special-event .grid-block {
    display: grid;
    gap: var(--space);
}

.special-event.-type2 .grid-block {
    display: grid;
    gap: calc( var(--space) * 2 );
    align-items: flex-start;
}

.special-event.-type3 .grid-block .news-list {
    display: grid;
    gap: var(--space);
}

.special-event.-type3 .readmore,
.special-event.-typegallery .readmore,
.special-event.-typevideo .readmore {
    text-align: right;
}

.special-event.-matchtable .container {
    display: grid;
    gap: var(--space);
}

@media ( min-width: 992px ) {
    .special-event.-type1 .grid-block {
        grid-template-columns: 1fr 350px;
    }

    .special-event.-type2 .grid-block {
        grid-template-columns: 1fr 300px;
    }

    .special-event.-type3 .grid-block {
        grid-template-columns: repeat(3,1fr);
    }

    .special-event.-matchtable .container {
        grid-template-columns: 1fr 300px;
    }
}

@media ( min-width: 1200px ) {
    .special-event.-type1 .grid-block {
        grid-template-columns: 1fr 420px;
    }
}

.special-event-list .item {
    position: relative;
}

.special-event-list.-slide {
    overflow: hidden;
}

.special-event-list.-slide .item {
    width: 100%;
}

.special-event-list.-slide .item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 728/520;
    object-fit: cover;
}

.special-event-list.-slide .item .title-box {
    background-color: rgb( 0 0 0 / 50% );
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--space);
}

.special-event-list.-slide .item .title-box .title {
    font-family: 'MatichonHead', sans-serif;
    margin: 0;
    color: #ffffff;
    letter-spacing: 0.5px;
}

.special-event .sponsor-list {
    margin-block-start: var(--space);
    padding: var(--space);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space);
    justify-content: center;
    align-items: center;
    background-color: #F1F1F2;
}

.special-event .sponsor-list .sponsor-item {
    text-align: center;
}

.special-event .sponsor-list img {
  vertical-align: middle;
  margin-bottom: 0;
  max-height: 80px;
  width: auto;
}

.special-event-medal .content-block {
    padding: var(--space);
    background-color: #F1F1F2;
    border-radius: 12px;
}

.special-event-medal .table .row {
    display: grid;
    grid-template-columns: 1fr repeat(3,40px);
    gap: 2px;
    margin-block-end: 2px;
}

.special-event-medal .table .row > div {
    padding: 2px;
    border-radius: 4px;
    color: #0E153B;
    background-color: #ffffff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.special-event-medal .table .row:nth-child(2n+1) > div {
    background-color: #E5E6E6;
}

.special-event-medal .table .row .title {
    padding: 0;
    text-align: left;
    display: grid;
    grid-template-columns: 25px 1fr;
    gap: 2px;
    justify-content: flex-start;
}

.special-event-medal .table .row .title .index {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    background-color: #E9214F;
    color: #ffffff;
    border-radius: 4px;
}

.special-event-medal .table .row .title .flag {
    display: none;
    width: 25px;
    height: 25px;
}

.special-event-medal .table .row .title .flag img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.special-event-medal .table .row .title .country {
    white-space: nowrap;
    overflow: hidden;
}

.special-event-medal .table .row .total,
.special-event-medal .table .row:nth-child(2n+1) .total {
    background-color: #E54825;
    color: #ffffff;
    display: none;
}

.special-event-medal .table .row.-head > div {
    color: #ffffff;
}

.special-event-medal .table .row.-head .title {
    padding: 2px;
    display: flex;
    justify-content: center;
    text-align: center;
    background-color: #0E153B;
    white-space: nowrap;
}

.special-event-medal .table .row.-head .gold {
    background-color: #CF9F2B;
}

.special-event-medal .table .row.-head .silver {
    background-color: #B2ADAA;
}

.special-event-medal .table .row.-head .bronze {
    background-color: #AC7230;
}

.special-event-medal .table .row.-head .gold,
.special-event-medal .table .row.-head .silver,
.special-event-medal .table .row.-head .bronze {
    text-align: center;
}

.special-event-medal .table .row.-head .gold img,
.special-event-medal .table .row.-head .silver img,
.special-event-medal .table .row.-head .bronze img {
    height: 20px;
}

@media ( min-width: 480px ) {
    .special-event-medal .table .row {
        grid-template-columns: 1fr repeat(4,40px);
    }

    .special-event-medal .table .row .total,
    .special-event-medal .table .row:nth-child(2n+1) .total {
        display: flex;
    }
}

@media ( min-width: 640px ) {
    .special-event-medal .table .row .title {
        grid-template-columns: 25px 25px 1fr;
    }

    .special-event-medal .table .row .title .flag {
        display: block;
    }
}

.news-list {
    display: grid;
    gap: calc( var(--space) * 2 );
}

.news-list .item .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 728/520;
}

.news-list .item .title {
    font-family: 'MatichonHead', sans-serif;
    margin: calc( var(--space) * 0.5 ) 0 0;
    letter-spacing: 0.5px;
    font-size: 1rem;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-list.-stack .item {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: var(--space);
}

.news-list.-mix .item:nth-child(3),
.news-list.-mix .item:nth-child(4),
.news-list.-mix .item:nth-child(5),
.news-list.-mix .item:nth-child(6) {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: var(--space);
}

@media ( min-width: 400px ) {
    .news-list.-stack .item {
        grid-template-columns: 150px 1fr;
    }

    .news-list .item .title {
        font-size: 1.25rem;
    }
}

@media ( min-width: 768px ) {
    .news-list.-stack .item {
        grid-template-columns: 300px 1fr;
    }

    .news-list .item .title {
        font-size: 1.5rem;
    }

    .news-list.-mix {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media ( min-width: 992px ) {
    .news-list.-stack .item {
        grid-template-columns: 150px 1fr;
    }
}

.gallery-list .item {
    width: 100%;
    position: relative;
}

.gallery-list .item .item-wrapper {
    display: block;
}

.gallery-list .item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 728/520;
    object-fit: cover;
}

.gallery-list .item .title-box {
    background-color: rgb( 0 0 0 / 50% );
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--space);
}

.gallery-list .item .title-box .title {
    font-family: 'MatichonHead', sans-serif;
    margin: 0;
    color: #ffffff;
    letter-spacing: 0.5px;
    font-size: 1rem;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media ( min-width: 400px ) {
    .gallery-list .title-box .title {
        font-size: 1.25rem;
    }
}

@media ( min-width: 768px ) {
    .gallery-list .title-box .title {
        font-size: 1.5rem;
    }
}

.special-event.-typegallery .gallery-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space);
}

.special-event.-typegallery .gallery-list .item:first-child {
    grid-column: span 2;
}

.special-event.-typegallery .gallery-list .item:first-child img {
    aspect-ratio: 600/315;
}

@media ( min-width: 992px ) {
    .special-event.-typegallery .gallery-list {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    .special-event.-typegallery .gallery-list .item:first-child {
        grid-column: span 4;
    }
}

.video-list .item {
    width: 100%;
    position: relative;
}

.video-list .item .item-wrapper {
    display: block;
    position: relative;
}

.video-list .item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 728/520;
    object-fit: cover;
}

.video-list .item svg {
    background-color: #fff;
    border-radius: 50%;
    color: #f00;
    font-size: 3rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.special-event.-typevideo .video-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space);
}

.special-event.-typevideo .video-list .item:first-child {
    grid-column: span 2;
}

.special-event.-typevideo .video-list .item:first-child img {
    aspect-ratio: 16/9;
}

@media ( min-width: 768px ) {
    .video-list .item svg {
        font-size: 5rem;
    }
}

@media ( min-width: 992px ) {
    .special-event.-typevideo .video-list {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    .special-event.-typevideo .video-list .item:first-child {
        grid-column: span 4;
    }
}

.special-event-program-date {
    margin-block: var(--space);
}

.special-event-program-date .date,
.special-event-program-list .program {
    width: 100%;
}

.special-event-program-date .date {
    padding-inline: 50px;
    text-align: center;
    font-family: 'MatichonHead', sans-serif;
    letter-spacing: 0.5px;
    font-size: 1.5rem;
}

.special-event-program-list-box {
    padding: var(--space);
}

.special-event-program-list .program {
    height: 200px;
    overflow-y: auto;
    font-family: 'MatichonHead', sans-serif;
    letter-spacing: 0.5px;
}

.special-event-program-list .program .program-item {
    display: grid;
    grid-template-columns: 65px 1fr;
    gap: calc( var(--space) * 0.5 );
    padding: var(--space) 0;
    margin-inline: var(--space);
    border-bottom: 1px solid #000;
}

.special-event-program-list .program .program-item .title span {
    color: #666;
}

.special-event-ads {
    display: flex;
    align-items: center;
    justify-content: center;
}

.special-event-ads-1 {
    margin-block-start: var(--space);
    padding: var(--space);
    background-color: #F1F1F2;
    border-radius: 12px;
}

body:not(.page-template-page-fullwidth-php) .special-event.-type1 {
    width: calc( 100vw - var(--space) );
    margin-left: calc(50% - 50vw + 8px);
    margin-right: calc(50% - 50vw + 8px);
}
