<article class="fixture-card" data-filter='{ "filter": "competition", "name": "fifa", "id": "1" }' data-analytics='{"pagename":"England Football Landing page","matchcategory":"fixtures","matchtype":"Fifa world cup qatar 2022 Euro qualifier","matchmode":"Round of 16","matchdetail":"England Vs Iceland","matchvenue":"Khalifa International Stadium"}'>
<div class="fixture-card__fixture-info">
<p class="fixture-card__tournament">Fifa world cup qatar 2022 Euro qualifier
<span class="fixture-card__round">Round of 16</span>
</p>
<p class="fixture-card__location">Khalifa International Stadium</p>
<p>Thurs 20th Feb <span>20:00 GMT</span></p>
</div>
<div class="fixture-detail">
<p class="visually-hidden">Fixture</p>
<p class="fixture-detail__col">
<span class="fixture-detail__team">
<img src="/assets/example-content/crest-england.svg" alt="" />England</span>
</p>
<p class="fixture-detail__col">
<span class="fixture-detail__team">
<img src="/assets/example-content/crest-iceland.png" alt="" />Iceland</span>
</p>
<p class="fixture-detail__time">TBC</p>
<p class="fixture-detail__extra-info">
<img src="/assets/example-content/sponsor-logo-bt.svg" alt="BT Sport" />
<img src="/assets/example-content/logo-itv.png" alt="ITV" />
</p>
</div>
<div class="fixture-card__ctas">
<a href="/" class="cta cta--secondary " name="match-preview">
<p>Match preview</p>
</a>
<a href="https://ticketing.thefa.com/" class="cta cta--primary " target="_blank" name="buy-tickets">
<p>Buy tickets</p>
</a>
</div>
<div class="fixture-card__match-status fixture-card__match-status--tbc"><img src="/assets/images/icon-warning.svg" alt="" /><span class="status-line"></span><span class="status-label">Date and time to be confirmed</span></div>
</article>
No notes defined.
{
"competition": {
"name": "fifa",
"id": "1"
},
"season": {
"name": "2020/21",
"id": "1"
},
"homeTeam": {
"name": "England",
"score": "1"
},
"awayTeam": {
"name": "Iceland",
"score": "1"
},
"cta1": {
"copy": "Match preview",
"name": "match-preview"
},
"cta2": {
"copy": "Buy tickets",
"name": "buy-tickets",
"href": "https://ticketing.thefa.com/",
"target": "_blank"
},
"tbc": true
}
export default () => {
if (window.innerWidth < 1200) {
const checkmatchCTA = document.querySelectorAll('.fixture-card__ctas a');
checkmatchCTA.forEach(checkcta => {
/* eslint-disable no-param-reassign */
if (checkcta.parentNode.nextElementSibling) {
checkcta.parentNode.nextElementSibling.style.display = 'none';
}
});
}
};
.fixture-card {
border-radius: $border-radius;
overflow: hidden;
padding: $spacing-l;
position: relative;
&__fixture-info {
@include text-xs;
text-align: center;
text-transform: uppercase;
line-height: 1.8rem;
}
&__tournament {
color: $bold-red;
padding-bottom: $spacing-s;
}
&__round {
color: $color-interface-light;
margin-left: $spacing-s;
&::before {
content: '•';
margin-right: $spacing-s;
}
}
&__location {
display: block;
margin-bottom: 0.2rem;
}
&__pipe {
margin: 0 8px;
}
&__ctas {
display: flex;
.cta {
margin: auto;
font-size: 12px;
line-height: 14px;
letter-spacing: 0.01em;
font-weight: 400;
min-height: 40px;
+ .cta {
margin-left: $spacing-s;
}
}
}
.fixture-card__ctas {
a {
background-color: $grey-light;
&:hover {
background-color: $blue-accent;
}
}
}
&__match-status {
@include text-xs;
align-items: center;
background: $color-primary;
color: $white;
display: flex;
justify-content: center;
margin: auto;
margin-bottom: -$spacing-m;
padding: 0.8rem $spacing-m;
position: relative;
text-align: center;
width: 24.8rem;
img {
box-sizing: content-box;
padding-right: $spacing-s;
width: 1.5rem;
&::after {
border: 1px solid $white;
content: '';
display: block;
height: 100%;
width: 0;
}
}
.status-line {
background: $white;
width: 0.1rem;
height: 2rem;
opacity: 0.3;
border-radius: 2px;
margin-right: 0.8rem;
}
.status-label {
padding-top: 0.2rem;
}
&::before,
&::after {
content: '';
display: block;
width: 50px;
height: 80px;
position: absolute;
top: 0;
}
&::before {
background: linear-gradient(
to bottom right,
transparent 0%,
transparent 50%,
$color-primary 50%,
$color-primary 100%
);
left: -50px;
}
&::after {
background: linear-gradient(
to bottom left,
transparent 0%,
transparent 50%,
$color-primary 50%,
$color-primary 100%
);
right: -50px;
}
&--cancelled {
background-color: $red-accent;
&::before {
background: linear-gradient(
to bottom right,
transparent 0%,
transparent 50%,
$red-accent 50%,
$red-accent 100%
);
}
&::after {
background: linear-gradient(
to bottom left,
transparent 0%,
transparent 50%,
$red-accent 50%,
$red-accent 100%
);
}
}
&--tbc {
background-color: $blue;
&::before {
background: linear-gradient(
to bottom right,
transparent 0%,
transparent 50%,
$blue 50%,
$blue 100%
);
}
&::after {
background: linear-gradient(
to bottom left,
transparent 0%,
transparent 50%,
$blue 50%,
$blue 100%
);
}
@media screen and (min-width: $mq-large) {
display: flex;
}
}
}
@media screen and (min-width: $mq-large) {
align-items: center;
display: grid;
grid-template-columns: 1fr 2fr 1fr;
&__tournament {
padding-bottom: $spacing-m;
}
&__fixture-info {
text-align: left;
}
&__round {
display: block;
margin-left: 0;
&::before {
display: none;
}
}
&__ctas {
justify-content: flex-end;
max-width: 24.8rem;
.cta {
flex: 1;
margin: inherit;
min-width: 0;
}
}
&__match-status {
bottom: 0;
margin-bottom: 0;
position: absolute;
right: 0;
}
}
}
.fixture-detail {
text-transform: uppercase;
display: grid;
grid-template-columns: 1fr auto 1fr;
padding-top: $spacing-m;
padding-bottom: $spacing-l;
&__col {
display: flex;
grid-column: 1;
flex: 1;
padding: 0 $spacing-l;
& + & {
flex-direction: row-reverse;
grid-column: 3;
order: 1;
}
}
&__team {
align-items: center;
color: $crest-blue;
display: flex;
font-family: $text-font;
font-size: 1.1rem;
flex-direction: column;
flex-grow: 1;
justify-content: center;
font-weight: bold;
img {
height: 100%;
margin-bottom: $spacing-s;
max-height: 60px;
}
}
&__score {
color: $crest-blue;
font-family: $heading-font;
font-size: 6.2rem;
grid-column: 2;
}
&__extra-info {
@include text-xs;
color: $color-interface-light;
display: flex;
flex-basis: 100%;
flex-wrap: wrap;
grid-column: -1/1;
grid-row: 2;
justify-content: center;
margin-top: $spacing-s;
text-align: center;
abbr {
cursor: pointer;
display: block;
text-decoration: none;
width: 100%;
margin-bottom: 0.4rem;
}
img {
max-height: 2rem;
padding: 0 $spacing-s;
}
}
&__time {
align-self: center;
background-color: $grey-light;
color: $black;
font-family: $text-font;
font-size: 2.2rem;
line-height: 2.2rem;
padding: 1.3rem 1.7rem;
}
&--result &__col + &__col {
&::after {
content: '-';
color: $crest-blue;
font-family: $heading-font;
font-size: 6.2rem;
padding-right: $spacing-l;
margin-left: -$spacing-l;
}
}
@media screen and (min-width: 950px) {
&__team {
font-size: 1.8rem;
flex-direction: row-reverse;
img {
margin: 0 0 0 $spacing-l;
}
}
&__score {
margin-left: 2rem;
}
&__col {
justify-self: flex-end;
& + & {
justify-self: flex-start;
.fixture-detail__team {
flex-direction: row;
img {
margin: 0 $spacing-l 0 0;
}
}
.fixture-detail__team-away {
color: #5b6885;
}
.fixture-detail__score {
margin-right: 2rem;
margin-left: 0;
}
}
}
}
}
.fixture-card__lagecy {
background-color: $grey-light;
.fixture-detail {
padding: 0;
}
.score {
color: #004f9f;
font-family: 'England FC', arial, helvetica, sans-serif;
font-size: 6.2rem;
}
}
.fixture-card__attended-match {
background-color: $grey-light;
.score-container {
display: flex;
align-items: center;
flex-direction: column;
flex-wrap: nowrap;
justify-content: center;
.score {
display: flex;
}
.score-separator,
.score-1,
.score-2 {
color: #004f9f;
font-family: 'England FC', arial, helvetica, sans-serif;
font-size: 6.2rem;
}
.score-1 {
margin-right: 20px;
}
.score-2 {
margin-left: 20px;
}
}
.fixture-detail,
.following-match-fixture-detail,
.last-match-fixture-detail {
padding: 0;
}
.fixture-card__location {
padding-top: 13px;
}
.fixture-card__tournament {
padding-bottom: 13px;
}
.fixture-detail-extra-span {
text-align: center;
}
@media screen and (max-width: $mq-medium) {
.fixture-detail {
padding: 8px 0 10px 0;
}
.cta {
max-width: 100%;
width: 100%;
}
.score-separator,
.score-1,
.score-2 {
font-size: 4.2rem;
}
.fixture-card__tournament,
.fixture-card__round {
display: inline;
}
}
}
<article class="fixture-card"
data-filter='{ "filter": "competition", "name": "{{competition.name}}", "id": "{{competition.id}}" }'
data-analytics='{"pagename":"England Football Landing page","matchcategory":"fixtures","matchtype":"Fifa world cup qatar 2022 Euro qualifier","matchmode":"Round of 16","matchdetail":"{{homeTeam.name}} Vs {{awayTeam.name}}","matchvenue":"Khalifa International Stadium"}'>
<div class="fixture-card__fixture-info">
<p class="fixture-card__tournament">Fifa world cup qatar 2022 Euro qualifier
<span class="fixture-card__round">Round of 16</span>
</p>
<p class="fixture-card__location">Khalifa International Stadium</p>
<p>Thurs 20th Feb <span>20:00 GMT</span></p>
</div>
<div class="fixture-detail">
<p class="visually-hidden">Fixture</p>
<p class="fixture-detail__col">
<span class="fixture-detail__team">
<img src="/assets/example-content/crest-england.svg" alt="" />{{homeTeam.name}}</span>
</p>
<p class="fixture-detail__col">
<span class="fixture-detail__team">
<img src="/assets/example-content/crest-iceland.png" alt="" />{{awayTeam.name}}</span>
</p>
{{#unless tbc}}
<p class="fixture-detail__time">20:00</p>
{{/unless}}
{{#if tbc}}
<p class="fixture-detail__time">TBC</p>
{{/if}}
<p class="fixture-detail__extra-info">
<img src="/assets/example-content/sponsor-logo-bt.svg" alt="BT Sport" />
<img src="/assets/example-content/logo-itv.png" alt="ITV" />
</p>
</div>
{{#unless cancelled}}
<div class="fixture-card__ctas">
{{render '@cta--secondary' cta1 merge="true"}}
{{#if cta2}}
{{render '@cta' cta2 merge="true"}}
{{/if}}
{{#if cta3}}
{{render '@cta--disabled' cta3 merge="true"}}
{{/if}}
</div>
{{/unless}}
{{#if cancelled}}
<div class="fixture-card__match-status fixture-card__match-status--cancelled"><img
src="/assets/images/icon-warning.svg" alt="" /><span class="status-line"></span><span class="status-label">Match cancelled</span></div>
{{/if}}
{{#if tbc}}
<div class="fixture-card__match-status fixture-card__match-status--tbc"><img
src="/assets/images/icon-warning.svg" alt="" /><span class="status-line"></span><span class="status-label">Date and time to be confirmed</span></div>
{{/if}}
</article>