/*
Theme Name: TBI-Theme
Version: 1.0
Author: iconate® Gesellschaft für Kommunikation und Medien mbH
Author URI: https://iconate.de/
Description: Theme for the website of the Transatlantic Business Initiative
Text Domain: tbi-theme
Tested up to: 6.8.2
Requires at least: 6.8.2
Requires PHP: 8.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/*----------------------------------------------------------------------
	Font
----------------------------------------------------------------------*/
@font-face {
    font-family: 'Acumin';
    font-style: normal;
    font-display: swap;
    font-weight: normal;
    src: url('./assets/fonts/AcuminVariableConcept.otf') format('opentype');
}

/*----------------------------------------------------------------------
	Variables
----------------------------------------------------------------------*/
:root {
    --tbi-theme-color-text: #6B7280;
    --tbi-theme-color-accent-pink: #CD5674;
    --tbi-theme-color-accent-blue: #335199;
    --tbi-theme-color-secondary: #879593;
    --tbi-theme-font-family-arial: "Arial";
    --tbi-theme-color-background-gray: #F9FAFB;
    --tbi-theme-font-size-base: 1.25rem;

    --icon-arrow: url('data:image/svg+xml,%3Csvg width="18" height="20" xmlns="http://www.w3.org/2000/svg"%3E%3Cline x1="25" y1="10" x2="4" y2="10" stroke="%23335199" stroke-width="2"/%3E%3Cline x1="10" y1="5" x2="5" y2="10" stroke="%23335199" stroke-width="2"/%3E%3Cline x1="10" y1="15" x2="5" y2="10" stroke="%23335199" stroke-width="2"/%3E%3C/svg%3E');
}

/*----------------------------------------------------------------------
	General
----------------------------------------------------------------------*/
body {
    color: var(--tbi-theme-color-text);
    font-family: 'Acumin', 'Roboto', 'sans-serif';
    font-size: var(--tbi-theme-font-size-base);
    font-weight: 400;
    hyphens: auto;
    overflow-x: hidden;
}

body a {
    color: var(--tbi-theme-color-text);
}

.tbi-container {
    margin: 0 auto;
    max-width: 1200px;
    padding: 10px 10px 0 10px;
}

h1, h2, h3, h4, h5, h6 {
    color: #111;
}

body:not(.page-template-index-with-post-image) main.tbi-container {
    padding-top: 130px;
}

@media (max-width: 1023px) {
    .tbi-container {
        padding: 40px 40px 0 40px;
    }
}

@media (max-width: 767px) {
    .tbi-container {
        padding: 20px 20px 0 20px;
    }

    body:not(.page-template-index-with-post-image) main.tbi-container {
        padding-top: 100px;
    }

    body.page-template-index-no-headline main.tbi-container,
    body.page-template-default main.tbi-container {
        padding-top: 100px;
    }
}

/*----------------------------------------------------------------------
	Footer
----------------------------------------------------------------------*/
footer {
    background-color: #373737;
    color: #dbdbdb;
    margin: 0;
    padding: 100px 0;
    text-align: center;
}

footer .footer-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

footer .menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

footer .menu li {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 1px;
}

footer .menu li:not(:last-child):after {
    content: "|";
}

footer .menu li a {
    color: #dbdbdb;
    padding: 13px 10px;
    text-decoration: none;
    transition: .4s;
}

footer .menu li a:hover {
    color: var(--tbi-theme-color-accent-pink);
}

footer .copyright {
    font-size: 20px;
    font-weight: 500;
}

footer .copyright div,
footer .copyright p {
    display: inline;
}

@media (max-width: 639px) {
    footer {
        padding: 50px 0;
    }

    footer .menu li {
        font-size: 14px;
    }
}

/*----------------------------------------------------------------------
	Header / Menu
----------------------------------------------------------------------*/
header {
    align-items: center;
    background-color: white;
    display: flex;
    flex-direction: row;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.5px;
    position: fixed;
    width: 100%;
    z-index: 10;
}

header .tbi-container {
    display: flex;
    padding: 16px;
}

header .tbi-logo {
    align-items: center;
    display: flex;
    padding: 10px;
    width: 15%;
}

header .tbi-logo a {
    display: inline-block;
}

header .tbi-logo img {
    max-width: 380px;
    width: 100%;
}

header .main-menu-wrapper {
    width: 70%
}

header .menu,
header .menu ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0;
}

header .language-menu {
    width: 15%;
}

header .language-menu .language-navigation {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: end;
    text-transform: uppercase;
}

header .language-menu .language-navigation .current-lang a {
    text-decoration: underline;
}

header .main-navigation {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
}

header .menu .menu-item {
    padding: 8px 12px 4px;
}

header .sub-menu .menu-item {
    padding: .5rem;
}

header .menu a {
    color: var(--tbi-theme-color-text);
    position: relative;
    text-decoration: none;
}

header .menu .menu-item-has-children button {
    background-color: transparent;
    border: unset;
    color: var(--tbi-theme-color-text);
    cursor: pointer;
    height: 1.5rem;
    margin-left: .5rem;
    transform: rotate(180deg);
    transition: .3s ease-in-out;
    width: 1.5rem;
}

header .menu .menu-item-has-children button[aria-expanded="true"] {
    transform: rotate(0deg);
}

header .menu .menu-item-has-children.active .sub-menu {
    background-color: #fff;
    display: block;
    position: absolute;
    top: 100%;
    z-index: 3;
    padding: .5rem;
    border-left: 5px solid var(--tbi-theme-color-accent-pink);
}

header .main-navigation li.current_page_item a:after {
    opacity: 1;
}

header .menu li a[aria-current="page"],
header .menu li a:hover {
    color: var(--tbi-theme-color-accent-pink);
}

header .menu-open .menu li a[aria-current="page"] {
    color: #33373D;
}

header .menu li a:hover:after {
    opacity: 1;
    transition: .4s;
}

header .menu .sub-menu {
    display: none;
}

.mobile-menu-toggle-wrapper {
    display: none;
}

.toggle-bars {
    align-items: start;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 7px;
    height: 20px;
    justify-content: end;
    margin: 0 auto;
    padding: 0.75rem;
    width: 25px;
}

.toggle-bars .bar {
    background-color: #000;
    border-radius: 5px;
    width: 100%;
    height: 3px;
    position: relative;
    top: 0;
    transition: all ease-in-out .3s;
}

.menu-open .bar.bar-first {
    top: -9px;
    transform: rotate(-45deg);
}

.menu-open .bar.bar-second {
    opacity: 0;
}

.menu-open .bar.bar-last {
    margin-top: -19px;
    top: -10px;
    transform: rotate(45deg);
    width: 96%;
}

.menu-open .main-navigation {
    background-color: #fff;
    display: block;
    left: 0;
    position: absolute;
    text-align: center;
    top: 93px;
    width: 100%;
    z-index: 100;
}

.menu-open .main-navigation a {
    color: #33373D;
    display: block;
    line-height: 20px;
    padding: 12px 20px;
}

.menu-open .main-navigation .menu {
    background-color: #fff;
    flex-direction: column;
    gap: 0;
    width: 100%;
}

.menu-open .current_page_item {
    background-color: #459BE4;
}

.menu-open .current_page_item a {
    color: #fff;
}

.menu-open .menu a:after {
    background-color: unset;
}

@media (max-width: 1023px) {
    .mobile-menu-toggle-wrapper {
        display: block;
    }

    body.home header {
        width: 100vw;
    }

    header .tbi-container {
        width: 100%;
    }

    header .tbi-container > div {
        width: 33.33%;
    }

    header .main-navigation {
        display: none;
    }

    header .tbi-logo {
        padding: 0;
        width: 50%;
    }

    header .tbi-logo img {
        max-width: 200px;
    }

    header .main-menu-wrapper {
        align-items: center;
        display: flex;
        justify-content: center;
        width: 50%;
    }

    header .language-menu {
        margin-left: 0;
        width: 100%;
    }

    header .menu li {
        line-height: 1;
    }

    header .menu .menu-item-has-children.active .sub-menu {
        position: static;
    }
}

@media (max-width: 600px) {
    body.admin-bar.scrolled header {
        top: 0;
    }

    .menu-open .main-navigation {
        top: 76px;
    }
}

/*----------------------------------------------------------------------
    Content
----------------------------------------------------------------------*/
.tbi-hero-wrapper {
    margin: 0;
    min-height: 100vh;
    position: relative;
}

.tbi-hero-wrapper img {
    height: 100vh;
    object-fit: cover;
    object-position: center center;
}

.tbi-hero-wrapper video {
    height: 100vh;
    object-fit: cover;
    object-position: center center;
    padding-top: 107px;
    width: 100%;
}

.tbi-hero-title-wrapper {
    bottom: 0;
    left: 0;
    position: absolute;
    width: 40%;
    z-index: 1;
}

.hero-red-graphical-container {
    background-color: var(--tbi-theme-color-accent-pink);
    border-radius: 0 10px 0 0;
    bottom: 0;
    height: 50vh;
    left: -8px;
    max-width: 85%;
    position: absolute;
    width: 85%;
}

.hero-blue-graphical-container {
    align-items: end;
    background-color: var(--tbi-theme-color-accent-blue);
    border-radius: 0 10px 0 0;
    bottom: 0;
    display: flex;
    height: 45vh;
    left: 0;
    position: absolute;
    width: 100%;
}

.tbi-hero-inner-container {
    color: #fff;
    padding: 10px 10px 60px 55px;
}

.tbi-hero-title h1 {
    color: #fff;
    font-size: 65px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: -2.6px;
    line-height: 65px;
    margin: 0;
}

.tbi-hero-subtitle {
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 40px;
    position: relative;
    text-transform: uppercase;
}

.tbi-hero-subtitle::before {
    background-color: #fff;
    content: "";
    display: block;
    height: 3px;
    margin-bottom: 13px;
    width: 60px;
}

.tbi-bg-light-gray {
    position: relative;
    z-index: 1;
}

.tbi-bg-light-gray:before {
    background-color: var(--tbi-theme-color-background-gray);
    content: "";
    display: block;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 100vw;
    z-index: -1;
}

.tbi-box-blue {
    background-color: var(--tbi-theme-color-accent-blue);
    border-radius: 10px;
    color: #fff;
    padding: 25px;
    position: relative;
}

.tbi-box-blue::before {
    background-color: #fff;
    content: "";
    display: block;
    height: 3px;
    margin: 15px 0 60px;
    width: 60px;
}

.tbi-box-blue a {
    align-items: center;
    color: #fff;
    display: inline-flex;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: -0.5px;
    text-decoration: none;
}

.tbi-box-blue a::after {
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="18" height="11" viewBox="0 0 22 15" fill="none"%3E%3Cpath d="M21.4338 8.1407C21.8243 7.75018 21.8243 7.11701 21.4338 6.72649L15.0698 0.362526C14.6793 -0.0279984 14.0462 -0.0279984 13.6556 0.362526C13.2651 0.75305 13.2651 1.38622 13.6556 1.77674L19.3125 7.43359L13.6556 13.0904C13.2651 13.481 13.2651 14.1141 13.6556 14.5047C14.0462 14.8952 14.6793 14.8952 15.0698 14.5047L21.4338 8.1407ZM0.978516 8.43359H20.7267V6.43359H0.978516V8.43359Z" fill="white"%3E%3C/path%3E%3C/svg%3E') no-repeat;
    content: "";
    display: inline-block;
    height: 15px;
    margin-left: 1rem;
    transform: translateY(3px);
    width: 22px;
}

.tbi-box-pink {
    background-color: var(--tbi-theme-color-accent-pink);
    border-radius: 10px;
    color: #fff;
    padding: 25px;
}

.tbi-box-pink::before {
    background-color: #fff;
    content: "";
    display: block;
    height: 3px;
    margin: 15px 0 60px;
    width: 60px;
}

.tbi-box-pink a {
    align-items: center;
    color: #fff;
    display: inline-flex;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: -0.5px;
    text-decoration: none;
}

.tbi-box-pink a::after {
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="18" height="11" viewBox="0 0 22 15" fill="none"%3E%3Cpath d="M21.4338 8.1407C21.8243 7.75018 21.8243 7.11701 21.4338 6.72649L15.0698 0.362526C14.6793 -0.0279984 14.0462 -0.0279984 13.6556 0.362526C13.2651 0.75305 13.2651 1.38622 13.6556 1.77674L19.3125 7.43359L13.6556 13.0904C13.2651 13.481 13.2651 14.1141 13.6556 14.5047C14.0462 14.8952 14.6793 14.8952 15.0698 14.5047L21.4338 8.1407ZM0.978516 8.43359H20.7267V6.43359H0.978516V8.43359Z" fill="white"%3E%3C/path%3E%3C/svg%3E') no-repeat;
    content: "";
    display: inline-block;
    height: 15px;
    margin-left: 1rem;
    transform: translateY(3px);
    width: 22px;
}

body.page:not(.home) p {
    font-size: 20px;
}

body main {
    line-height: 34px;
}

section {
    padding: 40px 0;
}

.subheading-with-divider {
    color: var(--tbi-theme-color-secondary);
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 20px;
    position: relative;
    text-transform: uppercase;
}

.subheading-with-divider::before {
    background-color: var(--tbi-theme-color-secondary);
    content: "";
    display: block;
    height: 3px;
    margin-bottom: 13px;
    width: 60px;
}

.theses-group .wp-block-columns {
    margin: 40px 0;
}

.theses-group .wp-block-columns .has-text-color {
    line-height: .8;
}

.theses-group .wp-block-columns .wp-block-heading::after {
    content: "";
    display: block;
    height: 2px;
    margin: 15px 0;
    width: 60px;
}

.theses-group .wp-block-columns .has-tbi-accent-blue-color + .wp-block-heading::after {
    background-color: var(--tbi-theme-color-accent-blue);
}

.theses-group .wp-block-columns .has-tbi-accent-pink-color + .wp-block-heading::after {
    background-color: var(--tbi-theme-color-accent-pink);
}

.has-tbi-accent-blue-color.has-link-color a,
.has-tbi-accent-pink-color.has-link-color a {
    align-items: center;
    display: inline-flex;
    text-decoration: none;
}

.has-tbi-accent-blue-color.has-link-color a::after,
.has-tbi-accent-pink-color.has-link-color a::after {
    content: "";
    display: inline-block;
    height: 15px;
    margin-left: 1rem;
    transform: translateY(3px);
    width: 22px;
}

.has-tbi-accent-pink-color.has-link-color a::after {
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="18" height="11" viewBox="0 0 22 15" fill="none"%3E%3Cpath d="M21.4338 8.1407C21.8243 7.75018 21.8243 7.11701 21.4338 6.72649L15.0698 0.362526C14.6793 -0.0279984 14.0462 -0.0279984 13.6556 0.362526C13.2651 0.75305 13.2651 1.38622 13.6556 1.77674L19.3125 7.43359L13.6556 13.0904C13.2651 13.481 13.2651 14.1141 13.6556 14.5047C14.0462 14.8952 14.6793 14.8952 15.0698 14.5047L21.4338 8.1407ZM0.978516 8.43359H20.7267V6.43359H0.978516V8.43359Z" fill="%23CD5674"%3E%3C/path%3E%3C/svg%3E') no-repeat;
}

.has-tbi-accent-blue-color.has-link-color a::after {
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="18" height="11" viewBox="0 0 22 15" fill="none"%3E%3Cpath d="M21.4338 8.1407C21.8243 7.75018 21.8243 7.11701 21.4338 6.72649L15.0698 0.362526C14.6793 -0.0279984 14.0462 -0.0279984 13.6556 0.362526C13.2651 0.75305 13.2651 1.38622 13.6556 1.77674L19.3125 7.43359L13.6556 13.0904C13.2651 13.481 13.2651 14.1141 13.6556 14.5047C14.0462 14.8952 14.6793 14.8952 15.0698 14.5047L21.4338 8.1407ZM0.978516 8.43359H20.7267V6.43359H0.978516V8.43359Z" fill="%23335199"%3E%3C/path%3E%3C/svg%3E') no-repeat;
}

.single-post .wp-block-post-content {
    margin-bottom: 24px;
}

.wp-block-quote {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1;
    word-spacing: 0.5px;
}

.readmore-hidden[hidden] {
    display: none;
}

.readmore-hidden {
    display: inline;
}

.readmore-dots {
    display: inline;
}

.readmore-toggle {
    background: none;
    border: 0;
    cursor: pointer;
    display: block;
    font-size: 20px;
    font-weight: 700;
    margin-left: 0;
    margin-top: 1rem;
}

.readmore-toggle--blue {
    color: var(--tbi-theme-color-accent-blue);
}

.readmore-toggle--pink {
    color: var(--tbi-theme-color-accent-pink);
}

.three-columns {
    column-count: 3;
    column-gap: 42px;
    letter-spacing: 0.5px;
    line-height: 30px;
    text-align: justify;
}

@media (max-width: 1023px) {
    .tbi-hero-wrapper {
        min-height: unset;
        padding-top: 61px;
    }

    .tbi-hero-wrapper video {
        height: 100%;
        padding-top: 33px;
    }

    .three-columns {
        column-count: 1;
    }

    .tbi-hero-title-wrapper {
        width: 100%;
    }

    .hero-red-graphical-container {
        height: 35vh;
        width: 80vw;
    }

    .hero-blue-graphical-container {
        height: 30vh;
    }

    .tbi-hero-inner-container {
        padding: 10px 10px 30px 30px;
    }
}

@media (max-width: 639px) {
    .tbi-hero-wrapper img {
        height: 87vh;
    }

    .tbi-hero-wrapper video {
        padding-top: 15px;
    }

    .tbi-hero-title h1 {
        font-size: 38px;
        line-height: 42px;
    }

    .tbi-hero-subtitle {
        margin-bottom: 20px;
    }

    section {
        padding: 20px 0;
    }

    .wp-block-group > .wp-block-quote {
        font-size: 32px;
        line-height: 40px;
    }

    h2.wp-block-heading {
        font-size: 32px;
    }
}
