/*
Theme Name: Twenty Twenty-Four
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4.
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfour
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/


/* ---------- Global custom styles ---------- */
@font-face {
    font-family: 'Material Symbols Outlined';
    src: url(assets/fonts/MaterialSymbolsOutlined.woff2);
    font-display: swap;
}
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;  /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Make icons non-selectable */
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
}

:root {
    --font-colour: #ffffff;
    --radius-large: max(15px, 1.2vw);
}
html {
    scroll-behavior: smooth;
}
.main {
    position: relative;
    width: 80%;
    max-width: 1500px;
    background: linear-gradient(270deg, #00232E 0.44%, #09181D 31.77%, #09181D 49.83%, #09181D 67.71%, #00232E 99.03%);
    border-radius: max(25px, 2.6vw);
    box-shadow: 0px max(12px, 1.25vw) max(25px, 2.6vw) max(7px, 0.73vw) rgba(0, 0, 0, 0.50);
    padding: max(10px, 1.56vw);
    margin: max(15px, 1.56vw) auto;
    margin-bottom: max(30px, 3.64vw) !important;
}
@media only screen and (max-width: 1280px) {
    .main {
        width: 90% !important; /* Formerly 88% */
    }
}

/* .has-contrast-color {
    color: #ffffff !important;
} */
h1, h2, h3, h4, h5, h6 {
    color: #ffffff !important;
}
.wp-block-quote cite {
    font-family: 'Cardo', sans-serif;
}


/* ---------- Tooltips stylings ---------- */
.tooltipsincontent {
	border: none !important;
    color: #87C4C8;
    cursor: pointer;
}

.qtip {
    min-width: fit-content;
    width: 80vw;
    max-width: 450px;
    overflow: hidden;
    font-family: 'Inter', sans-serif;
    font-size: var(--wp--preset--font-size--medium);
    line-height: normal;
}
.qtip-rounded {
    border-radius: 10px !important;
}
.qtip-dark {
    color: #ffffff;
    background-color: #2A3E3F;
    border: none;
}

.qtip-content {
    padding: 0;
}
.qtip-content br {
    display: none;
}
.tooltip-controls {
    display: flex;
    justify-content: end;
    margin: 5px;
	margin-top: 15px;
}
.tooltip-controls > a,
.tooltip-controls > span {
    padding: 10px;
    border-radius: 30px;
    text-decoration: none;
    cursor: pointer;
}
.tooltip-controls > a:hover,
.tooltip-controls > span:hover {
    background: rgba(64, 95, 97, 0.5);
}

/* No Image Layout */
.no-image .tooltip-text {
    display: inline-block;
    max-width: 400px;
    margin: 25px;
    margin-bottom: 0;
}

/* Vertical Layout */
.vertical {
    display: flex;
    flex-flow: column;
}
.vertical img {
    width: 100%;
    max-height: 250px;
    object-fit: cover;
    aspect-ratio: 16/9;
}
.vertical .tooltip-text {
    display: inline-block;
    max-width: 350px;
    margin: 20px 25px;
    margin-bottom: 0;
}

/* Horizontal Layout */
.horizontal {
    display: flex;
}
.horizontal img {
    height: 100%;
    max-width: 250px;
    object-fit: cover;
    aspect-ratio: 3/4;
}
.horizontal .tooltip-text {
    display: inline-block;
    max-width: 350px;
    margin: 30px 25px;
    margin-bottom: 0;
}
@media (max-width: 768px) {
    
}

/* ---------- Contact Form ---------- */
.wpcf7-form {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 25px;
}
.wpcf7-form p:nth-child(-n + 3) {
    width: calc(50% - 10px);
    margin: 0 5px;
}
.wpcf7-form p:nth-child(4) {
    width: calc(100% - 10px);
    margin: 12px 5px;
    margin-bottom: 18px;
}
.wpcf7-form p:nth-child(5) {
    display: flex;
    align-items: center;
    margin: 0 5px;
    margin-bottom: 15px;
}
.wpcf7-form label {
    font-family: 'Roboto', sans-serif;
}
.wpcf7-form input,
.wpcf7-form textarea {
    width: 100%;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #ffffff;
    background: #2A3E3F;
    padding: 12px 16px;
    border-radius: 10px;
    border: none;
    box-sizing: border-box;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
    outline: #87C4C8 2px solid;
}
.wpcf7-form input[type='submit'] {
    width: fit-content;
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    background: #2A3E3F;
    padding: 12px 16px;
    cursor: pointer;
}
.wpcf7-form input[type='submit']:hover {
    background: #405F61;
}
.wpcf7-form .wpcf7-reponse-output {
    height: fit-content;
    margin: 0;
    padding: 10px 16px;
    border-radius: 10px;
}


/* Copy content button */
.content-copy {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 0; 
    padding: 10px;
    border-radius: 30px;
    cursor: pointer;
}
.content-copy:hover {
    background: rgba(64, 95, 97, 0.5);
}
.content-copy i, 
.content-copy a {
    margin: 0;
    text-decoration: none;
}
.content-copy .success-msg {
    display: none;
    position: absolute;
    padding: 5px 10px;
    top: calc(100% + 6px);
    background: #2a3e3f;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.30);
    border-radius: 5px;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s;
}
.content-copy .display-msg {
    transform: translateY(0px);
    opacity: 1;
}
/* Animations */
@keyframes shake {
    0% { transform: rotate(-10deg); }
    20% { transform: rotate(10deg); }
    40% { transform: rotate(-10deg); }
    60% { transform: rotate(10deg); }
    80% { transform: rotate(-10deg); }
    100% { transform: rotate(0deg); }
}