/* ==========================================================================
   Paragraph
   ========================================================================== */
p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Setup
   ========================================================================== */
/**
 * Resetting styling for default .container because we have our own (jed-container)
 */
.body .container.container {
    width: auto;
    max-width: none;
    padding: 0;
    margin-right: -20px;
    margin-left: -20px;
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
    line-height: 1.5em;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    font-size: 16px;
}

@media screen and (min-width: 600px) {
    .body .container.container {
        font-size: calc-interpolation(600px, 16px, 1200px, 18px);
    }
}

@media screen and (min-width: 1200px) {
    .body .container.container {
        font-size: 18px;
    }
}

@media (min-width: 768px) {
    .body .container.container {
        margin-right: 0;
        margin-left: 0;
    }
}

/**
 * Target the body span12
 */
.body .container .span12 {
    /* For the "hacked" moduletable search */
    position: relative;
    /* Set proper spacing for mobile/desktop */
    /* Include the maxwidth styling for each div that's not a wrapper */
}

.body .container .span12 > .moduletable:first-child {
    padding-right: 32px;
    padding-left: 32px;
    margin-bottom: 10px;
}

.body .container .span12 > .moduletable:nth-child(2) {
    position: relative;
    padding-right: 32px;
    padding-left: 32px;
}

.body .container .span12 > div:not(.jed-wrapper) {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
}

/**
 * JED wrappers
 *
 * Cover entire viewport width. Make sure a wrapper holds a jed-container to maximize the width of the content
 */
.jed-wrapper,
.jed-cards-wrapper {
    padding-right: 32px;
    padding-left: 32px;
}

.jed-cards-wrapper {
    margin-bottom: 32px;
}

/* ==========================================================================
   Breadcrumb
   ========================================================================== */
/**
 * Class name twice to make sure we "win" over the jdotorg template since our styles are loaded first
 */
.breadcrumb.breadcrumb {
    padding: 8px 0;
    margin: 0;
    line-height: 24px;
    border-radius: 0;
}

.breadcrumb.breadcrumb .active {
    display: none;
}

/* ==========================================================================
   Button
   ========================================================================== */
.button-group {
    margin-bottom: -12px;
}

.button {
    display: inline-block;
    height: 40px;
    padding-right: 16px;
    padding-left: 16px;
    margin-right: 8px;
    margin-bottom: 12px;
    font-size: 18px;
    line-height: 40px;
    color: #212121;
    vertical-align: middle;
    cursor: pointer;
    border: none;
    border-radius: 4px;
    -webkit-appearance: none;
    /* Some space between buttons */
    /* Default focus/hover styling */
}

.button:last-child {
    margin-right: 0;
}

.button:focus, .button:hover {
    color: #212121;
    text-decoration: none;
}

/* Button styles
   ========================================================================== */
/* Blue button */
.button--blue {
    color: #fff;
    background: #016DCC;
}

.button--blue:focus, .button--blue:hover {
    color: #fff;
    background: #18558B;
}

/* Grey button */
.button--grey {
    background: #f5f5f5;
    border: 1px solid #6d6d6d;
}

.button--grey:focus, .button--grey:hover {
    background: #eee;
    border-color: #555;
}

/* Big button */
.button--big {
    height: 48px;
    padding-right: 24px;
    padding-left: 24px;
    font-size: 20px;
    font-weight: 600;
    line-height: 48px;
}

/* Icon button (make them square) */
.button--icon-only {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    padding-right: 0;
    padding-left: 0;
    font-size: 24px;
    line-height: 24px;
    /* For big buttons */
}

.button--icon-only.button--big {
    width: 48px;
}

/* ==========================================================================
   Card
   ========================================================================== */
.card {
    background: white;
    box-shadow: 0 0 4px 0 rgba(33, 33, 33, 0.15);
    padding: 16px;
    border-radius: 4px;
}

/* Header */
.card__header {
    margin-bottom: 8px;
}

.card__extension-title {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
    color: #212121;
    /* Cover entire card so clicking the entire card is possible */
}

.card__extension-title::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
    display: block;
    content: " ";
    background: transparent;
}

.card__extension-developer {
    margin-bottom: 4px;
    font-size: 12px;
    color: #525252;
}

/* Description */
.card__description {
    position: relative;
    max-height: 88px;
    overflow: hidden;
    font-size: 15px;
    line-height: 22px;
}

.card__description::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    height: 66px;
    content: " ";
    background: linear-gradient(to top, #fff, rgba(255, 255, 255, 0));
}

/* Footer */
.card__footer {
    display: flex;
    justify-content: space-between;
    margin-top: 16px;
    margin-bottom: -4px;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
}

/* Card modifiers
   ========================================================================== */
.card--extension {
    /* For the title link that covers the entire card */
    position: relative;
    /* Hover / focus styling, use focus-within since the link is on the title */
    /* Pull image back to 3px away from the card side */
    /* Adjusted stars size within cards */
}

.card--extension:hover, .card--extension:focus-within {
    box-shadow: 0 0 8px rgba(33, 33, 33, 0.25);
}

.card--extension .card__image {
    position: relative;
    margin: -13px -13px 16px;
    overflow: hidden;
    border-radius: 3px 3px 0 0;
}

.card--extension .card__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
}

.card--extension .stars-wrapper,
.card--extension .star {
    font-size: 12px;
    line-height: 18px;
}

.card--extension .stars-wrapper {
    color: #525252;
  position: relative;
  display: inline-block;
}
.card--extension .stars-wrapper .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: black;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;
  position: absolute;
  z-index: 1;
}
/* This does not work, what should the hover be attached to? MF 16/4/22 */
.card--extension .stars-wrapper:hover .tooltiptext {
  visibility: visible;
}

/* ==========================================================================
   Compatibility labels
   ========================================================================== */
.compatibility-wrapper {
    display: flex;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
    color: #525252;
}

[class^="compatible-with"]:not(:first-child) {
    margin-left: 16px;
}
.joomla-version-badge
{
    color: #525252 !important;
	display: inline-block;
	padding: 0.35em 0.65em;
	font-size: 0.75em;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: 0.25rem;

}


/* ==========================================================================
   JED Container
   ========================================================================== */
/**
 * A JED Container follows the width of a jdotorg template container.
 * The reason we've got our own is because we'd like to have some sections spanning the entire viewport
 * We are using a jed-wrapper for that and add a jed-container inside to set the max-width for the content again
 */
.jed-container {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
}

.jed-container,
.jed-container *,
.jed-container *::before,
.jed-container *::after {
    box-sizing: border-box;
}

.jed-container [class^="icon-"],
.jed-container [class^="icon-"]::before,
.jed-container [class*=" icon-"]::before {
    width: 1em;
    height: 1em;
    line-height: 1em;
}

/* ==========================================================================
   Extension page
   ========================================================================== */
.jed-extension-header {
    padding-top: 32px;
    font-size: 18px;
    background: #fff;
    border-top: 1px solid rgba(33, 33, 33, 0.1);
    border-bottom: 1px solid rgba(33, 33, 33, 0.1);
}

@media (min-width: 768px) {
    .jed-extension-header__content {
        display: flex;
        align-items: flex-end;
    }
}

.jed-extension-header__content a:not([class]) {
    color: #18558B;
    text-decoration: underline;
}

.jed-extension-header__content a:not([class]):focus, .jed-extension-header__content a:not([class]):hover {
    text-decoration: none;
}

@media (min-width: 768px) {
    .jed-extension-header__item {
        width: 50%;
    }
}

.jed-extension-header__info {
    display: flex;
    margin-top: -16px;
    margin-bottom: 24px;
    font-size: 16px;
}

.jed-extension-header__buttons {
    display: flex;
    margin-bottom: 24px;
}

@media (min-width: 768px) {
    .jed-extension-header__buttons {
        justify-content: flex-end;
    }
}

.jed-extension-header__buttons .button:not(:last-child) {
    margin-right: 20px;
}

.jed-extension-header__developer {
    margin-right: 2em;
    color: #18558B;
}

.jed-extension {
    padding-top: 32px;
    margin-bottom: 32px;
}

.jed-extension .jed-container {
    background: white;
    box-shadow: 0 0 4px 0 rgba(33, 33, 33, 0.15);
    padding: 32px;
}

.jed-extension__image {
    margin: -32px -32px 32px;
}

.extension-tags {
    min-height: 40px;
}

.extension-tags [class^="icon-"] {
    margin-right: 8px;
}

/* ==========================================================================
   JED Grid
   ========================================================================== */
.jed-grid {
    display: flex;
    flex-wrap: wrap;
}

.jed-grid .jed-grid__item {
    width: 100%;
}

/**
 * A grid that is divided in 2/3 and 1/3 widths
 */
.jed-grid--2-1 .jed-grid__item {
    margin-bottom: 20px;
}

@media (min-width: 768px) {
    .jed-grid--2-1 .jed-grid__item {
        margin-bottom: 0;
    }

    .jed-grid--2-1 .jed-grid__item:first-child {
        width: calc((100% - 32px) * .666);
    }

    .jed-grid--2-1 .jed-grid__item:last-child {
        width: calc((100% - 32px) * .333);
        margin-left: 32px;
    }
}

/**
 * A grid that is divided in 1/3 and 2/3 widths
 */
.jed-grid--1-2 .jed-grid__item {
    margin-bottom: 20px;
}

@media (min-width: 768px) {
    .jed-grid--1-2 .jed-grid__item {
        margin-bottom: 0;
    }

    .jed-grid--1-2 .jed-grid__item:first-child {
        width: calc((100% - 32px) * .333);
    }

    .jed-grid--1-2 .jed-grid__item:last-child {
        width: calc((100% - 32px) * .666);
        margin-left: 32px;
    }
}

/**
 * A grid that is divided in 1/3, 1/3 and 1/3 widths
 * Possible to add more than 3 children to create a grid
 */
.jed-grid--1-1-1 {
    margin: 0;
    list-style: none;
}

.jed-grid--1-1-1 .jed-grid__item {
    margin-bottom: 20px;
    padding: 0;
}

@media (min-width: 768px) {
    .jed-grid--1-1-1 .jed-grid__item {
        width: calc((100% - 32px) / 2);
        margin-left: 32px;
        margin-bottom: 32px;
    }

    .jed-grid--1-1-1 .jed-grid__item:nth-child(2n+1) {
        margin-left: 0;
    }

    .jed-grid--1-1-1 .jed-grid__item:nth-child(2n+2) {
        margin-right: -1px;
    }
}

@media (min-width: 1024px) {
    .jed-grid--1-1-1 .jed-grid__item {
        width: calc((100% - 64px) / 3);
        margin-left: 32px;
        margin-bottom: 32px;
    }

    .jed-grid--1-1-1 .jed-grid__item:nth-child(n) {
        margin-left: 32px;
        margin-right: 0;
    }

    .jed-grid--1-1-1 .jed-grid__item:nth-child(3n+1) {
        margin-left: 0;
    }

    .jed-grid--1-1-1 .jed-grid__item:nth-child(3n+3) {
        margin-right: -1px;
    }
}

/* ==========================================================================
   Heading
   ========================================================================== */
.heading {
    margin-bottom: 32px;
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
    font-weight: 600;
    line-height: 1.2em;
}

.heading:last-child {
    margin-bottom: 0;
}

.heading--xl {
    font-size: 24px;
}

@media screen and (min-width: 600px) {
    .heading--xl {
        font-size: calc-interpolation(600px, 24px, 1200px, 48px);
    }
}

@media screen and (min-width: 1200px) {
    .heading--xl {
        font-size: 48px;
    }
}

.heading--m {
    font-size: 18px;
}

@media screen and (min-width: 600px) {
    .heading--m {
        font-size: calc-interpolation(600px, 18px, 1200px, 24px);
    }
}

@media screen and (min-width: 1200px) {
    .heading--m {
        font-size: 24px;
    }
}

/* ==========================================================================
   List
   ========================================================================== */
.deflist {
    font-size: 16px;
    line-height: 24px;
}

.deflist > div {
    display: flex;
    margin-bottom: 12px;
}

.deflist dd {
    flex: 1 1 auto;
    font-weight: 600;
    text-align: right;
}

.deflist dt {
    flex: 0 0 auto;
    font-weight: 400;
}

/* ==========================================================================
   Search
   ========================================================================== */
.mod_jed_search {
    position: relative;
}

.mod_jed_search form {
    padding-bottom: 16px;
    margin: 0;
}

@media (min-width: 768px) {
    .mod_jed_search form {
        position: absolute;
        top: -50px;
        right: 0;
        padding-bottom: 0;
    }
}

.mod_jed_search input[type="search"] {
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    padding-left: 10px;
    font-size: 16px;
    background: #fff;
    border: 1px solid #a7a7a7;
    border-radius: 4px;
    -webkit-appearance: none;
}

@media (min-width: 768px) {
    .mod_jed_search input[type="search"] {
        width: 320px;
    }
}

.mod_jed_search button {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    font-size: 16px;
    background: transparent;
    border: none;
    box-shadow: none;
}

/* ==========================================================================
   Stars
   ========================================================================== */
.stars {
    display: inline-flex;
    margin-right: 8px;
}

.star {
    font-size: 16px;
    color: #016DCC;
}

.star:not(:first-child) {
    margin-left: 3px;
}

/* ==========================================================================
   Stars
   ========================================================================== */
.tabs {
    display: flex;
    margin: 0 0 -1px;
    list-style: none;
}

.tab {
    padding: 0;
}

.tab a {
    display: inline-flex;
    align-items: center;
    height: 48px;
    padding: 0 24px;
    color: #212121;
    text-decoration: none;
    border-radius: 4px 4px 0 0;
}

.tab.is-active a {
    background: #f4f6f7;
    border-top: 4px solid #016DCC;
    border-right: 1px solid rgba(33, 33, 33, 0.1);
    border-bottom: 1px solid #f4f6f7;
    border-left: 1px solid rgba(33, 33, 33, 0.1);
}

/* ==========================================================================
   Utilities
   ========================================================================== */
/* Using double classes to have a bigger chance of winning over other elements (specificity)
   without having to use !important */
/* Visibility */
.display-block.display-block {
    display: block;
}

.visually-hidden.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: none;
    backface-visibility: hidden;
}

/* Alignment */
.align-right.align-right {
    text-align: right;
}

.align-boxes.align-boxes {
    display: flex;
    justify-content: space-between;
}

/* Margin */
.margin-bottom.margin-bottom {
    margin-bottom: 64px;
}

.margin-bottom-half.margin-bottom-half {
    margin-bottom: 32px;
}

/* Font size */
.font-size-xl.font-size-xl {
    font-size: 20px;
    line-height: 32px;
}

.font-size-s.font-size-s {
    font-size: 15px;
    line-height: 22px;
}

/* Placeholders */
.image-placeholder.image-placeholder {
    width: 100%;
    padding-top: 43.75%;
    background: #e0e0e0;
}


