:root {
    --easing: cubic-bezier(.7,0,.33,1);
}

* {
    outline: none;
}

a {
    cursor: pointer;
}

textarea {
    resize: none !important;
}

.otgs-development-site-front-end {
    display: none !important;
}

.line {
    padding: 0 2px;
}

@font-face {
    font-family: 'Calvino';
    font-style: italic;
    font-weight: bold;
    font-display: auto;
    src: url('/wp-content/uploads/2026/01/Calvino-Bold-Italic.ttf') format('truetype');
}

@font-face {
    font-family: 'icomoon-tabler';
    src: url('/wp-content/uploads/elementor/custom-icons/icomoon-tabler/fonts/icomoon-tabler.eot?pa5s5i');
    src: url('/wp-content/uploads/elementor/custom-icons/icomoon-tabler/fonts/icomoon-tabler.eot?pa5s5i#iefix') format('embedded-opentype'), url('/wp-content/uploads/elementor/custom-icons/icomoon-tabler/fonts/icomoon-tabler.ttf?pa5s5i') format('truetype'), url('/wp-content/uploads/elementor/custom-icons/icomoon-tabler/fonts/icomoon-tabler.woff?pa5s5i') format('woff'), url('/wp-content/uploads/elementor/custom-icons/icomoon-tabler/fonts/icomoon-tabler.svg?pa5s5i#icomoon-tabler') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'The-Crew-Icons';
    src: url('/wp-content/uploads/elementor/custom-icons/The-Crew-Icons/fonts/The-Crew-Icons.eot?g3toe6');
    src: url('/wp-content/uploads/elementor/custom-icons/The-Crew-Icons/fonts/The-Crew-Icons.eot?g3toe6#iefix') format('embedded-opentype'), url('/wp-content/uploads/elementor/custom-icons/The-Crew-Icons/fonts/The-Crew-Icons.ttf?g3toe6') format('truetype'), url('/wp-content/uploads/elementor/custom-icons/The-Crew-Icons/fonts/The-Crew-Icons.woff?g3toe6') format('woff'), url('/wp-content/uploads/elementor/custom-icons/The-Crew-Icons/fonts/The-Crew-Icons.svg?g3toe6#The-Crew-Icons') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

body.home #cc-main {
    display: none;
}

body.home {
    overflow: hidden;
}

b, strong {
    font-weight: bold !important;
}

body:not(.elementor-editor-active) h1.elementor-heading-title {
    opacity: 0;
}

.btn-primary .elementor-button-text {
    color: #fff;
}

.btn-primary .elementor-button-icon {
    background-color: #fff;
    color: var(--e-global-color-primary) !important;
}

.btn-primary .elementor-button {
    border-color: var(--e-global-color-primary) !important;
    background-color: var(--e-global-color-primary) !important;
}

.btn-secondary .elementor-button-text {
    color: var(--e-global-color-secondary);
}

.btn-secondary .elementor-button-icon {
    background-color: var(--e-global-color-secondary);
}

.btn-secondary .elementor-button {
    border-color: var(--e-global-color-secondary) !important;
}

.acc-read-more summary {
    align-self: flex-start;
}

.audioplayer {
    display: block;
    width: 100%;
}

.elementor-widget-video.--vertical {
    display: flex;
    justify-content: center;
}

.elementor-widget-video.--vertical .e-hosted-video {
    aspect-ratio: .56 !important;
    max-width: 400px !important;
}

.circlePathBadge text {
    font-size: 1.125rem;
    fill: var(--e-global-color-accent);
    text-transform: uppercase;
    font-weight: 600;
}

.circlePathBadgeSticker {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 55%;
}

.e-widget-swiper:not(.clients-slider) .swiper-wrapper {
    transition: all .6s var(--easing) !important;
}

.elementor-form-spinner {
    display: none !important;
}

.elementor-widget-text-editor p:last-child,
.elementor-widget-theme-post-content p:last-child {
    margin: 0;
}

.elementor-widget-theme-post-content ul,
.elementor-widget-text-editor ul {
    margin-bottom: .9rem;
}

.elementor-widget-theme-post-content a,
.elementor-widget-text-editor a {
    color: var(--e-global-color-accent);
    text-decoration: underline !important;
}

.news-loop-item-cta {
    opacity: 0;
    transform: translate(-50%,-50%) scale(0) !important;
    transition: all .4s var(--easing) !important;
}

.news-loop-item:hover .news-loop-item-cta {
    opacity: 1;
    transform: translate(-50%,-50%) scale(1) !important;
}

.news-loop-item img {
    transition: all .4s var(--easing) !important;
}

.news-loop-item:hover img {
    filter: brightness(60%);
}

#main-header {
    transition: all .3s ease-in-out;
}

#main-header:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(180deg, #00000059 0%, #00000000 100%);
    z-index: -1;
    transition: all .2s ease-in-out;
}

#main-header #logo {
    transform-origin: 0% 50%;
}

#main-header.--effects:before {
    opacity: 0;
    visibility: hidden;
}

#main-header.--effects {
    background-color: var(--e-global-color-accent);
    padding: 10px 40px;
}

#main-header.--effects .menu-item a {
    /* color: var(--e-global-color-accent); */
}

#main-header.--effects #logo {
    transform: scale(.7);
}

#mobile-nav .menu-item:not(:last-child) {
    border-bottom: 1px solid var(--e-global-color-accent);
}

#mobile-nav {
    counter-reset: nav-item-counter;
}

#mobile-nav .menu-item a:before {
    display: inline-block;
    margin-right: 5px;
    counter-increment: nav-item-counter;
    content: "0" counter(nav-item-counter);
    opacity: 1 !important;
    top: 50%;
    left: 0;
    position: static !important;
    font-size: 45%;
    transform: translateY(-20%);
}

.elementor-button .icon-send {
    font-size: 12px;
}

.float-animation {
    animation: floating 2s ease-in-out infinite alternate;
}

.nav-crew-divider .menu-item:not(:last-child):after {
    content: "\e901" !important;
    font-family: 'The-Crew-Icons';
    color: #fff;
    border: none !important;
    height: auto !important;
    font-size: inherit;
    transform: scale(.7);
}

.parallax-img img {
    transform-origin: 50% 0%;
}

.elementor-widget-acf_flex_container .elementor-widget-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.txt-calvino,  em {
    font-family: 'Calvino';
    font-weight: bold;
    font-style: italic;
}

#main-nav .current-menu-item a {
    font-family: 'Calvino';
    font-weight: bold;
    font-style: italic;
}

#home-clients-title .clients {
    position: relative;
    display: inline-block;
    width: 160px;
    height: 3.5rem;
    z-index: -1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transform: scale(1.4);
    transition: all .6s ease-in-out;
}

#home-clients-title .clients:before,
#home-clients-title .clients:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border: 1px solid var(--e-global-color-accent);
    border-right-color: transparent;
    border-bottom-color: transparent;
}

#home-clients-title .clients:before {
    top: 20%;
    left: 15%;
}

#home-clients-title .clients:after {
    bottom: 20%;
    right: 15%;
    transform: rotate(180deg);
}

.home-cta-banner .elementor-widget-image {
    height: 100%;
    clip-path: inset(0 20% 0 20%);
    transition: all .4s var(--easing) !important;
}

.home-cta-banner img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

.home-cta-banner .icon-default,
.home-cta-banner .icon-hover {
    transition: all .4s var(--easing) !important;
}

.home-cta-banner .icon-hover,
.home-cta-banner:hover .icon-default {
    visibility: hidden;
    opacity: 0;
}

.home-cta-banner:hover .icon-hover {
    visibility: visible;
    opacity: 1;
}

/* .home-cta-banner:hover .elementor-heading-title {
    font-family: 'Calvino' !important;
    font-weight: bold;
    font-style: italic;
} */

.home-cta-banner:hover .elementor-widget-image {
    clip-path: inset(0 0 0 0);
}

.btn-entry {
    transition-duration: .4s !important;
    transition-timing-function: var(--easing) !important;
}

.btn-entry:hover {
    transform: scale(1.1);
}

.btn-entry .elementor-button-icon {
    width: 40px;
    height: 40px;
    font-size: 30px;
}

.elementor-button-content-wrapper {
    align-items: center;
}

.elementor-button-icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--e-global-color-accent);
    color: #fff;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    transform: scale(1.4);
    overflow: hidden;
}

.btn-text-wrapper {
  overflow: hidden;
  display: inline-block;
  position: relative;
}

.btn-text-wrapper .elementor-button-text {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
}

.btn-icon-wrapper {
  overflow: hidden;
  display: inline-block;
  position: relative;
}

.btn-icon-wrapper .icon {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.agency-switch:not(.--footer) {
    transform: translateY(25%);
}

.agency-switch ul {
    display: flex;
    flex-direction: column;
}

.agency-switch .menu-item {
    order: 2;
    z-index: -1;
    transition: transform .3s var(--easing);
}

.agency-switch .menu-item a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 15px !important;
    background-color: #FFFFFF;
    color: var(--e-global-color-accent) !important;
    white-space: nowrap;
}

.agency-switch .menu-item a:after {
    font-family: "The-Crew-Icons" !important;
    position: static;
    color: var(--e-global-color-accent);
    opacity: 1 !important;
    transform: scale(1.15);
    transform-origin: 100% 50%;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

.agency-switch .current-menu-item,
.agency-switch .current-page-ancestor {
    order: 1;
    z-index: 2;
}

.agency-switch .current-menu-item a:after,
.agency-switch .current-page-ancestor a:after{
    content: "\e902";
}

.agency-switch .menu-item:not(.current-menu-item):not(.current-page-ancestor) a:after {
    content: "\e903";
    transform: scale(1.3);
}

.agency-switch .menu-item:not(.current-menu-item):not(.current-page-ancestor){
    transform: translateY(-100%);
    z-index: -1;
}

.agency-switch ul:hover > .menu-item:not(.current-menu-item):not(.current-page-ancestor) {
    transform: translateY(0%);
}

.agency-switch:not(.--footer) .menu-item a:hover {
    background-color: var(--e-global-color-accent);
    color: #FFFFFF !important;
}

.agency-switch.--footer .menu-item a:hover,
#main-header.--effects .agency-switch .menu-item a:hover {
    background-color: var(--e-global-color-secondary);
}

#main-header.--effects .agency-switch:hover {
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
}

.agency-switch:not(.--footer) .menu-item a:hover:after {
    color: #FFFFFF !important;
}

#main-header.--effects .agency-switch .menu-item a:hover,
#main-header.--effects .agency-switch .menu-item a:hover:after {
    color: var(--e-global-color-accent) !important;
}

.agency-switch.--mobile .menu-item a {
    background-color: var(--e-global-color-accent);
    color: #FFFFFF !important;
}

.agency-switch.--mobile .menu-item a:after {
    color: #FFFFFF !important;
}

.agency-switch.--mobile .menu-item a:after {
    content: "\e903";
    transform: rotate(90deg) scale(1.3) !important;
    transform-origin: 40% 40% !important;
}

.agency-switch.--mobile .current-menu-item,
.agency-switch.--mobile .current-page-ancestor {
    display: none;
}

.agency-switch.--mobile .menu-item:not(.current-menu-item):not(.current-page-ancestor) {
    transform: none;
}

.comparison-slider-container {
    position: fixed;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}

.comparison-before,
.comparison-after {
    position: relative;
    width: 100%;
    height: 100%;
}

.comparison-after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: inset(0 50% 0 0);
}

.comparison-before img,
.comparison-after img {
    position: absolute;
    display: block;
    width: 100%;
    height: 100% !important;
    pointer-events: none;
    object-fit: cover;
}

.comparison-slider {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 10;
}

.slider-line {
    width: 3px;
    height: 100%;
    background: #fff;
}

.slider-handle {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70px;
    height: 70px;
    background: var(--e-global-color-accent) url("../assets/img/slider-arrows-v3.png") center no-repeat;
    background-size: 80%;
    border: 3px solid #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.txt-wave {
    width: 100%;
    height: 100%;
}

.txt-wave text {
    font-family: 'Calvino';
    font-weight: bold;
    font-style: italic;
    text-transform: uppercase;
    fill: var(--e-global-color-accent);
    letter-spacing: 2px;
}

.txt-wave .tc-icon-lines {
    font-size: 70%;
    font-family: 'The-Crew-Icons';
    font-style: normal;
    font-weight: normal;
}

#team-table .e-loop-item {
  position: relative;
}

#team-table .e-loop-item .elementor-widget-image {
  position: absolute;
  pointer-events: none;
}

.clients-slider .swiper-wrapper {
    transition-timing-function: linear !important;
}

.work-item .gallery {
    display: flex;
    transition: transform .6s var(--easing);
}

.work-item .gallery-item:nth-child(2) {
    position: absolute;
    top: 0;
    left: 100%;
}

.work-item .gallery-item img {
    aspect-ratio: 1;
    object-fit: cover;
}

.work-item .elementor-widget-image-gallery {
    overflow: hidden;
}

.work-item:hover .gallery {
    transform: translateX(-100%);
}

.animated {
    animation-timing-function: cubic-bezier(.66,0,.36,.99) !important;
    animation-duration: .6s !important;
}

.animated.fadeInUp {
    animation-fill-mode: forwards;
    animation-name: customFadeInUp !important;
}

.animated.fadeInDown {
    animation-fill-mode: forwards;
    animation-name: customFadeInDown !important;
}

.animated.slideInRight {
    animation-fill-mode: forwards;
    animation-name: customSlideInRight !important;
}

.animated.slideOutRight {
    animation-fill-mode: forwards;
    animation-name: customSlideOutRight !important;
}

e-page-transition:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .4s cubic-bezier(.74,0,.24,.99);
    clip-path: inset(0 100% 0 0);
    background-color: var(--e-global-color-primary);
    background-image: url('/wp-content/uploads/2026/01/tc-logo-white.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 180px;
}

e-page-transition:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 3px;
    background-color: #ffffff;
    transition: all 1s linear;
}

e-page-transition.e-page-transition--exiting:after {
    width: 90%;
}

e-page-transition.e-page-transition--entering:after {
    width: 90%;
    animation: transition-loading .2s linear;
    animation-fill-mode: forwards;
}

e-page-transition.e-page-transition--entering {
    pointer-events: none;
}

e-page-transition {
    transition: all .4s cubic-bezier(.74,0,.24,.99) !important;
    background: none !important;
}

e-page-transition.e-page-transition--exiting:before {
    clip-path: inset(0 0 0 0);
}

e-page-transition.e-page-transition--entering:before {
    clip-path: inset(0 0 0 0);
    animation: transition-entering .4s cubic-bezier(.74,0,.24,.99);
    animation-fill-mode: forwards;
}

/* Removes the native rough design IOS */
.elementor-field-type-date input {
   -webkit-appearance: none;
}

/* Making checkbox and radio button invisible */
.elementor-field-type-checkbox .elementor-field-option input[type="checkbox"],
.elementor-field-type-radio .elementor-field-option input[type="radio"],
.elementor-field-type-acceptance input[type="checkbox"] {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
/* For Checkbox */
.elementor-field-type-checkbox .elementor-field-option label:before,
.elementor-field-type-radio .elementor-field-option label:before,
.elementor-field-type-acceptance > div label:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 0.5em;
	vertical-align: -3px;
	background-color: var(--e-global-color-d370e2a);
    border: 1px solid var(--e-global-color-accent);
    border-radius: 5px;
	background-clip: content-box;
	transition: all 0.2s ease;
    cursor: pointer;
}
.elementor-field-type-radio .elementor-field-option label:before {
    border-radius: 50%;
}
.elementor-field-type-checkbox .elementor-field-option label,
.elementor-field-type-radio .elementor-field-option label,
.elementor-field-type-acceptance > div label {
	margin-right: 1em;
	position: relative;
}
.elementor-field-type-checkbox .elementor-field-option label:after,
.elementor-field-type-radio .elementor-field-option label:after,
.elementor-field-type-acceptance > div label:after {
	border-right: 2px solid #ffffff;
	border-top: 2px solid #ffffff;
	content: "";
	height: 8px;
	left: 3.5px;
	position: absolute;
	top: 9px;
	transform: scaleX(-1) rotate(135deg);
	transform-origin: left top;
	width: 6px;
	display: none;
}
.elementor-field-type-checkbox .elementor-field-option > input:hover + label:before,
.elementor-field-type-radio .elementor-field-option > input:hover + label:before,
.elementor-field-type-acceptance > div input:hover + label:before {
	border-color: var(--e-global-color-accent);
}
.elementor-field-type-checkbox .elementor-field-option > input:checked + label:before,
.elementor-field-type-radio .elementor-field-option > input:checked + label:before,
.elementor-field-type-acceptance > div input:checked + label:before {
	border-color: var(--e-global-color-accent);
	background: var(--e-global-color-accent);
}
.elementor-field-type-checkbox .elementor-field-option > input:checked + label:after,
.elementor-field-type-radio .elementor-field-option > input:checked + label:after,
.elementor-field-type-acceptance > div input:checked + label:after {
	-moz-animation: check 0.8s ease 0s running;
	-webkit-animation: check 0.8s ease 0s running;
	animation: check 0.8s ease 0s running;
	display: block;
	width: 6px;
	height: 12px;
	border-color: #ffffff;
}

.elementor-field-type-upload {
    position: relative;
    padding: 0;
}

.elementor-field-type-upload label {
    display: flex;
    justify-content: center;
    width: 100%;
    border: 2px dashed var(--e-global-color-primary);
    color: var(--e-global-color-primary) !important;
    border-radius: 8px;
    padding: 60px !important;
    line-height: 1.4em;
}

.elementor-field-type-upload label::before {
    display: inline-block;
    margin-right: 4px;
    content: "\eaf3";
    font-size: 1.2rem;
    font-family: 'icomoon-tabler' !important;
}

.elementor-field-type-upload input[type="file"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
}

.elementor-field-type-acceptance label {
    font-size: 1rem !important;
    color: var(--e-global-color-text) !important;
    text-transform: none !important;
    font-weight: 500 !important;
}

.elementor-field-type-acceptance label a {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: var(--e-global-color-accent) !important;
    text-decoration: underline;
}

.elementor-field-type-checkbox .elementor-field-subgroup {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 10px;
}

.elementor-field-type-checkbox .elementor-field-option label {
    text-transform: none !important;
}

@keyframes transition-entering {
    to {
        clip-path: inset(0 0 0 100%);
    }
}

@keyframes transition-loading {
    to {
        width: 100%;
        opacity: 0;
    }
}

@keyframes customFadeInUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 40%, 0);
    }
    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes customFadeInDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -40%, 0);
    }
    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes customSlideInRight {
    0% {
        transform: translate3d(100%, 0, 0);
    }
    100% {
        transform: none;
    }
}

@keyframes customSlideOutRight {
    0% {
        transform: none;
    }
    100% {
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes floating {
    0% {
        transform: translateY(-5%);
    }
    100% {
        transform: translateY(5%);
    }
}

@keyframes cycle {
    100% {
        transform: rotate(360deg);
    }
}

@media (max-width: 1024px) {
    .comparison-slider {
        left: 0% !important;
        top: 50% !important;
        width: 100% !important;
        height: 2px !important;
        transform: translateY(-50%);
    }

    .comparison-slider-container {
        display: flex;
        flex-direction: column-reverse;
    }

    .slider-line {
        width: 100%;
        height: 4px;
    }

   .comparison-before,
    .comparison-after {
        position: relative;
        width: 100%;
        height: 50%;
        clip-path: none !important;
    }

    .slider-handle {
        display: none;
    }

    .home-cta-banner .elementor-widget-image {
        clip-path: inset(0 0 0 0);
    }

    .home-cta-banner .icon-default {
        visibility: hidden;
        opacity: 0;
    }

    .home-cta-banner .icon-hover {
        visibility: visible;
        opacity: 1;
    }

    #home-clients-title .clients {
        width: 150px;
        height: 3rem;
    }

    .btn-entry .elementor-button-icon {
        width: 30px;
        height: 30px;
        font-size: 20px;
    }

    .scroll-down i:before {
        content: "\ff4f" !important;
    }
}

@media (max-width: 767px) {

    .txt-calvino,  em {
        hyphens: auto;
    }

    .hide-breaks br {
        display: none !important;
    }

    #home-clients-title .clients {
        width: 100px;
        height: 2rem;
        transform: scale(1.2);
    }

    #home-clients-title .clients:before,
    #home-clients-title .clients:after {
        width: 8px;
        height: 8px;
    }

    .elementor-heading-title br {
        display: none;
    }

    .elementor-widget-acf_flex_container .elementor-widget-container {
        gap: 30px;
    }

    .agency-switch .current-menu-item,
    .agency-switch .current-page-ancestor {
        display: none;
    }

    .agency-switch .menu-item:not(.current-menu-item):not(.current-page-ancestor) {
        transform: none;
    }

    .agency-switch .menu-item a:after {
        transform: rotate(90deg) scale(1.3) !important;
        transform-origin: 40% 40% !important;
    }

    #main-header.--effects {
        padding: 20px 30px;
    }

    .btn-entry .elementor-button-icon {
        width: 25px;
        height: 25px;
        font-size: 15px;
    }

    .btn-entry .elementor-button-content-wrapper {
        gap: 10px !important;
    }

}