U.S. Commercial Real Estate Lenders: Key Credit Concerns and Mitigations
JUN 28, 2023 | 11:00 - 12:00 New York
Virtual
Code
// BOX 1
<div class="box box--1">
<h4 class="heading--5" dir="auto">
<a href="https://www.fitchratings.com/research/international-public-finance/fitch-ratings-wins-cfico-best-credit-services-global-award-for-second-successive-year-04-03-2022" target="_self">Fitch Ratings Wins CFI.co Best Credit Services Global Award For Second Successive Year</a>
</h4>
</div>
// BOX 2
<div class="box box--2">
<h4 class="heading--4" dir="auto">
<a href="https://www.fitchratings.com/research/international-public-finance/fitch-ratings-wins-cfico-best-credit-services-global-award-for-second-successive-year-04-03-2022" target="_self">Fitch Ratings Wins CFI.co Best Credit Services Global Award For Second Successive Year</a>
</h4>
<div class="button__wrapper">
<a class="button button--4">Read More</a>
</div>
</div>
// BOX 3
<div class="box box--3 bg--img bg--blend" style="background-image: url('https://images.ctfassets.net/03fbs7oah13w/1tYKoemiLOaYkqpi2V1WjL/d0f901ceff9b4bdac3f432f76af7a985/cape_town_south_africa__1_.jpg?w=424&h=239&fl=progressive&q=80&fm=jpg'), var(--gradient-background);">
<div class="grid__content">
<h4 class="heading--5">
<a href="/criteria/africa" target="_self">Africa</a>
</h4>
</div>
</div>
// BOX 4
<div class="box box--4 bg--img bg--blend" style="background-image: url('//images.ctfassets.net/03fbs7oah13w/5CYXXO8GN0KKOXGrJh0Pap/00f76c225e9c6d36ea7b1cb71e78e61d/FI-10077-Fitch-On-Banking-2023-contentful-image-V1-WESTERN-EUROPE.jpg?w=1280'), var(--gradient-background);">
<h4 class="heading--6">
<a href="https://events.fitchratings.com/fitchonbankingwesterneurope" aria-label="Fitch on Banking 2023 Western Europe">Fitch on Banking 2023 Western Europe
</a>
</h4>
<p>JUL 05, 2023 | 14:00 - 15:30 London <br>Virtual </p>
<a class="fill--link" href="https://events.fitchratings.com/fitchonbankingwesterneurope"></a>
</div>
{#
/**
* @file
* Default theme implementation to display a paragraph.
*
* Available variables:
* - paragraph: Full paragraph entity.
* Only method names starting with "get", "has", or "is" and a few common
* methods such as "id", "label", and "bundle" are available. For example:
* - paragraph.getCreatedTime() will return the paragraph creation timestamp.
* - paragraph.id(): The paragraph ID.
* - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
* - paragraph.getOwnerId(): The user ID of the paragraph author.
* See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
* and methods for the paragraph object.
* - content: All paragraph items. Use {{ content }} to print them all,
* or print a subset such as {{ content.field_example }}. Use
* {{ content|without('field_example') }} to temporarily suppress the printing
* of a given child element.
* - attributes: HTML attributes for the containing element.
* The attributes.class element may contain one or more of the following
* classes:
* - paragraphs: The current template type (also known as a "theming hook").
* - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
* "Image" it would result in "paragraphs--type--image". Note that the machine
* name will often be in a short form of the human readable label.
* - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
* preview would result in: "paragraphs--view-mode--preview", and
* default: "paragraphs--view-mode--default".
* - view_mode: View mode; for example, "preview" or "full".
* - logged_in: Flag for authenticated user status. Will be true when the
* current user is a logged-in member.
* - is_admin: Flag for admin user status. Will be true when the current user
* is an administrator.
*
* @see template_preprocess_paragraph()
*
* @ingroup themeable
*/
#}
{{ attach_library('fitch_master/box') }}
{%
set classes = [
'paragraph',
'paragraph--type--' ~ paragraph.bundle|clean_class,
view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
not paragraph.isPublished() ? 'paragraph--unpublished'
]
%}
{% if paragraph.field_box_style.value == 0 %}
{% set boxHeading = 'heading--5' %}
{% elseif paragraph.field_box_style.value == 1 %}
{% set boxHeading = 'heading--4' %}
{% elseif paragraph.field_box_style.value == 2 %}
{% set boxHeading = 'heading--5' %}
{% elseif paragraph.field_box_style.value == 3 %}
{% set boxHeading = 'heading--6' %}
{% endif %}
{% block paragraph %}
{% block content %}
<div
class="
box
box--{{ content.field_box_style.0 }}
{% if (paragraph.field_box_style.value == 2) or (paragraph.field_box_style.value == 3) %}
{% include '@fitch_master/parts/paragraph--class--background-image.html.twig' %}
{% include '@fitch_master/parts/paragraph--class--background-blur.html.twig' %}
{% include '@fitch_master/parts/paragraph--class--gradient-overlay.html.twig' %}
{% include '@fitch_master/parts/paragraph--class--color-overlay.html.twig' %}
{% endif %}
"
{% if (paragraph.field_box_style.value == 2) or (paragraph.field_box_style.value == 3) %}
style="
{% include '@fitch_master/parts/paragraph--style--background-image.html.twig' %}
{% include '@fitch_master/parts/paragraph--style--background-color.html.twig' %}
{% include '@fitch_master/parts/paragraph--style--color-overlay.html.twig' %}
{% include '@fitch_master/parts/paragraph--style--text-color.html.twig' %}
"
{% endif %}
>
{% if content.field_title.0 is not empty %}
<h4 class="{{ boxHeading }}">
{% if content.field_cta['#items']|length == 1 %}
{% if content.field_cta.0 is not empty %}
<a class="{% if content.field_cta[0]['#options'].attributes.overlay == "_yes" %}overlay{% endif %}" href="{{ content.field_cta[0]['#url'] }}"
{% if content.field_cta[0]['#options'].attributes.target is not empty %}
target="{{ content.field_cta[0]['#options'].attributes.target }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.rel is not empty %}
rel="{{ content.field_cta[0]['#options'].attributes.rel }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.title is not empty %}
title="{{ content.field_cta[0]['#options'].attributes.title }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.dataoverlay is not empty %}
data-overlay="{{ content.field_cta[0]['#options'].attributes.dataoverlay }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.dataformtitle is not empty %}
data-form-title="{{ content.field_cta[0]['#options'].attributes.dataformtitle }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.dataformthankyou is not empty %}
data-form-thankyou="{{ content.field_cta[0]['#options'].attributes.dataformthankyou }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.datatitle is not empty %}
data-title="{{ content.field_cta[0]['#options'].attributes.datatitle }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.dataurl is not empty %}
data-url="{{ content.field_cta[0]['#options'].attributes.dataurl }}"
{% endif %}
data-url="{{ content.field_cta[0]['#options'].attributes.dataurl }}"
>
{% endif %}
{% endif %}
{{ content.field_title.0 }}
{% if content.field_cta['#items']|length == 1 %}
{% if content.field_cta.0 is not empty %}
</a>
{% endif %}
{% endif %}
</h4>
{% endif %}
{% if paragraph.field_box_style.value == 1 %}
{% if content.field_cta.0 is not empty %}
<div class="button__wrapper">
<a
class="
button button--4
{% if content.field_cta[0]['#options'].attributes.overlay == "_yes" %} overlay {% endif %}
"
href="{{ content.field_cta[0]['#url'] }}"
{% if content.field_cta[0]['#options'].attributes.target is not empty %}
target="{{ content.field_cta[0]['#options'].attributes.target }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.rel is not empty %}
rel="{{ content.field_cta[0]['#options'].attributes.rel }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.title is not empty %}
title="{{ content.field_cta[0]['#options'].attributes.title }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.dataoverlay is not empty %}
data-overlay="{{ content.field_cta[0]['#options'].attributes.dataoverlay }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.dataformtitle is not empty %}
data-form-title="{{ content.field_cta[0]['#options'].attributes.dataformtitle }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.dataformthankyou is not empty %}
data-form-thankyou="{{ content.field_cta[0]['#options'].attributes.dataformthankyou }}"
{% endif %}
{% if content.field_cta[0]['#options'].attributes.datatitle is not empty %}
data-title="{{ content.field_cta[0]['#options'].attributes.datatitle }}"
{% endif %}
data-url="{{ content.field_cta[0]['#options'].attributes.dataurl }}"
>
{{ content.field_cta[0]['#title'] }}
</a>
</div>
{% endif %}
{% endif %}
{% if paragraph.field_box_style.value == 3 %}
{% include '@fitch_master/paragraph/paragraph--text.html.twig' %}
<a class="fill--link" href="{{ content.field_cta[0]['#url'] }}"></a>
{% endif %}
</div>
{% endblock %}
{% endblock paragraph %}
.box {
position: relative;
height: 100%;
padding: 3.6rem var(--spacing-2);
border: 0.1rem solid var(--very-light-grey);
}
.box + .box {
margin-top: var(--spacing-2);
}
.box--1 {
height: calc(50% - 1.2rem);
min-height: 19.4rem;
}
.box--2 {
min-height: 41.2rem;
}
.box--3 {
min-height: 25.2rem;
padding: 3.6rem var(--spacing-2);
border: 0 none;
text-align: center;
color: var(--inverted-text-color);
display: flex;
flex-flow: row wrap;
align-items: center;
justify-content: center;
}
.box--3:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--mostly-black);
opacity: 0;
transition: opacity 360ms ease;
}
.box--3:hover:before, .box--3:focus:before {
content: "";
opacity: 0.44;
}
.box--3 *[class|=heading] {
position: relative;
margin-bottom: var(--spacing-1);
}
.box--4 {
min-height: 25.2rem;
padding: var(--spacing-2);
border: 0 none;
color: var(--inverted-text-color);
}
.box--4:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--mostly-black);
opacity: 0;
transition: opacity 360ms ease;
}
.box--4:hover:before, .box--4:focus:before {
content: "";
opacity: 0.44;
}
.box--4 *[class|=heading] {
position: relative;
margin: 0;
}
.box--4 p {
position: absolute;
bottom: 0;
left: var(--spacing--2);
width: calc(100% - var(--spacing-2) * 2);
font-weight: 900;
}
.box .button__wrapper {
position: absolute;
bottom: 3.6rem;
width: calc(100% - 4.8rem);
}
/* iPad Portrait */
@media only screen and (max-width: 768px) {
.promo-box__wrapper > .column {
width: 100%;
}
.box--1 {
height: 20.6rem;
}
}
/* iPhone 6 onwards */
@media only screen and (max-width: 480px) {
.promo-box__wrapper .column__two > .column:not(:last-of-type) {
margin-bottom: 2.4rem;
}
}
/* Print */
@media print {
.promo-box__wrapper > .column {
width: 100%;
}
.promo-box__wrapper > .column:first-of-type {
height: auto;
}
.promo-box__wrapper .promo-box.key-highlight {
height: auto;
}
.box--3 {
min-height: initial;
color: var(--text-color);
}
.box--3 a {
position: static;
text-align: left;
display: block;
}
.box--4 {
min-height: initial;
color: var(--text-color);
}
.box--4 a {
position: static;
text-align: left;
display: block;
}
}
@import '../abstracts/_mixins';
.box {
position: relative;
height: 100%;
padding: 3.6rem var(--spacing-2);
border: 0.1rem solid var(--very-light-grey);
+ .box {
margin-top: var(--spacing-2);
}
&--1 {
height: calc(50% - 1.2rem);
min-height: 19.4rem;
}
&--2 {
min-height: 41.2rem;
}
&--3 {
min-height: 25.2rem;
padding: 3.6rem var(--spacing-2);
border: 0 none;
text-align: center;
color: var(--inverted-text-color);
display: flex;
flex-flow: row wrap;
align-items: center;
justify-content: center;
&:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--mostly-black);
opacity: 0;
transition: opacity 360ms ease;
}
&:hover,
&:focus {
&:before {
content: '';
opacity: 0.44;
}
}
*[class|='heading'] {
position: relative;
margin-bottom: var(--spacing-1);
}
}
&--4 {
min-height: 25.2rem;
padding: var(--spacing-2);
border: 0 none;
color: var(--inverted-text-color);
&:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--mostly-black);
opacity: 0;
transition: opacity 360ms ease;
}
&:hover,
&:focus {
&:before {
content: '';
opacity: 0.44;
}
}
*[class|='heading'] {
position: relative;
margin: 0;
}
p {
position: absolute;
bottom: 0;
left: var(--spacing--2);
width: calc(100% - var(--spacing-2) * 2);
font-weight: 900;
}
}
.button__wrapper {
position: absolute;
bottom: 3.6rem;
width: calc(100% - 4.8rem);
}
}
@include mq-3 {
.promo-box__wrapper {
> .column {
width: 100%;
}
}
.box--1 {
height: 20.6rem;
}
}
@include mq-4 {
.promo-box__wrapper {
.column__two {
> .column:not(:last-of-type) {
margin-bottom: 2.4rem;
}
}
}
}
@include print {
.promo-box__wrapper {
> .column {
width: 100%;
&:first-of-type {
height: auto;
}
}
.promo-box.key-highlight {
height: auto;
}
}
.box--3 {
min-height: initial;
color: var(--text-color);
a {
position: static;
text-align: left;
display: block;
}
}
.box--4 {
min-height: initial;
color: var(--text-color);
a {
position: static;
text-align: left;
display: block;
}
}
}
Fields
| Label | Machine name | Field type | Character Limit | Required |
|---|---|---|---|---|
| Background Blur | field_background_blur | Boolean | N/A | No |
| Background Color | field_background_color | Color | N/A | No |
| Background Image | field_background_image | Image | N/A | No |
| Background Video | field_background_video | Entity reference | N/A | No |
| Color Overlay | field_color_overlay | Color | N/A | No |
| CTA | field_cta | Link | TBC | No |
| CTA Style | field_cta_style | List (integer) | N/A | No |
| Gradient Overlay | field_gradient_overlay | Boolean | N/A | No |
| Text Color | field_text_color | Color | N/A | No |
| Title | field_title | Text (formatted) | TBC | Yes |
Component Options
Background Image
This is an optional visual treatment but is the most commonly used for components.
Background Video
This can be used to add a background video that automatically play and loops.
The video is hosting locally and should be no longer than 10 seconds and no larger than 8MB.
Background Color
Background Color offers a selection of brand colours allowing a solid background colour for the component.
| #171721 | #3f3f5b | #ff2f63 | #ffd500 | #2d374e | #174174 | #2a8abf | #33ccff | #dbddf3 | #333333 | #1a6bb4 | #dde3f2 | #3b265e |
| #6c5c86 | #9d92ae | #5e6a71 | #868f94 | #aeb4b8 | #007a87 | #409ba5 | #80bcc3 | #005cb9 | #4085ca | #80addc | #bfd6ed | #f5f5f5 |
| #00b29b | #72cb5c | #6dc3ea | #ebce56 |
Background Blur
Background Blur can be used to blur the background image and background video.
Color Overlay
This is used to apply a color overlay to the background image or background video.
The Grey is our default color overlay and is used with the opacity set at 1
The EVP colours should have an opacity between 0.6 and 0.4 depending on the image and colour used.
Opacity ranges from 1 - 0. A 50% opacity would be 0.5.
| #888888 | #9db6df | #fda926 | #0bb29d | #ae3f86 | #6dc3ea | #00b29b | #72cb5c | #6dc3ea | #ebce56 |
Gradient Overlay
This applies a Gradient Overlay to the background image that is predefined as part of the theme css vars.
| Fitch Guidelines - linear-gradient(108deg, #683f3f 0%, #d0e7f0 100%) |
| Fitch Group - linear-gradient(108deg, #0F2027 0%, #203A43 33%, #2C5364 100%) |
| Fitch Ratings - linear-gradient(108deg, #3e5151 0%,#decba4 100%) |
| Fitch Solutions - linear-gradient(108deg, #afc0e7 0%, #dbddf3 100%) |
| Fitch Learning - linear-gradient(108deg, #7b797d 0%, #7e8687 100%) |
| Fitch Bohua - linear-gradient(135deg, #403b4a 0%, #e7e9bb 100%) |
| Sustainble Fitch - linear-gradient(108deg, #B0DAB9 0%, #DAD299 100%) |
| Fitch Credit Certificate - linear-gradient(108deg, #7b797d 0%, #c0ccf0 100%) |
| Quant Insights - linear-gradient(108deg, #888888 0%, #888888 100%) |
Text Color
This can be set to Black or White (theme dependant) so the text colour is fixed for that component.
This is useful when placing text on a background image that needs to remain one or the other, even when Dark mode is enabled.
| #000000 | #FFFFFF |