  /*!****!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./web/profiles/uw/uw_profile/modules/uw_theme_components/patterns/molecules/media_image/media-image.scss ***!
  \****/
/***
 * Colors
 ***/
/**
 * Typography
 **/
/**
 * Global elements
 **/
/*
 * Sizing/Spacing
 */
/**
 * Forms
 */
/*
 * Bootstrap
 */
/
 * Mappings
 ****/
/*
 * IMPORTANT:
 *   - This file should *only contain* variables not considered UN style guide *
 */
/**
  Help theming for rtl languages.
*/
/*
 * This handles indentation for the depth of child levels for accordion
 * TODO: improve this implementation, overly complex due to previous design
 */
/*
 * Adds color & text-shadow-based outline to type.
 *
 * @param {color} $color - Color of the marker.
 * @param {color} $border-color - Color for the outline, or border.
 * @param {percent} $border-alpha - Value used in sass:color.scale().
 */
/*
 * Encapsulates the styles for the WYSIWYG editor.
 *
 * We use a mixin in order to be able to reuse these rules inside the
 * CKEditor5 stylesheet to provide the same styles for the editor content.
 * @see un2_theme/scss/admin/_ckeditor5.scss.
 * @see un2_theme/scss/components/_wysiwyg.scss.
 */
.pattern-media-image {
  position: relative;
}

.pattern-media-image--wrapped {
  --media-frame-bg: #f5f5f5;
  width: 100%;
}

.pattern-media-image--wrapped .pattern-media-image__media {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 3/2;
}

[dir] .pattern-media-image--wrapped .pattern-media-image__media {
  background-color: var(--media-frame-bg);
}

.pattern-media-image--wrapped picture {
  display: contents;
}

.pattern-media-image--wrapped img {
  width: auto;
  max-height: 100%;
}

[data-bs-theme=dark] .pattern-media-image--wrapped {
  --media-frame-bg: #404040;
}

.pattern-media-image--ratio-1-1 .pattern-media-image__media {
  aspect-ratio: 1/1;
}

.pattern-media-image--ratio-3-2 .pattern-media-image__media {
  aspect-ratio: 3/2;
}

.pattern-media-image--ratio-3-4 .pattern-media-image__media {
  aspect-ratio: 3/4;
}

.pattern-media-image--ratio-4-1 .pattern-media-image__media {
  aspect-ratio: 4/1;
}

.pattern-media-image--ratio-4-3 .pattern-media-image__media {
  aspect-ratio: 4/3;
}

.pattern-media-image--ratio-6-1 .pattern-media-image__media {
  aspect-ratio: 6/1;
}

.pattern-media-image--ratio-9-16 .pattern-media-image__media {
  aspect-ratio: 9/16;
}

.pattern-media-image--ratio-12-5 .pattern-media-image__media {
  aspect-ratio: 12/5;
}

.pattern-media-image--ratio-16-9 .pattern-media-image__media {
  aspect-ratio: 16/9;
}

.pattern-media-image--ratio-27-10 .pattern-media-image__media {
  aspect-ratio: 27/10;
}

.pattern-media-image__download-button {
  position: absolute;
  inset-block-end: 0;
}

[dir] .pattern-media-image__download-button {
  margin: 0.25rem;
  inset-inline-end: 0;
}

.pattern-media-image__icon-placeholder {
  position: absolute;
  top: 50%;
  opacity: 0.6;
  /*
  Creates a white circular background behind the icon. The ::after pseudo-element
  is positioned slightly offset from the edges and set to 90% width/height to
  create a perfect circle that highlights the icon while maintaining its opacity
  and hover effects.
  */
}

[dir] .pattern-media-image__icon-placeholder {
  transition: opacity 0.3s ease;
}

[dir="ltr"] .pattern-media-image__icon-placeholder {
  left: 50%;
  transform: translate(-50%, -50%);
}

[dir="rtl"] .pattern-media-image__icon-placeholder {
  right: 50%;
  transform: translate(50%, -50%);
}

.pattern-media-image__icon-placeholder::after {
  display: block;
  position: absolute;
  top: 1%;
  z-index: -1;
  width: 90%;
  height: 90%;
  content: "";
}

[dir] .pattern-media-image__icon-placeholder::after {
  border-radius: 50%;
  background-color: #fff;
}

[dir="ltr"] .pattern-media-image__icon-placeholder::after {
  left: 1%;
}

[dir="rtl"] .pattern-media-image__icon-placeholder::after {
  right: 1%;
}

.pattern-media-image__icon-placeholder svg {
  width: 45px !important;
  height: 45px !important;
}

.pattern-media-image:hover .pattern-media-image__icon-placeholder, .pattern-media-image:focus .pattern-media-image__icon-placeholder {
  opacity: 1;
}
