/* account header  */
nav {
    white-space: nowrap;
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.25);
    height: var(--nav-height);
    position: relative;
}

.headerTopContainer {
    width: 100%;
	z-index: 99;
    height: var(--topcontainer-height);
    background-color: var(--maincolor);
    letter-spacing: 1px;
    color: var(--alternate-text-color);
    position: relative;
}

.headerTopContent {
    max-width: var(--primary-page-width);
    display: flex;
    align-items: center;
	justify-content: space-between;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
    height: 100%;
}

.breadcrumb a {
    color: var(--alternate-text-color);
}

.breadcrumb span {
    color: var(--secondary-light-blue);
}

a.headerLink {
    color: var(--alternate-link-color);
}

a.headerLink:hover {
    color: var(--alternate-link-hover-color);
}

.headerMeta {
    display: none;
}

.headerContext {
    display: flex;
    align-items: center;
    gap: 15px;
}

.headerContext .languageSelector {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.headerContext .loginLink {
    cursor: pointer;
    margin-left: 70px;
}

#account_menu {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative;
    letter-spacing: initial;
    text-transform: none;
}

#account_menu img {
    border-radius: 100%;
    flex-shrink: 0;
}

#account_menu .icon-user, .profileItem .icon-user {
    width: 56px;
    height: 56px;
    font-size: 34px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--lightgrey-variant);
    padding: 0;
    color: var(--primary-text-color);
}

#account_menu .icon-user {
    width: 40px;
    height: 40px;
    font-size: 26px;
}

#account_menu .newMessageIndicator {
    position: absolute;
}

.newMessageIndicator {
	font-size: 11px;
	color: var(--alternate-text-color);
	background-color: var(--highlight-color);
	border-radius: 100%;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* main header */
header {
    width: 100%;
	z-index: 98;
    min-width: var(--min-screen-width);
    background-color: var(--primary-background-color);
    position: relative;
    top: 0;
}

.menuContainer, .submenuContainer {
    margin: 0 auto;
    padding: 0 10px;
    width: 100%;
    box-sizing: border-box;
}

.menuContainer {
    display: flex;
    align-items: center;
	justify-content: space-between;
    height: var(--menu-height);
    max-width: var(--primary-page-width);
}

.tbaLogoContainer {
    color: var(--maincolor);
    display: flex;
    justify-content: space-between;
    width: 153px;
    position: relative;
    flex-shrink: 0;
}

.tbaLogo {
    font-size: 33px;
}

.breedLogo {
    position: absolute;
    right: 0;
    top: 0;
}

.breedLogo span:first-child {
    position: absolute;
    top: 2px;
    left: 6px;
    font-size: 26px;
}

.breedLogo span:nth-child(2) {
    position: relative;
    font-size: 33px;
    left: 2px;
    bottom: 1px;
}

.mainMenu {
    display: flex;
    align-items: center;
    gap: 38px;
    position: relative;
}

.standardSearch {
    position: relative;
}

.standardSearch .ts-control {
  /* TBA added */
    width: var(--menusearch-input-width);
    height: 42px;
    padding: 0 14px;
    color: var(--maincolor);
    border: 0;
	border-radius: 10px;
    background-color: var(--lightgrey);
    box-sizing: border-box;
    outline: none;
    z-index: 90;
}

.standardSearch .ts-control > input {
   /* TBA added */
    height: 100%;
    max-height: 100%;
    background-color: var(--lightgrey);
    color: var(--maincolor);
}

.standardSearch .icon-search, .dialogSearch .icon-search {
    position: absolute;
    right: 4px;
    top: 10px;
    color: var(--maincolor);
    font-size: 20px;
    z-index: 91;
}

.standardSearch.studSearch .ts-control, .standardSearch.studSearch.studSearch .ts-control > input {
    background-color: var(--white);
}

.standardSearch.studSearch {
    max-width: 600px;
    margin: 10px auto;
}

.standardSearch.studSearch .ts-control {
    width: 100%;
}

.standardSearch.animalWatch, .standardSearch.animalWatch .ts-control {
    width: 100%;
}

.standardSearch.searchVisible .ts-control {
		width: 250px;
}

.menuItems {
    display: flex;
    align-items: center;
    gap: 38px;
}

a.menuItem {
    font-size: var(--medium-large-font-size);
    font-weight: var(--bold-font-weight);
    letter-spacing: 2px;
    text-align: left;
    text-transform: uppercase;
    color: var(--primary-text-color);
    transition: var(--ease-transition);
}
a.menuItem.active, a.menuItem:hover {color: var(--primary-link-color);}

.submenuContainer {
    height: var(--submenu-height);
    background-color: var(--secondary-background-color);
}

.submenu {
    max-width: var(--primary-page-width);
    margin: 0 auto;
    padding: 0 10px;
    display: flex;
    align-items: center;
	justify-content: flex-end;
    gap: 38px;
    height: 100%;
    box-sizing: border-box;
}

a.submenuItem {
    transition: var(--ease-transition);
    border-bottom: 3px solid transparent;
    padding: 0 10px 0 5px;
    color: var(--primary-link-color);
    letter-spacing: 1px;
    font-weight: var(--bold-font-weight);
    height: 100%;
    display: flex;
    align-items: center;
}

a.submenuItem.active, a.submenuItem:hover {
    border-bottom: 3px solid var(--primary-link-hover-color);
    color: var(--primary-link-hover-color);
}

/* Mobile menu */
.mobileMenu {
    position: absolute;
    left: 0;
    top: 0;
    padding: 16px 11px;
    cursor: pointer;
}

.mobileMenu span {
    border-radius: 1px;
    display: block;
    height: 4px;
    width: 28px;
    margin: 4px 0;
    background-color: var(--maincolor);
}

.mobileMenu span:nth-child(2) {
    width: 20px;
}

.menuBarButton {
  padding: 9px 10px;
  color: var(--primary-button-color);
  cursor: pointer;
  font-size: 30px;
  text-align: right;
  position: relative;
  transition: visibility 0.3s ease 0.3s;
}

#mobile_menu_wrapper {
    display: block;
    width: 280px;
    position: fixed;
    top: calc(var(--nav-height) + var(--topcontainer-height));
    left: 0;
    right: auto;
    bottom: 0;
    background-color: var(--primary-background-color);
    z-index: 0;
    overflow: hidden auto;
    text-transform: capitalize;
}

#mobile_menu_wrapper:after {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    content: "";
    display: block;
    height: 110%;
    left: 100%;
    right: auto;
    position: absolute;
    top: -10%;
    width: 20px;
    z-index: 99;
}

.mobileNavbar {
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid var(--lightgrey);
}

.mobileToolBar .standardSearch.searchVisible .ts-control {
    width: 250px;
}

.logoMobileMenu {
    font-size: 36px;
    padding: 6px;
    color: var(--primary-text-color);
}

#mobile_menu ul, #mobile_menu li {
    padding: 0;
}

#mobile_menu li .menuItemContainer .menuItem {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    color: var(--maincolor);
    padding: 12px 18px;
    letter-spacing: 0;
}

#mobile_menu .menuItem .profileItem {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: var(--large-font-size);
    position: relative;
}

#mobile_menu .menuItem .profileItem .newMessageIndicator {
    top: 10px;
    left: 40px;
    position: absolute;
}

#mobile_menu .menuItem .profileItem img {
    border-radius: 100%;
    flex-shrink: 0;
}

#mobile_menu li {
    list-style: none;
    border-bottom: 1px solid var(--lightgrey);
}

#mobile_menu li.open {
    border-bottom: none;
}

#mobile_menu li a.submenuItem, #mobile_menu li a.submenuItem:hover {
    display: flex;
    align-items: center;
    text-transform: none;
    font-size: 20px;
    padding: 15px 20px 15px 24px;
    border: none;
    font-weight: var(--thin-font-weight);
}

#mobile_menu li .item,  #mobile_menu li a.item {
    text-decoration: none;
    display: block;
    font-size: 24px;
    font-weight: var(--thin-font-weight);
    color: var(--primary-link-color);
    text-transform: uppercase;
}

.open .icon-arrow-single {
	transition: var(--linear-transition);
}

.open .icon-arrow-single {
	transform: rotate(180deg);
}

.mobileMenuButton .button {
    margin: 10px;
    padding: 12px 36px;
}

.mobileMenuButton .registerLink {
    padding: 15px;
    text-decoration: underline;
    display: block;
}

#mobile_menu .languageOptions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 19px;
    color: var(--primary-text-color);
    background-color: transparent;
    padding: 20px;
    font-weight: var(--thin-font-weight);
}

.mobileLanguageSeparator {
    font-size: 19px;
    color: var(--maincolor);
}

.mobileLanguageSeparator:last-child {
    display: none;
}

#mobile_menu_list li.mobileLanguageSelector .active a {
    color: var(--primary-link-color);
}

.menuBarButtons {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 100;
}

.menuBarButton {
    display: inline-block;
    padding: 9px 10px;
    color: var(--primary-button-color);
    cursor: pointer;
    font-size: 30px;
    text-align: right;
    position: relative;
    transition: visibility 0.3s ease 0.3s;
}

.menuBarButton a {
    transition: none;
}

.menuBarButton.disabled {
    color: rgba(39,121,170,0.2);
}

.menuBarButton a {
    color: var(--primary-link-color);
}

.menuBarButton.hideContent {
    visibility: hidden;
}

/* Cookie banner */
#cookie_info {
    z-index: 999;
    background-color: rgba(0,0,0,0.9);
    padding: 25px;
    color: var(--alternate-text-color);
    font-size: var(--medium-large-font-size);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
}

.cookieContainer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.cookieSettingsDialogTable table {
    font-size: 12px;
}

.cookieSettingsDialogTable h3 {
    margin-top: 20px;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.cookieSettingsButtons {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 20px;
    flex-wrap: wrap;
}

.styledList li {list-style-type: disc;}

/* Footer */

footer {
    background-color: var(--footer-background-color);
    padding: 0;
    width: 100%;
    color: var(--alternate-text-color);
    z-index: 1;
}

.footerContainer {
    max-width: var(--primary-page-width);
    margin: 0 auto;
    padding: 60px 10px;
    position: relative;
    bottom: 0;
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.footerLinks {
    margin-top: 60px;
    letter-spacing: 1px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
}

footer a {
    text-transform: uppercase;
    width: 100%;
}

.facebook {
    margin-top: 30px;
}

.facebook a {
    color: var(--alternate-text-color);
}

.facebook span {
    color: var(--facebook-color);
    font-size: 30px;
    background-color: var(--white);
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
}

footer .icon-tba-logo {
	font-size: 56px;
	color: var(--alternate-text-color);
}

.buildInfo { position: absolute; bottom: 10px; }


/* Landing Page */
.landingPage header {
    position: initial;
}

.landingPage .menuContainer {
    height: var(--landingpage-menu-height);
}

.landingContainer {
    background: var(--primary-landing-bg);
    background: var(--primary-landing-bg-gradient);
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 10px;
    position: relative;
}

.landingContainer * {
    color: var(--primary-landing-text-color);
}

.landingContainer.lightbrown {
    background: var(--landing-bg-lightbrown);
    background: var(--landing-bg-lightbrown-gradient);
}

.landingContainer.lightbrown * {
    color: var(--landing-bg-lighbrown-text-color);
}

.landingContainer.lightblue {
    background: var(--landing-bg-lightblue);
    background: var(--landing-bg-lightblue-gradient);
}

.landingContainer.darkbrown {
    background: var(--landing-bg-darkbrown);
    background: var(--landing-bg-darkbrown-gradient);
}

.landingContentContainer {
    width: 100%;
    max-width: 1560px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.landingTextContainer {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    padding: 10px 10px 35px;
    width: 100%;
    z-index: 1;
    position: relative;
    right: 0;
}

.landingTitle {
    margin-bottom: 20px;
}

.landingContentContainer * {
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    text-align: center;
    box-sizing: border-box;
    -webkit-hyphens: none;
    hyphens: none;
}

.landingContentContainer h1 {
    font-weight: var(--bold-font-weight);
    font-size: 34px;
    line-height: 1;
}

.landingContentContainer h1 span {
    white-space: normal;
}

.landingContentContainer h1 span.long {
    font-size: 80%;
}

.landingContentContainer h1 span.extraLong {
    font-size: 72%;
}

.landingContentContainer h1 span.superLong {
    font-size: 64%;
}

.landingContentContainer h2, .landingNumbers {
    font-weight: var(--thin-font-weight);
    letter-spacing: 1px;
    font-size: var(--primary-font-size);
}

.animalCount {
    font-weight: 500;
    font-size: 32px;
    display: block;
}

.landingMobilePicture {
    background-image: url("../../images/breed_photo_mobile_small.jpg?version=1.0.0");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center left;
    width: 100%;
    height: calc(100vw / 3 * 2);
}

.landingPictureContainer {
    display: none;
}

.landingFactContainer {
    width: 100%;
    max-width: var(--primary-page-width);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 auto;
    padding: 40px 10px;
    box-sizing: border-box;
    flex-wrap: wrap;
    text-align: center;
}

.landingFactContainer h3, .tbaClaim {
    -webkit-hyphens: none;
    hyphens: none;
}

.tbaClaim {
    font-family: 'Montserrat', sans-serif;
    font-size: 30px;
    width: 100%;
    font-weight: var(--thin-font-weight);
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    flex-direction: column;
}

.claimText {
    margin-bottom: 30px;
    -webkit-hyphens: none;
    hyphens: none;
}

.claimAuthor {
    background-image: url("../../images/signature.png");
    width: 224px;
    height: 28px;
    display: block;
    background-repeat: no-repeat;
    background-size: 100% auto;
    margin-right: 4px;
}

.claimInfo {
    font-size: var(--primary-font-size);
    text-transform: uppercase;
    letter-spacing: 2px;
}

.factsContainer {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.factsContainer > div {
    width: 100%;
    margin-bottom: 40px;
}

.factsContainer .factsContainerButton {
    width: 100%;
    display: block;
    text-align: center;
}

.factsContainerButton .button.alternative {
    margin-bottom: 10px;
}

.factsContainer h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: var(--bold-font-weight);
    margin-bottom: 20px;
}

.factsContainer .factIcon {
    color: var(--maincolor);
    font-size: 28px;
    vertical-align: baseline;
}

.fact {
    color: var(--darkgrey);
    font-size: var(--primary-font-size);
    font-weight: var(--thin-font-weight);
    line-height: 170%;
}

.landingNewsContainer {
    background-color: var(--secondary-background-color);
    position: relative;
    padding: 50px 10px;
    box-sizing: border-box;
}

.landingNewsInnerContainer {
    width: 100%;
    padding: 0 10px;
    max-width: var(--primary-page-width);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    gap: 20px;
}

.landingNewsInnerContainer > div {
    background-color: var(--primary-background-color);
    box-sizing: border-box;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
}

.landingButtonContainer {
    margin-top: 30px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}

.browseHeaderBox {
    text-align: center;
}

.browseHeaderBox .browseNumbers {
    font-family: 'Montserrat', sans-serif;
    color: var(--maincolor);
    font-size: 30px;
    font-weight: 300;
    text-transform: uppercase;
}

.browseHeaderBox .animalCount {
    font-family: 'Montserrat', sans-serif;
    font-size: 60px;
    font-weight: var(--bold-font-weight);
    margin: -4px 0;
    color: var(--primary-text-color);
}

.browseHeaderBox .browseText {
    color: var(--darkgrey);
    font-size: 14px;
    margin: 22px 20px 0 20px;
    padding: 0 10px 22px 10px;
    border-bottom: 1px solid var(--lightgrey);
    -webkit-hyphens: none;
    hyphens: none;
}

.browseAnimalBox {
    margin: 12px 0 0 0;
}

.browseAnimalBox .itemBox {
    border-bottom: 1px solid var(--lightgrey);
    border-radius: 0;
    padding: 12px 5px;
}

.browseAnimalBox .itemBox .profileData {
    overflow: hidden;
    margin: 0 5px 0 15px;
}

.browseAnimalBox .itemBox .profileData div {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.browseAnimalBox .profilePhoto,
.browseAnimalBox .pictureContainer,
.browseAnimalBox .noPhoto {
    padding: 0;
    align-self: center;
    width: 80px;
    height:  80px;
    content-visiblity: auto;
}

.browseAnimalBox .pictureContainer {
    justify-content: center;
    align-items: center;
}

.landingBlogContainer .blogContent {
    content-visibility: auto;
    display: block;
    position: relative;
    width: 100%;
    max-width: 500px;
    border-radius: 10px;
    background-size: cover;
    background-position: top center;
    box-sizing: border-box;
    margin: 0 auto 20px auto;
    padding-top: 34px;
}

.landingBlogContainer .blogContent .blogInnerContainer {
    height: 100%;
    width: 100%;
    background: linear-gradient( rgba(0,0,0,0.0), rgba(0,0,0,0.7) );
    color: var(--alternate-text-color);
    padding: 60px 10px 0 10px;
    box-sizing: border-box;
    border-radius: 10px;
    z-index: 1;
    position: relative;
}

.landingBlogContainer .blogContent .blogInnerContainer:before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    background: linear-gradient( rgba(0,0,0,0.0), rgba(255,255,255,0.08) );
    transition: opacity 0.4s ease;
}

.landingBlogContainer .blogContent:hover .blogInnerContainer:before {
    opacity: 1;
}

.landingBlogContainer h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: var(--bold-font-weight);
    line-height: 180%;
    color: var(--alternate-text-color);
}

.blogInfo {
    color: var(--maincolor);
    font-size: var(--primary-font-size);
    margin-bottom: 6px;
    letter-spacing: 1px;
}

.landingBlogContainer .blogInfo {
    color: var(--alternate-button-color);
}


.landingBlogContainer .blogTeaserImageContainer img {
    height: auto;
    opacity: 0.2;
}

.landingCommunityContainer {
    position: relative;
    width: 100%;
    background-image: url("../../images/community_bg.jpg");
    background-repeat: repeat;
    content-visibility: auto;
}

.communityBackground {
    background: linear-gradient(to top, #1d2937, #324052), linear-gradient(to bottom, #e70a0a, #e70a0a);
    width: 100%;
    height: 100%;
    opacity: 0.9;
    position: absolute;
}

.communityHighlight, .communityQuote {
    color: var(--alternate-text-color);
    width: 100%;
    position: relative;
    left: 0;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.communityHighlight {
    background-color: rgba(59, 170, 227, 0.45);
    bottom: 0;
    padding: 35px 0;
}

.communityQuote {
    top: 0;
    padding: 73px 0;
}

.highlightInnerContainer {
    width: 100%;
    max-width: var(--primary-page-width);
    padding: 0 10px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    flex-wrap: wrap;
}

.highlightMessage:only-child {
    width: 100%;
}

.highlightInnerContainer > div {
    margin: 10px 0;
    flex-shrink: 0;
}

.quoteInnerContainer {
    width: 100%;
    max-width: var(--primary-page-width);
    padding: 0 10px;
    margin: 0 auto;
    box-sizing: border-box;
    font-weight: var(--thin-font-weight);
    text-align: center;
}

.quoteIcon {
    font-size: 20px;
    display: inline-block;
    vertical-align: top;
}

.quoteIcon.reverse {
	transform: rotate(180deg);
}

.quoteTextContainer {
    margin: 0 auto;
    max-width: 748px;
    box-sizing: border-box;
    -webkit-hyphens: none;
    hyphens: none;
}

.quoteAuthor {
    text-align: right;
    margin-top: 50px;
}
.authorName {
    text-transform: uppercase;
    letter-spacing: 2px;
}

.highlightMessage {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

.highlightMessageText, .quoteText {
    font-family: 'Montserrat', sans-serif;
    font-size: 30px;
    font-weight: var(--thin-font-weight);
     -moz-hyphens: none;
    hyphens: none;
    text-align: center;
}

.quoteText {
    line-height: 140%;
    margin: 0 5px;
}

.highlightMessageIcon {
    font-size: 70px;
    margin-right: 16px;
}

/* page content */

.mainContentContainer {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: calc(100vh - var(--nav-height) - var(--topcontainer-height));
}

.pageHeadContainer {
    padding: 20px 10px;
    max-width: var(--primary-page-width);
    margin: 0 auto;
    box-sizing: border-box;
}

.pageHeaderElement {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
}

.userInfo span {
    margin-left: 2px;
}

.modifiedInfo, .modifiedInfo .userInfo a {
    font-size: var(--small-font-size);
    color: var(--darkgrey);
}

.modifiedInfo .userInfo .icon-badge {
    color: var(--darkgrey);
}

.contextLinks {
    display: flex;
    gap: 40px;
    font-size: var(--small-font-size);
}

.contentSection {
    position: relative;
}
.contentSection.sectionBackground {
    background-color: var(--secondary-background-color);
}


.wave {
    background-image: url("../../images/bg-wave.svg");
    width: 100%;
    height: 15px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
    position: absolute;
    bottom: -1px;
    left: 0;
}

.waveAlt {
    background-image: url("../../images/bg-wave-grey.svg");
    width: 100%;
    height: 15px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
    position: absolute;
    top: -15px;
    left: 0;
}

/* special buttons */

.buttonContainer {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 10px;
    max-width: 1440px;
    margin: 0 auto;
    gap: 18px;
}

.buttonContainer .buttonElement {
    width: 300px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.buttonContainer .buttonElement button {
	padding: 10px 5px;
	background-color: var(--secondary-background-color);
	border-top: 3px solid var(--maincolor);
	word-wrap: break-word;
	cursor: pointer;
    border-radius: 10px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 91px;
    color: var(--black-variant);
    transition: all 300ms ease;
}

.buttonContainer .buttonElement button:disabled {
    border-top-color: var(--grey-variant);
    cursor: text;
    background-color: transparent;
    color: var(--grey-variant);
    opacity: 0.4;
}

.buttonContainer .buttonElement button:hover:not(:disabled) {
    color: var(--primary-button-color);
    border-color: var(--primary-button-color);
}

.buttonElementHeader {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    margin: 0 0 5px 0;
    font-size: var(--medium-large-font-size);
}

.buttonElementInfo {
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

.buttonContainer .buttonElement a {
    font-size: var(--large-font-size);
    text-align: center;
}

.buttonElementLink {
    display: block;
    text-align: center;
}

.showMore {
	display: flex;
	justify-content: center;
	padding: 14px;
    margin: 5px 0;
}

/* iconFonts */

.icon-sort.desc {
	font-size: 12px;
    margin-left: 3px;
	transform: rotate(180deg);
}

.icon-arrow-single {
	transition: var(--linear-transition);
    padding: 0 4px;
}

.icon-arrow-single.small {
    font-size: var(--verysmall-font-size);
}

.icon-arrow-single.open {
	transform: rotate(180deg);
}

.listIcon {
    font-size: var(--verysmall-font-size);
	transform: rotate(90deg);
	transition: var(--linear-transition);
}


/* Tippy, Option Menu */
.tippy-arrow:before {
    color: var(--alternate-text-color);
}

.tippy-box, .optionMenu {
    background-color: var(--primary-background-color);
    border-radius: 6px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    padding: 5px;
    min-width: 150px;
    box-sizing: border-box;
}

.optionMenuContainer {
    position: relative;
}

.optionMenu {
    position: absolute;
    z-index: 3;
    top: 25px;
}

.optionMenuContainer.alignRight .optionMenu {
    right: 0;
}

.tippy-box div {
    color: var(--primary-text-color);
}

.tippy-box .tippy-content {padding: 0;}

.tippyTitle {
    font-weight: var(--bold-font-weight);
    padding-bottom: 10px;
}

.tippy-box ul, .tippy-box li, .optionMenu ul, .optionMenu li {
    padding: 0;
    cursor: pointer;
    white-space: nowrap;
}
.tippy-box li, .optionMenu li {
    padding: 2px 0;
    position: relative;
}

.tippy-box li a, .optionMenu li div {
    color: var(--primary-link-color);
    padding: 4px;
    display: block;
    line-height: 20px;
    text-align: left;
}
.tippy-box li a:hover, .optionMenu li div:hover {
    background-color: var(--maincolor);
    color: var(--alternate-text-color);
}

.tippy-box li.menuItemSeparator {
    margin: 5px 1px 6px;
	border: none;
	background-color: transparent;
	padding: 0;
    border-bottom: 1px solid var(--lightblue);
}

.tippy-box li.active, .tippy-box li.active a, .tippy-box li.active a:hover {
    background-color: var(--secondary-background-color);
    cursor: text;
    color: var(--secondary-light-blue);
}

.tippy-box .newMessageIndicator {
    position: absolute;
    top: 6px;
    right: 2px;
}

.tip {
    color: var(--maincolor);
    background-color: var(--secondary-background-color);
    border: 1px solid var(--maincolor);
    border-radius: 50%;
    text-align: center;
    font-size: 12px;
    padding: 3px;
}

table td span[class^="icon-"].tip, table td span[class*=" icon-"].tip {
    font-size: 12px;
}

/* User */
.userInfo .icon-badge, .infoContainer .userInfo .icon-badge {
    font-size: var(--large-font-size);
    color: var(--primary-text-color);
}

.stars {
	background-repeat: no-repeat;
    background-position: right center;
	background-size: auto 100%;
	height: 16px;
	display: inline-block;
	}

.stars1 {
    background-image: url("../../images/star1.png");
    width: 20px;
}
.stars2 {
    background-image: url("../../images/star2.png");
    width: 24px;
}
.stars3 {
    background-image: url("../../images/star3.png");
    width: 30px;
}

.icon-crown {
    color: var(--primary-text-color);
    border-radius: 100%;
    padding: 3px;
    font-size: 14px;
    vertical-align: top;
}
.icon-crown.silversponsor {
    background-color: var(--grey);
}
.icon-crown.goldsponsor {
    background-color: var(--gold);
}

/* Subscribe Dialogs */

.previewScreenshot {
    width: 300px;
    margin: 0 auto;
    position: relative;
}

.previewScreenshot .screenshot {
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    position: relative;
    width: 300px;
}

.previewScreenshot .offspring {
    background-image: url("../../images/screenshot_litter.jpg");
    height: 220px;
}

.previewScreenshot .scrollPedigree {
    background-image: url("../../images/screenshot_scrollpedigree.jpg");
    height: 358px;
}

.previewScreenshot .markMultipleOccurrences {
    background-image: url("../../images/screenshot_markoccurrence.jpg");
    height: 250px;
}

.previewScreenshot .breederStatistics {
    background-image: url("../../images/screenshot_breederstatistics.jpg");
    height: 250px;
}

.previewScreenshot .notifyOnChange {
    background-image: url("../../images/screenshot_watchlist_notification.jpg");
    height: 220px;
}

.previewScreenshot .virtualAnimal {
    background-image: url("../../images/screenshot_breedingplan.jpg");
    height: 430px;
}

.previewScreenshot .reverse_pedigree {
    background-image: url("../../images/screenshot_reverse_pedigree.jpg");
    height: 280px;
}

.previewScreenshot .matematcher {
    background-image: url("../../images/screenshot_matematcher.jpg");
    height: 480px;
}

.previewScreenshot .breederPage {
    background-image: url("../../images/screenshot_breeder_page.jpg");
    height: 440px;
}

.previewScreenshot .verifyIdentity {
    background-image: url("../../images/screenshot_verify_identity.jpg");
    height: 320px;
}

.imageOverlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.4);
    top: 0;
    left: 0;
}

.previewScreenshot .watermark {
    text-transform: uppercase;
    position: absolute;
    text-align: center;
    color: var(--alternate-text-color);
    font-size: 35px;
    font-weight: 600;
    top: 45%;
    left: 0;
    transform: rotate(-45deg);
    width: 100%;
    z-index: 1;
}

/* Payment */

.paymentMethods {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: 8px;
}

.payment {
    border: 2px solid transparent;
    cursor: pointer;
    background-color: var(--secondary-background-color);
    box-sizing: border-box;
    width: 164px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.allPaymentsAvailable .payment {
    width: 160px;
}

.paypal {
    background-image: url("../../images/paypal-logo.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100px auto;
}

.stripe {
    background-image: url("../../images/stripe_credit_cards.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 130px auto;
}

.cash {
    text-align: center;
    font-size: 18px;
    color: var(--maincolor);
    padding: 10px;
    line-height: 1;
}

.selectedPayment {
    border: 2px solid var(--maincolor);
    border-radius: 3px;
}

/* Dialog */
.standardDialog {
    z-index: 111;
    width: 100%;
    min-width: 320px;
    height: auto;
    position: relative;
    background-color: var(--primary-background-color);
}

.standardDialog img {
    max-height: 100%;
}

.standardDialog.plainDialog {
    max-width: 1024px;
    position: absolute;
    top: 0;
    bottom: 0;
    box-sizing: border-box;
    display: flex;
}

.standardDialog .dialogContentContainer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
}

.standardDialog .dialogContent {
    height: calc(100% - 180px);
    padding: 10px;
    overflow: auto;
    box-sizing: border-box;
}

.standardDialog.plainDialog .dialogContentContainer {
    padding-top: 60px;
}

.inputDialog .standardDialog.plainDialog .dialogContentContainer {
    padding-top: 0;
}

.standardDialog.plainDialog .dialogContent {
    height: calc(100% - var(--buttonpane-bottom-height));
}

.inputDialog .standardDialog.plainDialog .dialogClose {
    display: none;
}

/* allow dropdown to overflow dialog */
.standardDialog.midSizeDialog.litterDialog, .standardDialog.midSizeDialog.litterDialog .dialogContent {
    overflow: visible;
}

.dialogHeadSection {
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dialogContent.noPadding{
  padding: 0;
}

.dialogContainerActive {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 115;
	background: rgba(0,0,0,0.7);
    display: flex;
    justify-content: center;
    align-items: center;
}

.dialogContainerActive:first-of-type {
    z-index: 200;
}

.standardDialog.midSizeDialog, .standardDialog.smallSizeDialog, .standardDialog.largeSizeDialog {
    max-height: 100%;
    overflow: auto;
}

.standardDialog.smallSizeDialog {max-width: 500px;}
.standardDialog.midSizeDialog {max-width: 700px;}
.standardDialog.largeSizeDialog {padding-bottom: 0;}

.standardDialog.fullSizeDialog {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    background-color: var(--primary-background-color);
    border-radius: 0;
}

.standardDialog.fullSizeDialog .dialogContent{
  height: calc(100% - 145px);
}

.standardDialog.noButtonPane .dialogContent{
  height: calc(100% - 65px);
}

.standardDialog.plainDialog.noButtonPane .dialogContent {
    height: 100%;
}

.standardDialog.noButtonPane .dialogContent.noPadding{
  height: calc(100% - 45px);
}

.standardDialog .titlePane {
  font-size: var(--large-font-size);
  font-weight: var(--bold-font-weight);
  color: var(--alternate-text-color);
  background-color: var(--maincolor);
  height: 25px;
  padding: 10px;
}

.standardDialog.plainDialog .titlePane {
    color: var(--primary-text-color);
    background-color: var(--primary-background-color);
}

.standardDialog.errorDialog .titlePane {
    background-color: var(--error-background-color);
    color: var(--primary-text-color);
}

.standardDialog.infoOnlyDialog .titlePane {
    background-color: var(--white);
    color: var(--primary-text-color);
}

.standardDialog.infoOnlyDialog .dialogTitle {
    width: 100%;
    text-align: center;
}

.standardDialog.infoOnlyDialog .buttonBottom {
    justify-content: center;
}

.standardDialog.errorDialog {
    background-color: var(--secondary-background-color);
    z-index: 112;
}

.standardDialog.errorDialog .standardButton:hover {
    background-color: var(--secondary-background-color);
}

.standardDialog ul li {
    list-style-type: disc;
}

.standardDialog .buttonPane  {
    padding: 10px;
    box-sizing: border-box;
    flex-wrap: wrap;
}

.singleButton {
    display: flex;
    padding-top: 15px;
    align-items: center;
    justify-content: flex-end;
}

.buttonBottom {
    display: flex;
    padding: 15px 0 0 0;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 20px;
    font-size: var(--medium-large-font-size);
}

.buttonBottom button, .buttonBottom .button {
    height: 36px;
    font-size: var(--large-font-size);
}

.buttonPane .buttonBottom {
    padding: 0;
}

.buttonBottom a, .buttonBottom .link {
    text-decoration: underline;
}

.buttonBottom a:hover, .buttonBottom .link:hover {
    text-decoration: none;
}

/*fixed position for search input*/
#new_healthinfo_dialog .dialogSearch {left: 10px; top: 55px; position: absolute; width: 94%;}

.standardDialog .dialogTitle {
  width: calc(100% - 35px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.standardDialog .dialogClose {
  cursor: pointer;
  height: 25px;
  padding: 10px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 25px;
}

.standardDialog.plainDialog .dialogTitle {
    width: 100%;
    font-size: 24px;
    font-weight: var(--bold-font-weight);
}

.standardDialog.plainDialog .dialogClose {
    position: absolute;
    color: var(--primary-link-color);
    font-size: 14px;
    height: 60px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    cursor: auto;
}

.standardDialog.plainDialog .dialogClose .icon-cancel {
    cursor: pointer;
    padding: 10px;
}

.detailNavigation {
    position: absolute;
    display: flex;
    cursor: pointer;
    align-self: center;
}

.detailNavigation.prev {left: 20px; top: auto;}
.detailNavigation.next {right: 20px; top: auto;}


.detailNavigation span {
    background-color: rgba(255, 255, 255, 0.8);
    color: var(--primary-button-color);
    border-radius: 100%;
    font-size: 22px;
    padding: 8px;
    z-index: 1080;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Form specifics */
.centeredForm {margin: 0 auto; max-width: 512px;}

.infoMessage {
	color: var(--maincolor);
    font-weight: var(--bold-font-weight);
}

.passwordScore  {
  font-weight: var(--bold-font-weight);
  text-align: right;
  font-size: var(--small-font-size);
}

.score0 {color: var(--score0);}
.score1 {color: var(--score1);}
.score2 {color: var(--score2);}
.score3 {color: var(--score3);}
.score4 {color: var(--score4);}

.passwordScoreIndicator {
	display: flex;
	justify-content: space-between;
    width: 100%;
    margin-top: 2px;
    height: 5px;
}
.passwordScoreIndicator span {width: 19%; background-color: var(--grey);}
.score0 .passwordScoreIndicator span:first-child {background-color: var(--score0);}
.score1 .passwordScoreIndicator span:nth-child(-n+2) {background-color: var(--score1);}
.score2 .passwordScoreIndicator span:nth-child(-n+3) {background-color: var(--score2);}
.score3 .passwordScoreIndicator span:nth-child(-n+4) {background-color: var(--score3);}
.score4 .passwordScoreIndicator span:nth-child(-n+5) {background-color: var(--score4);}

.togglePasswordVisibility {
    position: absolute;
    padding: 6px 10px;
    top: 0;
    right: 0;
}

/* Dog profiles */
.itemBox {
	padding: 5px;
	background-color: var(--primary-background-color);
	width: 100%;
	border-radius: 10px;
	position: relative;
	box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    transition: var(--ease-transition);
}

.itemBox.fullProfile {
    margin-bottom: 4px;
}

.itemBox .deleteEntry, .plannedLitter .deleteEntry, .currentLitterAnimal .deleteEntry {
    position: absolute;
    bottom: 0;
    right: 0;
    cursor: pointer;
    color: var(--primary-link-color);
    font-size: var(--large-font-size);
    padding: 5px;
}

.itemBox .deleteEntry:hover, .plannedLitter .deleteEntry:hover, .currentLitterAnimal .deleteEntry:hover {
    color: var(--primary-link-hover-color);
}

.profileDetails {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
	width: 100%;
    font-size: var(--small-font-size);
    gap: 5px;
    flex-wrap: wrap;
}

.animalProfile, .personProfile {
    display: flex;
    gap: 10px;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
}

.recordInfo, .secondaryProfileData {
	font-size: 12px;
    flex-shrink: 0;
}

.fullProfile .profileDetails {
    font-size: var(--primary-font-size);
}

.itemBox .profileData, .itemBox .profileData span {
    word-wrap: normal;
    word-break: normal;
}

.profileData {
    width: calc(100% - var(--small-profile-photo-width));
}

.profileData .icon-lock, .userInfo .icon-lock {
    margin-left: 5px;
    font-size: inherit;
    padding: 4px;
}

.profileData .animalName {
    font-size: var(--medium-large-font-size);
    display: flex;
    gap: 5px;
    align-items: center;
    flex-wrap: wrap;
}

.icon-animal-mating-partners {
    font-size: 14px;
    color: var(--darkgrey);
}

.profilePhoto, .pictureContainer, .noPhoto {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.noPhoto {
    align-self: center;
}

.userProfile .noPhoto {
    color: var(--primary-text-color);
    height: 140px;
    background-color: var(--secondary-background-color);
}

.userProfile .noPhoto [class^="icon-"] {
    font-size: 60px;
}

.profilePhoto {
    text-align: center;
}

.linkedUserEntry .profilePhoto,  .linkedUserEntry .profilePhoto img {
    width: 100px;
    border-radius: 3px;
}

.pictureContainer {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.pictureContainer img, .noPhoto {
    max-height: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    flex-direction: column;
    border-radius: 4px;
    align-self: center;
}

.pictureContainer:empty {display: none !important;}

.noPhoto, a.noPhoto {
    margin: 0;
	border-radius: 4px;
	text-align: center;
}

.noPhoto [class^="icon-"] {
    font-size: 34px;
}

.litterAnimalDetailContainer {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.litterAnimalDetail {
    width: 100%;
}

.litterAnimalDetail .noPhoto [class^="icon-"],
.litterAnimalDetail .noPhoto { /* TODO improve definitions*/
    font-size: 90px;
    justify-content: flex-start;
    color: var(--darkgrey);
}

.smallProfile .profilePhoto, .smallProfile .pictureContainer {
    width: var(--small-profile-photo-width);
    height: 100%;
    justify-content: flex-start;
    align-self: flex-start;
    content-visiblity: auto;
}

.smallProfile .pictureContainer img {
    max-height: 80px;
}

.breederProfile {
    position: relative;
}

/* show removed or locked icon */
.breederProfile .tip {
    position: absolute;
    top: -10px;
    left: -10px;
}

.breederProfile .profilePhoto, .breederProfile .pictureContainer {
    width: var(--breeder-profile-photo-size);
    height: 100%;
    justify-content: flex-start;
    align-self: flex-start;
    content-visiblity: auto;
}

.breederProfile .pictureContainer img {
    height: calc(var(--breeder-profile-photo-size) - 20px);
    width: var(--breeder-profile-photo-size);
    object-fit: cover;
}

.breederProfile .pictureContainer .noPhoto {
    height: 100px;
    background-color: var(--lightgrey);
    color: var(--grey);
}

.breederProfile .pictureContainer .noPhoto [class^="icon-"] {
    font-size: 44px;
}

.fullProfile .profilePhoto, .fullProfile .pictureContainer {
    width: 120px;
    height: 100%;
    justify-content: center;
    align-self: center;
    content-visiblity: auto;
}

.smallProfile .unknownAnimal {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.smallProfile .unknownAnimal .icon-animal-standing-right {
    font-size: 34px;
    color: var(--darkgrey);
}

.fullProfile .pictureContainer img {
    max-height: 100px;
}

.litterPicture {
    position: relative;
}

.litterPicture .deleteEntry {
    position: absolute;
    top: 6px;
    left: 6px;
    font-size: 18px;
    display: flex;
    cursor: pointer;
    height: 28px;
    width: 28px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 100%;
    justify-content: center;
    align-items: center;
    color: var(--primary-link-color);
    transition: var(--linear-transition);
}

.litterPicture .deleteEntry:hover {
    color: var(--primary-link-hover-color);
}

/* Litter profile */
.litterProfile {
    justify-content: flex-start;
    gap: 10px;
}

.litterInfo {
	text-align: center;
	width: 100%;
	font-size: 12px;
}

.litterAnimals .icon-animal-standing-right {
    color: var(--darkgrey);
}

.litterOffspring {
	width: 100%;
}

.litterAnimals {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
    padding: 20px 0;
    align-items: stretch;
}

.litterAnimals .litterAnimalPreview {
    width: 100%;
    flex-shrink: 0;
    cursor: pointer;
}

.litterAnimals .litterAnimalPreview .previewContainer {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.litterAnimals .litterAnimalInfo {
    padding: 8px 8px 0 0;
}

.litterAnimals .litterAnimalPreview img {
    transition: var(--ease-transition);
    height: 122px;
    opacity: 0.95;
    object-fit: contain;
    background-color: var(--lightgrey);
}

.litterAnimals .litterAnimalPreview:hover img {
    opacity: 1;
    transform: scale(1.02);
}

.litterAnimals .litterAnimalPreview .noPhoto {
    background-color: var(--primary-background-color);
    height: 122px;
}

.litterDialogOpener {
	position: absolute;
	right: 5px;
	top: 5px;
	font-size: 20px;
}

.litterDialogHeader {
	font-weight: var(--bold-font-weight);
	display: block;
	text-align: center;
}

.litterMatingPartnerContainer {
    border-radius: 10px;
    background-color: var(--white);
    padding: 5px;
    box-sizing: border-box;
}

.litterMatingPartner {
	display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 20px;
    box-sizing: border-box;
    margin-bottom: 10px;
    align-items: flex-start;
}

/* Breeder page specific to fit on small screens */
.litterMatingPartnerContainer .litterMatingPartner {
    gap: 5px;
}

.litterMatingPartner .profileData {
    width: 100%;
}

.litterMatingPartner .animalProfile {
    flex-wrap: wrap;
    height: 100%;
}

.smallProfileMatingSire, .smallProfileMatingDam {
	width: 50%;
}

.smallProfileMatingSire {
    text-align: right;
}

.smallProfileMatingSire .animalProfile {
    flex-direction: row-reverse;
}

.smallProfileMatingSire .animalName {
    justify-content: flex-end;
}

.smallProfileMatingDam .noPhoto .icon-animal-standing-right {
    transform: rotateY(180deg);
}

.litterMatingPartner .icon-mating-x {
    display: flex;
    align-items: center;
    font-size: 24px;
}

.customHeader .subHeader {
    font-size: 80%;
}

/** Add Litter **/

.litterParentsContainer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 5px;
}

.litterEditAnimal {
    padding-bottom: 10px;
}

/* Litter End */

/* Index search pages */
/* Breeder list search specifics */

.pageHeaderSearchContainer {
    padding: 20px 10px 10px 10px;
    max-width: var(--primary-page-width);
    margin: 0 auto;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.pageHeaderSearchContainer .searchResultsInfo, .pageHeaderSearchContainer .breederFilter {
    width: 100%;
    text-align: center;
}

.pageHeaderSearchContainer .searchInput, .pageHeaderSearchContainer .searchSelect, .searchBox .switch-ios.switch-toggle {
    width: 300px;
}


/* Watch List */

.groupHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    margin: 5px;
    color: var(--maincolor);
    border-bottom: 1px solid var(--maincolor);
}

.groupHeaderName {
    cursor: pointer;
    font-size: 18px;
}

.customSearch {
    width: 100%;
    max-width: 400px;
}

.optionMenu li .watchListOption {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    width: 240px;
}

/* Breeder list search end */

.splitSection {
    max-width: 1144px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
}

.splitSectionLeft, .splitSectionRight {
    box-sizing: border-box;
    width: 100%;
}

.searchBoxContainer {
    background-color: var(--primary-background-color);
    box-sizing: border-box;
    width: 100%;
    height: 100%;
}

.searchBoxHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    z-index: 3;
    width: 100%;
    background-color: var(--primary-background-color);
    padding: 12px 10px;
    position: sticky;
    top: 0;
}

.searchBoxTitle {
    font-size: var(--large-font-size);
    font-weight: var(--bold-font-weight);
    text-transform: capitalize;
}

.searchLabel, .selectLabel {
    position: absolute;
    left: 5px;
    color: var(--label-search);
    text-overflow: ellipsis;
    width: auto;
    background-color: var(--primary-background-color);
}

.selectLabel {  left: 8px;  }

.searchBox .searchLabel, .searchBox input {
    transition: transform 0.2s ease;
}

.noInputLabel {
    width: auto;
    margin-top: 0;
    font-weight: var(--primary-font-weight);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}

.zipInput {
    width: 100px;
}

.yearTextInput {
    width: 90px;
}

input.clearSelection, div.clearSelection, textarea.clearSelection, select.clearSelection {width: 90%; vertical-align: middle;}

.clearSelectionIcon, .ts-wrapper.has-items .ts-control .clearSelectionIcon {
    cursor: pointer;
    display: flex;
    align-items: center;
    height: 100%;
    width: 25px;
    font-size: 14px;
    color: var(--primary-link-color);
	transition: all 0.4s ease;
    flex-shrink: 0;
}

.clearSelectionIcon:after {
    font-family: 'tba';
    content: "\e604";
}

.clearSelectionIcon:hover{ color: var(--primary-link-hover-color);}

.ts-wrapper .ts-control .clearSelectionIcon {
    display: none;
}

.ts-wrapper.has-items .ts-control .clearSelectionIcon {
    position: absolute;
    right: -35px;
    top: 0;
}

.searchFilters {
    padding: 10px;
    box-sizing: border-box;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mateMatcherArea .searchFilters {
    gap: 2px;
}

.mateMatcherArea .selectSearch.filterRow {
    padding: 4px 0 0;
}

.searchBox .selectSearch .ts-control .item {
    white-space: nowrap;
    overflow: hidden;
    height: calc(var(--search-input-height) - 12px);
    display: flex;
    align-items: center;
}

.multiSearchLines {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.searchFilterLinks {
    font-weight: var(--thin-font-weight);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.searchFilterLinks .link {
    text-decoration: underline;
}

.searchFilterLinks .link:hover {
    text-decoration: none;
}

.smallIconLink {
    font-size: var(--verysmall-font-size);
    color: var(--primary-link-color);
}

.searchBox .hasFocus .searchLabel {
    padding: 0 5px;
    color: var(--maincolor);
    transform: scale(.8) translatey(-24px);
    z-index: 2;
}

.searchBox input[type="text"]:not(.searchBox .selectSearch input[type="text"]),
.searchBox input[type="number"] {
    min-height: var(--search-input-height);
    background: transparent;
    border: 1px solid var(--input-searchbox-border-color);
    z-index: 1;
    border-radius: 4px;
    padding: 5px;
}

.searchBox input:focus:not(.searchBox .selectSearch input:focus) {
    border: 2px solid var(--input-border-focus-color);
    padding: 4px;
}

.searchBox .select {
    margin: 0;
    height: var(--search-input-height);
    width: 100%;
    background-color: var(--primary-background-color);
    border: 1px solid var(--input-searchbox-border-color);
    border-radius: 4px;
    outline: none;
    position: relative;
    box-sizing: border-box;
}

.searchBox .select select {
    margin: 0;
    -webkit-appearance: none;
            appearance: none;
    position: absolute;
    border: none;
    width: 100%;
    outline: none !important;
    top: 0;
    left: 0;
    padding: 0 5px;
    background: none;
    height: 40px;
    z-index: 1;
}

.searchBox .select select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
}

.searchBox .select .icon-sort {
    position: absolute;
    right: 6px;
    top: 15px;
    z-index: 0;
}

.searchBox .select .selectLabel {
    font-size: 80%;
    top: -8px;
    padding: 0 5px;
    color: var(--maincolor);
}

.searchBox .formRow {
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.searchBox .selectSearch:last-of-type {
    margin-bottom: 100px;
}

.textMarkerContainer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.textMarker {
    border: 1px solid var(--maincolor);
    color: var(--maincolor);
    border-radius: 16px;
    padding: 2px 8px;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
          user-select: none;
}

.textMarker.selected {
    background-color: var(--maincolor);
    color: var(--alternate-text-color);
}

.textMarker.riskLevel {
    background-color: var(--confirmation-color);
    border: none;
    color: var(--white);
    cursor: initial;
    font-weight: var(--bold-font-weight);
    padding: 4px 10px;
}

.textMarker.riskLevel.mediumRisk {
    background-color: var(--warning-color);
}

.textMarker.riskLevel.highRisk {
    background-color: var(--error-color);
}

.newFeatureIndicator {
    background-color: var(--alternate-button-color);
    color: var(--alternate-button-text-color);
    font-size: 12px;
    margin-left: 5px;
    border: none;
    cursor: text;
}


.searchResults, .searchResultButtons, .sortButton, .filterButton {
    box-sizing: border-box;
    display: flex;
    padding: 5px 0;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap-reverse;
}

.searchResultButtons {
    width: 100%;
}

.searchResultButtons.disabled {
    opacity: 0.3;
}

.searchResultsInfo {
    width: 100%;
    text-align: center;
    font-weight: 600;
}

.searchResults.noResults .searchResultButtons, .searchResults.noResults .searchResultsInfo {
    width: auto;
}

.sortButton, .filterButton {
    cursor: pointer;
    background-color: var(--primary-background-color);
    border-radius: 4px;
    border: 1px solid var(--grey);
    position: relative;
}

.filterButton {margin-left: 2px;}

.filterRow {
    padding: 12px 38px 12px 12px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.filterRow.inputFilter {
    align-items: center;
}

.filterRow label {
    width: 100%;
    margin: 0 0 0 4px;
    font-weight: normal;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.searchFilterCount {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--black-variant);
    color: var(--alternate-text-color);
    font-size: var(--small-font-size);
    border-radius: 50%;
    height: 16px;
    width: 16px;
    position: absolute;
    top: 2px;
    right: 2px;
}

.sortButton .sortDirection, .sortButton .sortOption, .filterButton .filterOption {
    padding: 5px 10px;
    color: var(--black-variant);
    display: flex;
    align-items: center;
}

.sortButton .sortOption {
    border-right: 1px solid var(--grey);
    width: 152px;
    display: block;
    text-align: center;
}

.sortButton .sortOption.plain {
    border: none;
}

.sortOptionContainer {
    position: absolute;
    top: 40px;
    width: 100%;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    padding: 5px;
    box-sizing: border-box;
    border: 1px solid var(--grey);
    background-color: var(--primary-background-color);
    z-index: 1;
    text-align: left;
}

.sortOptionContainer ul, .sortOptionContainer li {
    list-style-type: none;
    padding: 0;
}

 .sortOptionContainer li {
     padding: 8px 4px;
     margin: 2px 0;
     line-height: 20px;
     color: var(--primary-text-color);
     display: block;
 }

.sortOptionContainer li:hover {
    background-color: var(--lightgrey-variant);
}

/* profile on person detail page */
.pageHeaderContext, .pageHeaderContext .itemBox.breederProfile, .contentRight .itemBox.breederProfile {
    width: 100%;
    max-width: 400px;
}

.breederProfile.itemBox {
    background-color: var(--box-background);
    gap: 20px;
    flex-direction: column;
}

.breederProfile.itemBox.hasBreederPage {
    background-color: var(--lightblue);
}

.breederProfile .profileDetails {
    font-size: var(--primary-font-size);
    flex-wrap: nowrap;
    gap: 10px;
}

.breederProfile .profileData {
    width: calc(100% - var(--breeder-profile-photo-size));
    display: flex;
    gap: 16px;
    flex-direction: column;
}

.breederProfile .profileDetails .profileName {
    font-size: var(--large-font-size);
    font-weight: var(--bold-font-weight);
}

.breederProfile .personUserInfo {
    flex-shrink: 0;
    color: var(--maincolor);
    font-size: 24px;
}

.breederProfile .breederClubInfo {
    flex-shrink: 0;
    margin-right: 4px;
}

.resultProfile.itemBox {
    background-color: var(--box-background);
    border-radius: 4px;
    margin-bottom: 4px;
}


.resultProfile .profilePhoto, .resultProfile .pictureContainer  {
    width: 80px;
    height: 100%;
    align-self: center;
}

.resultProfile .pictureContainer {
    padding: 2px;
}

.resultProfile .noPhoto {
    height: 60px;
    background-color: transparent;
}

.resultProfile .primaryProfileData {
    width: 100%;
    display: flex;
    gap: 5px;
}

.resultProfile .secondaryProfileData {
    width: auto;
    display: none;
    text-align: right;
}

/* Person page */
.breederFilter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-shrink: 0;
    align-items: center;
    gap: 10px;
}

.personStatistics {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.repeatBreedingMatingPartner {
    display: flex;
    gap: 5px;
}

.repeatBreedingCount {
    border-radius: 18px;
    text-align: center;
    width: 40px;
    height: 20px;
    color: var(--alternate-text-color);
    background-color: var(--grey-variant);
}

.publishButtonContainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding: 10px 10px 0 10px;
    box-sizing: border-box;
    width: 100%;
}

.breederPageHeadContainer {
    max-width: var(--primary-page-width);
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
}

.breederPageContentSection {
    padding-bottom: 40px;
}

.breederPageTopics {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
    gap: 20px;
    white-space: pre-wrap;
    word-break: break-word;
}

.breederPageTopics > div {
    width: 100%;
}

.personLandingPicture .ribbon {
    z-index: 97;
}

.personProfilePicture {
    color: var(--lightgrey);
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 20px;
}

.personProfilePicture img {
    max-height:250px;
}

.personProfilePicture .breederPagePhotoSave {
    position: initial;
}

.profileEdit .personProfilePicture {
    background-color: var(--picture-placeholder-background);
    align-items: center;
    justify-content: center;
}

.personLandingPicture.noCoverPhoto, .noProfilePicture.noProfilePicture {
    background-color: var(--picture-placeholder-background);
    height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--grey-variant);
    box-sizing: border-box;
}

.personLandingPicture.noCoverPhoto:before, .personProfilePicture.noProfilePicture:before {
    content: "\e601";
    font-family: 'tba';
    font-size: 48px;
    color: var(--white);
}

.personLandingPicture {
    max-height: 180px;
    overflow: hidden;
}

.personLandingEdit, .uploadButton {
    position: absolute;
    z-index: 111;
}

.personLandingName {
    font-size: 20px;
    font-weight: var(--thin-font-weight);
    padding: 10px;
}

.personLandingPicture.noCoverPhoto .personLandingName {
    color: var(--white) !important;
}

.personLandingName .kennelName {
    font-weight: var(--bold-font-weight);
    font-size: 26px;
}

.personLandingEdit {
    top: 10px;
    right: 20px;
    font-size: 20px;
    cursor: pointer;
    color: var(--grey);
    border-radius: 100%;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.6;
    filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.15));
    transition: var(--ease-transition);
}

.personLandingEdit:hover {
    opacity: 0.8;
    filter: none;
}

.roundButton { /* TODO: align with .pictureProfileButtons > div */
    cursor: pointer;
    font-size: 18px;
    height: 32px;
    width: 32px;
    background-color: var(--primary-background-color);
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.15));
    transition: var(--ease-transition);
    box-sizing: border-box;
    margin: 0;
}

.roundButton:hover {
    filter: none;
}

.roundButton.upload {
    position: absolute;
    font-size: 18px;
    color: var(--salmon);
    top: 10px;
    right: 10px;
    width: 45px;
    height: 45px;
}

.roundButton.upload:hover {
    color: var(--salmon-variant);
}

.personLandingPicture .roundButton.upload {
    right: 20px;
}

.roundButton.remove {
    position: absolute;
    top: 5px;
    right: 5px;
    color: var(--primary-button-color);
}

.roundButton.remove:hover {
    color: var(--primary-button-hover-color);
}

.breederPagePhotoSave {
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.moveCropareaInfo {
    padding: 5px;
    text-align: center;
}

.clubImage, .socialMediaImage {
    height: 30px;
    flex-shrink: 0;
    width: 50px;
}

.emptyLogo {
    height: 30px;
    width: 30px;
    border-radius: 100%;
    background-color: var(--secondary-background-color);
    display: flex;
    justify-content: center;
    align-items: center;
}

.socialMediaProfiles {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
}

.socialMediaProfiles .socialMediaImage {
    width: auto;
}

.personTextArea {
    position: relative;
}

.personTextArea textarea {
    min-height: 200px;
}

.personTextArea .textCounter {
    position: absolute;
    bottom: 5px;
    right: 5px;
    color: var(--darkgrey);
    font-size: var(--small-font-size);
}

.personMenuContainer {
    box-sizing: border-box;
    background-color: var(--secondary-background-color);
    filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.15));
    height: 56px;
}

.personMenuContainerBox {
    display: flex;
    justify-content: space-between;
    width: var(--primary-page-width);
    align-items: center;
    margin: 0 auto;
    height: 100%;
    padding: 0 10px;
    box-sizing: border-box;
}

.personMenu {
    display: flex;
    gap: 38px;
    align-items: center;
    justify-content: flex-start;
    font-weight: var(--bold-font-weight);
    height: 100%;
    box-sizing: border-box;
}

.personMenu > div {
    padding: 0 5px;
    transition: var(--ease-transition);
    border-bottom: 3px solid transparent;
    cursor: pointer;
    display: flex;
    gap: 5px;
    align-items: center;
    color: var(--primary-link-color);
    height: 100%;
}

.personMenu > div:nth-of-type(4) {
    text-transform: capitalize;
}

.personMenu .active, .personMenu > div:not(.personMenu > div.previewButton):hover {
    border-bottom: 3px solid var(--primary-link-color);
    color: var(--primary-link-hover-color);
}

.menuIndicatorContainer {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    gap: 5px;
}

.litterIndicatorWrapper {
    height: 80%;
}

.litterIndicator {
	font-size: 11px;
	color: var(--primary-button-text-color);
	background-color: var(--primary-button-color);
	border-radius: 100%;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.generalInfo.personInfo {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.personInfo {
    font-size: var(--medium-large-font-size);
}

.personInfo .kennelName {
    font-size: 24px;
}

.personInfo .personNotes {
    margin-top: 20px;
    font-size: var(--primary-font-size);
}

#map {
    z-index: 0;
    width: 100%;
    height: 200px;
}

#map:empty {display: none;}

.litterAd {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-direction: column;
}

.plannedLitter {
    display: flex;
    flex-direction: column;
    filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.15));
    background: var(--box-background);
    padding: 10px 10px 30px 10px;
    box-sizing: border-box;
    border-radius: 10px;
    width: 100%;
    max-width: 748px;
    margin: 0 auto;
    position: relative;
    gap: 25px;
}

.litterTitlePane {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.litterTitle {
    font-size: var(--large-font-size);
    font-weight: var(--bold-font-weight);
    display: flex;
    align-items: center;
    gap: 10px;
}

.litterFacts {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.litterDetails {
    margin-top: 20px;
}

.plannedLitter .icon-animal-mating-partners { /* TODO: align with virtual animal */
    background-color: var(--primary-background-color);
    height: 160px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    font-size: 90px;
}

.currentLitter {
    width: 100%;
}

.currentLitterAnimal {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.15));
    background: var(--box-background);
    padding: 10px 10px 30px 10px;
    box-sizing: border-box;
    border-radius: 10px;
    position: relative;
    margin-bottom: 20px;
}

img.litterCoverImage {
    filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.15));
}

.nav {
    width: 30px;
    height: 30px;
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.2;
}

.nav.enabled {
    visibility: visible;
    transition: var(--ease-transition);
    cursor: pointer;
    opacity: 0.8;
}

.nav.enabled:hover {
    opacity: 1;
}

.nav.arrowNext {
    background-image: url("../../images/next.png");
}

.nav.arrowPrev {
    background-image: url("../../images/prev.png");
}

.navButton {
    border-radius: 100%;
    background-color: var(--grey);
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    color: var(--primary-button-color);
    transition: var(--ease-transition);
    font-weight: var(--bold-font-weight) !important;
    opacity: 0.2;
}

.navButton.enabled {
    opacity: 1;
    cursor: pointer;
}

.navButton.enabled:hover {
    color: var(--primary-button-hover-color);
    background-color: var(--grey-variant);
}

/* New Ribbon */

.ribbon {
    left: 0;
    position: absolute;
    top: 0;
    z-index: 100;
}

.ribbon .bannerText, .ribbon .banner {
	margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;
}
.ribbon .banner {
	transform:rotate(-45deg);
	color: var(--alternate-text-color);
	-webkit-font-smoothing:antialiased;
	display:block;
	float:right;
	position:relative;
	left: -7px;
	top:16px;
	width:65px;
}

.ribbon .banner.personLandingBanner {
    left: 4px;
}

.ribbon .banner:after, .ribbon .banner:before {
	background-color: var(--maincolor);
	content: '';
    height: 6px;
    position: absolute;
    width: 20px;
	opacity: 0.8;
	display: block;
}

.ribbon .banner.personLandingBanner:after, .ribbon .banner.personLandingBanner:before {
	background-color: var(--redribbon-color);
}

.ribbon .banner:before {
    transform: skewY(-45deg) translate(50%, 15px);
    transform-origin: 100% center;
	top: -5px;
	left: -30px;
}
.ribbon .banner:after{
    transform: translate(100%, -100%) skewY(45deg) translateX(-58%);
    transform-origin:0 center;
	top:18px;
	right: -12px;
}


.ribbon .bannerText {
	font-size: 11px;
    font-weight: 600;
    padding: 3px 0;
    position: relative;
    text-transform: uppercase;
    z-index: 2;
	text-align: center;
}

.ribbon .bannerText:before{
	transform: translateX(-15%) skewX(-45deg);
}

.ribbon .bannerText:after {
	transform: translateX(15%) skewX(45deg);
}

.ribbon .bannerText:after, .ribbon .bannerText:before {
	content: "";
    display: block;
    height: 20px;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
	background-color: var(--maincolor);
}

.ribbon .personLandingBanner .bannerText:after, .ribbon .personLandingBanner .bannerText:before {
	background-color: var(--redribbon-color);
}


/* End ribbon */

/* Issues */
.revisionTable {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: flex-start;
}

.revisionTable .versionHeader {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

.revisionTable .versionButtons {
    display: flex;
    gap: 5px;
}

.revisionTable table tbody tr, .revisionTable tr.changed.merged td:last-of-type {
    background-color: var(--primary-background-color);
}

.revisionTable tr td {
    vertical-align: top;
}

.revisionTable tr.changed td {
    background-color: var(--error-background-color);
}

.revisionTable tr.changed.merged td:first-of-type {
    background-color: var(--confirmation-background-color);
}

.revisionTable button {
    min-width: auto;
}

.revisionEntry {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap-reverse;
}

.revisionEntry.revertMergedValue {
    justify-content: space-between;
}

.revisionSelector {
    display: flex;
}

.revisionHistory {
    width: 100%;
}

.revisionHistoryNav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.revisionHistoryEntry {
    border-bottom: 1px solid var(--primary-background-color);
    padding: 10px 5px;
    cursor: pointer;
    transition: var(--ease-transition);
}

.revisionHistoryEntry:hover, .revisionHistoryEntry.selected {
    background-color: var(--lightblue);
}

.revisionHistoryEntry.disabled:hover {
    cursor: text;
    background-color: var(--primary-background-color);
}

.mergeValue {
    transform: scaleX(-1);
  }

.copyrightViolation {
	border: 2px solid var(--error-color);
}

.askConfirmation {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 2px;
}

.askConfirmation label {
    flex-grow: 2;
    margin: 0;
}

/* Messages */
.confirmationContainer, .infoContainer {
	background-color: var(--error-background-color);
	padding: 10px;
	clear: both;
	border-radius: 3px;
    box-sizing: border-box;
	margin-bottom: 10px;
	}

.confirmationContainer {
    background-color: var(--confirmation-background-color);
}

.infoContainer {
    background-color: var(--lightblue);
    display: flex;
    gap: 20px;
}

.infoContainer .icon-info-round, .infoContainer .icon-verified {
    font-size: 28px;
    color: var(--maincolor);
}

.infoMessage {
	color: var(--maincolor);
    font-weight: 600;
}

.icon-lock, .icon-cancel.removed {
    background-color: var(--error-color);
    color: var(--white);
    border-radius: 100%;
    border: none;
    padding: 6px;
    font-size: 20px;
}

.locked, .locked.pageHeadContainer {
    background-color: var(--error-background-color);
}

.lockedMessage {
    color: var(--error-color);
    font-weight: var(--bold-font-weight);
    font-size: var(--medium-large-font-size);
}

.lockedMessageWrapper {
    background-color: var(--lightgrey);
    padding: 10px;
    margin-top: 5px;
    display: flex;
    justify-content: space-between;
}

.historyEntry:not(:last-child) {border-bottom: 1px solid var(--alternate-text-color);}

.historyEntry .textDescription, .historyEntry .textLabel {
    display: flex;
    align-items: center;
}
 .historyEntry .textLabel {
     flex-wrap: wrap;
     margin-right: 10px;
 }

 /* Titles */
.titleUsageIndicator {
    background-color: var(--confirmation-background-color);
    border-radius:15px;
    padding: 2px 10px;
    font-size: 85%;
    color: var(--primary-text-color);
    display: inline-block;
}

/* Tables */
.tabMenu {
    max-width: var(--primary-page-width);
    box-sizing: border-box;
    padding: 0 10px;
    margin: 0 auto;
    display: flex;
    gap: 2px;
}

.tabHeader {
	padding: 12px 22px;
	text-transform: uppercase;
	display: flex;
    gap: 5px;
    align-items: center;
    flex-direction: column;
	color: var(--maincolor);
	cursor: pointer;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.fivetabItems .tabHeader {
    padding: 10px 14px;
}

.tabHeader.tabDisabled, .tabHeader.tabDisabled:hover {color: var(--grey-variant); cursor: not-allowed;}
.tabHeader.tabDisabled:hover {background-color: transparent;}
.tabHeader:hover, .tabHeader.selected {background-color: var(--secondary-background-color); color: var(--maincolor-variant);}
.tabHeader.selected  {cursor: text;}

.tabHeaderIcon {display: inline-block; font-size: 20px;}
.tabHeaderName {display: none;}

/* MEMBERS */

.memberContainer {
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
	background-color: var(--secondary-background-color);
	text-align: center;
    border-radius: 10px;
    margin-top: 10px;
    position: relative;
}
.memberDetail, .sponsorDetail {
	padding: 16px 8px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.memberDetail {
    padding-bottom: 50px;
}

.memberHighlight {
    background-color: var(--alternate-button-color);
    color: var(--alternate-button-text-color);
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -40px;
    text-transform: uppercase;
    font-weight: var(--bold-font-weight);
    width: calc(100% + 2px);
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.sponsorDetail {
    background-color: var(--primary-background-color);
    position: relative;
    border-radius: 10px;
}

.sponsorDetail:not(:only-child).standard > div {
    padding-top: 30px;
}
.memberDetail .button, .sponsorDetail .button {
    min-width: 200px;
    margin-top: 15px;
}
.memberDetail:nth-child(2) {
    border-top: 1px solid var(--grey);
    border-bottom: 1px solid var(--grey);
}
.memberDetailList, .sponsorDetailList {margin-top: 10px;}
.memberDetailList div, .sponsorDetailList div {padding: 5px 0;}
.memberDetail .memberTitle, .sponsorContainer .sponsorName {
    font-size: 20px;
    font-weight: var(--bold-font-weight);
    margin-top: 0;
    margin-bottom: 0;
}
.memberPlan, .sponsorContribution {
    font-size: 24px;
    font-weight: var(--bold-font-weight);
    color: var(--confirmation-color);
}
.memberPlanInfo, .sponsorContributionInfo {color: var(--grey-variant);}
.sponsorContainer > div {text-align: center; margin-top: 40px;}
.sponsorDetailWrapper {position: relative;}
.sponsorDetail.standard {border: 7px solid var(--maincolor);}
.sponsorDetail.silver {border: 7px solid var(--silver);}
.sponsorDetail.gold {border: 7px solid var(--gold);}
.sponsorDetailContent {margin-top: -40px;}

.crownHeader.icon-crown {
    font-size: 40px;
    position: relative;
    top: -44px;
    padding: 15px;
}

/* crown design for sponsor activation confirmation page */

.sponsorshipActivation .icon-crown {
    font-size: 25px;
    padding: 10px;
    margin-right: 5px;
    display: inline-block;
    vertical-align: middle;
}

.sponsorshipActivation {
    display: flex;
    align-items: center;
}

.sponsorList {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sponsorUserInfo .userInfo {
    display: flex;
    align-items: flex-start;
    gap: 2px;
}

.sponsorUserInfo .userInfo:not(:last-child) {
    border-right: 1px solid var(--grey);
    padding-right: 10px;
}

.sponsorCaption {
    position: relative;
    box-sizing: border-box;
    text-align: center;
    background-image: url("../../images/banner_sponsorship.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    padding: 40px 10px;
}

.sponsorCaption .whiteOverlay {
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.sponsorCaption .whiteOverlay h3 {
    font-weight: var(--bold-font-weight);
}

/* slider */
.welcomeContainer {
    position: relative;
}

.welcomeContainer .glider-track {
    height: 370px;
}

.welcomeContainer #slider {
    background-image: url("../../images/TBA_header_marley.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 10px 0;
}

.welcomeContainer .sliderContainer {
    display: flex;
    justify-content: center;
    height: 100%;
    color: var(--alternate-text-color);
    box-sizing: border-box;
}

.welcomeContainer .sliderContainer h2 {
    color: var(--alternate-text-color);
}

.welcomeContainer .sliderTextContainer {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    color: var(--alternate-text-color);
    gap: 20px;
}

.welcomeContainer .sliderHeader {
    font-weight: var(--bold-font-weight);
    font-size: var(--large-font-size);
    margin-bottom: 20px;
}

.welcomeContainer .sliderContainer img {
    max-height: 210px;
    height: 210px;
    width: auto;
}

.welcomeContainer .caption {
    position: absolute;
    bottom: 5px;
    text-align: center;
    color: var(--alternate-text-color);
    margin: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.welcomeContainer .captionTitle {
    font-size: var(--medium-large-font-size);
    font-weight: var(--bold-font-weight);
}


.glider-dot:hover, .glider-dot:focus, .glider-dot.active {
    background: var(--maincolor);
}

/* Mate Matcher */
.mateMatcherSearchContainer, .mateMatcherSearchHistoryContainer {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: stretch;
}

.mateMatcherSearchItem {
    border: 1px solid var(--lightgrey);
    border-radius: 4px;
    background-color: var(--primary-background-color);
    box-sizing: border-box;
    width: 100%;
}

.mateMatcherSearchContainer .searchTitle {
    background-color: var(--lightblue);
    padding: 10px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--maincolor);
    font-size: var(--large-font-size);
    font-weight: var(--primary-font-weight);
}

.mateMatcherSearchContainer .searchTitle > span {
    font-size: 22px;
}

.mateMatcherSearchContainer .searchContent, .mateMatcherSearchContainer .searchContent label  {
    padding: 12px 16px;
    line-height: 30px;
    font-weight: var(--primary-font-weight);
    margin: 0;
}

.mateMatcherSearchHistory {
    padding: 10px 16px;
}

.mateMatcherSearchHistory .searchHistoryTitle {
    font-size: var(--large-font-size);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.mateMatcherArea .searchResults {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.mateMatcherMetaData {
    display: flex;
    margin-bottom: 2px;
}

.mateMatcherMetaData .metaDataIcon {
    padding: 2px 6px 0 0;
}

.metaDataIcon.matingIcon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    font-size: 12px;
}

.mateMatcherDialog .noPhoto {
    height: auto;
}

.gridContainer .noPhoto [class^="icon-"], .mateMatcherDialog .noPhoto [class^="icon-"] {
    font-size: 86px;
    color: var(--grey-variant);
}

.mateMatcherDialogButton {
    color: var(--primary-button-color);
    font-size: 20px;
    cursor: pointer;
}

.editBaseSearch {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 10px;
    flex-wrap: wrap;
}

.editBaseSearch > div {
    display: flex;
    flex-wrap: wrap;
}

.filterCategories {
    padding: 6px 0 12px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.filterCategory {
    padding: 3px 8px;
    display: inline-block;
    color: var(--maincolor);
    border: 1px solid var(--maincolor);
    font-size: 12px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 300ms ease;
}

.filterCategory:hover {
    background-color: var(--lightblue);
}

.toggleFilterCategory, .toggleFilterSubCategory {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: var(--bold-font-weight);
    padding: 10px 12px;
    cursor: pointer;
    transition: var(--ease-transition);
}

.toggleFilterCategory {
    background-color: var(--box-background);
}

.toggleFilterCategory .icon-arrow-single {
    font-weight: var(--bold-font-weight);
    color: var(--maincolor);
}

.toggleFilterCategory.open, .toggleFilterCategory:hover {
    background-color: var(--lightblue);
}

.toggleFilterCategory.noResults, .toggleFilterSubCategory.noResults, .noResults label,
.toggleFilterCategory.noResults .icon-arrow-single
{
    color: var(--darkgrey);
    cursor: initial;
    font-weight: var(--thin-font-weight);
}

.toggleFilterCategory.noResults:hover {
    background-color: var(--box-background);
}

.toggleFilterSubCategory {
    font-weight: var(--primary-font-weight);
    padding: 12px;
}

.hiddenResult {
    position: relative;
}

.hiddenResult .itemBox {
    opacity: 0.2;
}

.showHiddenAnimal {
    display: none;
}

.hiddenResult:hover .showHiddenAnimal {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 40px;
    cursor: pointer;
    z-index: 1;
    color: var(--maincolor);
}

.hiddenResult:hover .showHiddenAnimal span {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 100%;
    padding: 10px;
}

.profilePhotoContainer {
    width: 100%;
    max-width: 375px;
    margin: 0 auto;
    box-sizing: border-box;
}

.galleryContainer {
    position: relative;
    display: flex;
    width: 100%;
    overflow: hidden;
}

.pictureProfileContainer {
    width: 230px;
    flex-shrink: 0;
    background-color: var(--box-background);
    filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.15));
}

.pictureProfileContainer .pictureContainer img {
    border-radius: 0;
    width: 230px;
    max-height: 280px;
    object-fit: cover;
}

.pictureProfileContainer .itemBox {
    padding: 0;
    margin: 0;
}

.pictureProfileContainer .resultProfile .profilePhoto, .pictureProfileContainer  .resultProfile .pictureContainer  {
    width: 100%;
    display: block;
    padding: 0;
    position: relative;
    cursor: pointer;
    overflow: hidden;
}

.pictureProfileContainer .resultProfile .noPhoto {
    height: auto;
    padding: 30px 0 10px 0;
}

.pictureProfileContainer .noPhoto [class^="icon-"] {
    font-size: 86px;
}

.pictureProfileButtons {
    position: absolute;
    bottom: 6px;
    right: 6px;
    font-size: 18px;
    display: flex;
    gap: 8px;
    color: var(--primary-button-color);
}

.pictureProfileButtons > div {
    cursor: pointer;
    height: 28px;
    width: 28px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pictureProfileButtons .isFavorite {
    background-color: var(--white);
}

.pictureProfileButtons > div > span {
    /*correctly align the icon within the background circle*/
    position: relative;
    left: 0;
    top: 1px;
}

.pictureProfileContainer .profileData {
    cursor: pointer;
    margin: 0;
    padding: 12px 8px;
    width: 100%;
}

/* Detail Dialog */

/*
.dialogContainerActive .mateMatcherDialog {
    overflow-y: auto;
    background-color: var(--primary-background-color);
}
*/

.profilePhotoContainer img {
    cursor: pointer;
    object-fit: contain;
    width: 100%;
    max-height: 400px;
    transition: transform 1s ease;
    transform-origin: center center;
}

.profilePhotoContainer:hover img {
    transform: scale(1.1);
}
.mateMatcherProfileDetails {
    width: 100%;
    flex-shrink: 0;
    padding: 10px;
    box-sizing: border-box;
}

.mateMatcherProfileDetails .pictureProfileButtons {
    position: relative;
    font-size: 16px;
    top: 0;
    right: 0;
}

.mateMatcherProfileDetails .mateMatcherMetaDataContainer {
    gap: 50px;
    padding: 15px 0;
    border-bottom: 1px solid var(--lightgrey);
}

.mateMatcherDialogDetail {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
    width: 100%;
}

.mateMatcherDialogDetail:first-of-type {
    padding-top: 15px;
}

.mateMatcherDialogDetail .textRow {
    width: calc((100% / 2) - 10px);
    align-items: flex-start;
}
/*
.detailNavigation {
    position: absolute;
    display: flex;
    cursor: pointer;
    align-self: center;
}

.detailNavigation.prev {left: 20px;}
.detailNavigation.next {right: 20px;}

.detailNavigation span {
    background-color: rgba(255, 255, 255, 0.8);
    color: var(--primary-button-color);
    border-radius: 100%;
    font-size: 22px;
    padding: 8px;
    z-index: 1080;
    display: flex;
    justify-content: center;
    align-items: center;
}*/

/* Partner sites */
.feragenReferrer {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
    text-align: center;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--primary-text-color);
    margin: 20px 0;
}

.feragenReferrer:hover {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
}

.splitSection.feragenLanding {
    font-size: 18px;
    padding: 0;
}

.feragenLanding .splitSectionLeft {
    padding: 0 20px;
    hyphens: initial;
}

.feragenLanding h1 {
    font-family: 'Montserrat', sans-serif;
    color: var(--white);
    position: absolute;
    width: 100%;
    padding: 20px;
    top: 0;
    left: 0;
    text-align: center;
    box-sizing: border-box;
}

.feragenButton {
    display: flex;
    justify-content: center;
    padding: 40px 0;
}

.feragenButton a {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid var(--standardbutton-text-color);
    padding: 18px;
    font-size: 18px;
    border-radius: 4px;
    white-space: normal;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
}

.feragenButton a:hover {
    box-shadow: none;
}

.feragenImageContainer {
    background-image: url("../../images/feragen_background.jpeg");
    position: relative;
    height: 400px;
    background-position: center;
}

.feragenResultOverview {
    position: absolute;
    left: 0;
    bottom: 0;
    max-width: 400px;
}

/* Google ads */
.adContainer {
    position: relative;
    display: flex;
    justify-content: center;
    overflow: hidden;
    text-decoration: none;
}

.adContainer.adsbygoogle[data-ad-status='filled'] {
    margin: 10px auto;
    padding: 30px 0;
    background-color: var(--lightblue);
}

.adContainer.adsbygoogle .altAd {
    display: none;
}

.adContainer.adsbygoogle[data-ad-status='unfilled'] {
    background-image: url("../../images/banner_facebook.jpg?version=1.0.0");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center left;
    min-height: 120px;
    margin: 20px auto;
}

.adContainer.adsbygoogle[data-ad-status="unfilled"] .altAd {
    display: flex !important;
    justify-content: space-evenly;
    flex-direction: column;
    align-items: center;
    height: 100%;
    width: 100%;
    color: var(--alternate-text-color);
    text-align: center;
}

.adContainer.adsbygoogle[data-ad-status='filled']:after {
    text-transform: uppercase;
    color: var(--salmon-variant);
    display: flex;
    justify-content: center;
    font-weight: var(--bold-font-weight);
}

.adContainer.adsbygoogle[data-ad-status='filled']:lang(de):after {
    content:'Werbung';
}

.adContainer.adsbygoogle[data-ad-status='filled']:lang(en):after {
    content:'Advertisement';
}

.adContainer.adsbygoogle[data-ad-status='filled']:lang(fr):after {
    content:'Publicité';
}

.adContainer.adsbygoogle[data-ad-status='filled']:lang(es):after {
    content: 'Publicidad';
}

@keyframes blink{
    0%{opacity: 0;}
    100%{opacity: 1;}
}

.blink:active {
	animation: blink 600ms ease-in-out;
}