/* 
Theme Name: Repertorium
Theme URI: https://repertorium.eu
Description: Repertorium Theme
Author: Vist.co
Author URI: https://vist.co/
Template: hello-elementor
Version: 1.0.1
Text Domain: repertorium
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags:
*/

/* GENERAL */
html, body {overflow-x:hidden;}

.shadow, .shadow-img img, .shadow-img .elementor-widget-video {
	box-shadow: 2px 10px 15px -10px rgba(0, 0, 0, 0.15);
}

.shadow-box {
	box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

.has-link-white a {
	color: #fff;
	text-decoration: underline;
	
	&:hover {
		text-decoration: none;
	}
}

.grecaptcha-badge { 
    visibility: hidden !important;
}

/* HEADER */
/* sticky header */
.rep-header {
	width:100vw!important;
	height: 75px;
	padding: 1.5% 5%;
	inset-inline-start:0!important;

	-webkit-transition: background-color ease-out .6s, padding ease-out .6s, height ease-out .6s;
	-moz-transition: background-color ease-out .6s, padding ease-out .6s, height ease-out .6s;
	-o-transition: background-color ease-out .6s, padding ease-out .6s, height ease-out .6s;
	transition: background-color ease-out .6s, padding ease-out .6s, height ease-out .6s;
}
.rep-header-sticky {background-color: rgba(0,78,128);box-shadow: 0px -10px 25px 3px rgba(0,0,0,0.2); height:60px!important;}

/* mega menu */
.rep-dropnav-icon{margin-bottom:8px!important;}

/* BUTTONS */
/* gradient button and animation */
.rep-btn, .rep-btn-back {
    background: linear-gradient(to right, #E55381, #F433AB 50%, #F433AB 50%, #E55381);
	padding: 10px 20px;
    border-radius: 35px;
    background-size: 200% 100%;
    background-position: 100%;

	-webkit-transition: background-position .3s ease;
	-moz-transition: background-position .3s ease;
	-o-transition: background-position .3s ease;
	transition: background-position .3s ease;
    
    &:hover {background-position: 0%;}
}

/* button arrow icon on hover animation */
.rep-btn .elementor-button-text:after {
	content: "";
	font-family: "Font Awesome 5 Free";
	margin-left: 0;
	opacity: 0;
	
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-o-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.rep-btn:hover .elementor-button-text:after {
	content: "\f105";
	margin-left: 10px;
	opacity: 1;
}

.rep-btn-back .elementor-button-text:before {
	content: "";
	font-family: "Font Awesome 5 Free";
	margin-right: 0;
	opacity: 0;
	
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-o-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.rep-btn-back:hover .elementor-button-text:before {
	content: "\f104";
	margin-right: 10px;
	opacity: 1;
}

/* gradient nav button animation */
.rep-nav-btn, #rep-nav-btn {
    background: linear-gradient(to right, #E55381, #F433AB 50%, #ffffff 50%, #ffffff);
    background-clip: text;
	-webkit-background-clip: text;
	-moz-background-clip: text;
	-webkit-text-fill-color: transparent;
	-moz-text-fill-color: transparent;
    background-size: 200% 100%;
    background-position: 100%;

	-webkit-transition: background-position .35s ease;
	-moz-transition: background-position .35s ease;
	-o-transition: background-position .35s ease;
	transition: background-position .35s ease;
    
    &:hover {background-position: 0%;}
}
/* buttons inside mega menus */
.rep-navdrop-btn {padding: 6px 12px;}

/* unfold widget and button */
.rep-toggleable {
  -webkit-transition: -webkit-line-clamp 0.3s ease;
  transition: line-clamp 0.3s ease, -webkit-line-clamp 0.3s ease;
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 5;
  -webkit-line-clamp: 5;
  box-orient: vertical;
  -webkit-box-orient: vertical;
}
.rep-visible {
  line-clamp: revert;
  -webkit-line-clamp: revert;
}
.rep-unfold-btn .elementor-button-text:after {
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: 5px;
}
.rep-unfold-btn.rep-unfold-btn-triggered .elementor-button-text:after {
  content: "\f106";
}

/* MOBILE NAV */
.mobile-nav .mobile-nav-item {
	position: relative !important;
	width: auto!important;
	height: auto!important;
	top: 0;
	right: 0;
}

.mobile-nav .jet-hamburger-panel__close-button {
	width: fit-content !important;
}

/* FOOTER */
/* social buttons */
.rep-social-btn .elementor-button-text:before{
    font-family: "Font Awesome 6 Brands";
    margin-right: 10px;}

/* social buttons icons */
.rep-ico-med .elementor-button-text:before{
    content: "\f23a";}
.rep-ico-fb .elementor-button-text:before{
    content: "\f39e";}
.rep-ico-twi .elementor-button-text:before{
    content: "\e61b";}
.rep-ico-ig .elementor-button-text:before{
    content: "\f16d";}
.rep-ico-lin .elementor-button-text:before{
    content: "\f08c";}
.rep-ico-yt .elementor-button-text:before{
    content: "\f167";}

/* footer link to vist.co */
.foo-vistco-link a{
	color:#ffffff;
	font-weight: 400;

	-webkit-transition: all .4s ease;
	-moz-transition: all .4s ease;
	-o-transition: all .4s ease;
	transition: all .4s ease;
	
	&:hover{color:rgb(249, 200, 56); text-decoration:underline;}
}

/* ANIMATIONS */
/* repertorium acronym */
.rep-acronym p {
	width: 0;
	opacity: 0;
    transform: translateY(10px);
	
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}
.rep-acronym p.show {
	width: auto;
    opacity: 1;
    transform: translateY(0);
}

/* improved elementor fade animation */
@keyframes fadeDown{
    from {opacity: 0;transform: translate3d(0,-30px,0)}
    to {opacity: 1;transform: none} }
.elementor-element.fadeInDown{animation-name:fadeDown}

@keyframes fadeLeft{
    from {opacity: 0;transform: translate3d(-30px,0,0)}
    to {opacity: 1;transform: none} }
.elementor-element.fadeInLeft{animation-name: fadeLeft}

@keyframes fadeRight{
    from {opacity: 0;transform: translate3d(50px,0,0)}
    to {opacity: 1;transform: none} }
.elementor-element.fadeInRight{animation-name: fadeRight}

@keyframes fadeUp{
    from {opacity: 0;transform: translate3d(0,30px,0);animation-timing-function:1.2s cubic-bezier(.6,0,.6,1)!important;}
    to {opacity: 1;transform: none} }
.elementor-element.fadeInUp{animation-name: fadeUp}

/* Typewriter Text */
.typewriter .source, .typewriter .dest {
	margin-block-start: 0;
	margin-block-end: 0;
	min-height: 2.5rem;
}

.typewriter .dest.typecursor::after {
	color: var(--e-global-color-4a387b8);
    animation: typecursor 0.6s steps(1, start) infinite;
    position: relative;
    top: 1px;
    left: 2px;
    content: "|";
}

@keyframes typecursor {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}


.elementor-headline-dynamic-text {
        display: flex;
        flex-wrap: wrap;
    }
    .elementor-headline-dynamic-letter {
        white-space: nowrap;
    }

.elementor-headline-animation-type-typing .elementor-headline-dynamic-wrapper:after {
	width: 2px!important;
	height: 75%!important;
	background-color: var(--e-global-color-4a387b8)!important;
}

.elementor-headline-animation-type-typing {
	margin-block-start: 0;
	margin-block-end: 0;
}

.elementor-headline-text-active {
	word-break: break-word;
}

/* IMAGES */
/* image full height and cover */
.rep-image-full, .rep-image-full .elementor-widget-container, .rep-image-full .elementor-image, .rep-image-full .elementor-image > a {height: 100%;}

/* FORMS */
.jet-form-builder__label-text{display:none;}

.sub-form input,
.contact-form input,
.contact-form textarea {
	padding: 12px 26px;
    background-color: transparent !important;
    border-radius: 25px;
}

.sub-form span.elementor-field-option,
.contact-form span.elementor-field-option {
	display: flex;
	gap: 10px;
}

.sub-form p,
.contact-form p {
	margin-block-end: 0;
}

.home-sub-form input {
	color: #ffffff !important;
	border: 1px solid #ffffff !important;
}

.home-sub-form .jet-form-builder__field-wrap.checkradio-wrap a {
    color: #fff;
    font-style: italic;
    
    &:hover{text-decoration:underline;}
}

.home-sub-form .elementor-field-option p {
	color: #ffffff;
}

.home-sub-form .elementor-field-option a {
	color: #ffffff;
    font-style: italic;
	text-decoration:underline;
    
    &:hover{text-decoration:none;}
}


.contact-form input,
.contact-form textarea,
.blog-sub-form input {
	color: var(--e-global-color-de55bc8) !important;
	border: 1px solid var(--e-global-color-de55bc8) !important;
}

.blog-sub-form .jet-form-builder__field-wrap.checkradio-wrap a {
    color: var(--e-global-color-de55bc8);
    font-style: italic;
    
    &:hover{text-decoration:underline;}
}

.contact-form .elementor-field-option p, 
.blog-sub-form .elementor-field-option p {
	color: var(--e-global-color-de55bc8);
}

.contact-form .elementor-field-option a, 
.blog-sub-form .elementor-field-option a {
	color: var(--e-global-color-de55bc8);
    font-style: italic;
	text-decoration:underline;
    
    &:hover{text-decoration:none;}
}

.contact-form .jet-form-builder__field-wrap.checkradio-wrap a {
    color: var(--e-global-color-de55bc8);
    font-style: italic;
    
    &:hover{text-decoration:underline;}
}

.elementor-field-type-submit.e-form__buttons {
    width: fit-content;
}

.elementor-field-type-submit.e-form__buttons button {
    background: linear-gradient(to right, #E55381, #F433AB 50%, #F433AB 50%, #E55381);
	display: flex;
    align-items: center;
	padding: 12px 24px;
    border-radius: 35px;
    background-size: 200% 100%;
    background-position: 100%;

	-webkit-transition: background-position .3s ease;
	-moz-transition: background-position .3s ease;
	-o-transition: background-position .3s ease;
	transition: background-position .3s ease;;
    
    &:hover {background-position: 0%;}
}

.elementor-field-type-submit.e-form__buttons button:after {
	content: "";
	font-family: "Font Awesome 5 Free";
	margin-left: 0;
	opacity: 0;

	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-o-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.elementor-field-type-submit.e-form__buttons button:hover:after {
	content: "\f105";
	margin-left: 10px;
	opacity: 1;
}

/* Form field reveal animation */
.sub-form .elementor-field-group-name {
	opacity: 0;
    height: 0;
    overflow: hidden;
    transition: height 0.25s ease-out, opacity 0.5s ease-out;
}
.sub-form .elementor-field-group-name.unfold {
    opacity: 1;
    height: 50px;
}

/* Access form */
.acc-form .elementor-field-textual.elementor-size-md {
	padding: 12px 26px;
}

/* gradient button and animation */
.acc-form .elementor-field-type-submit {
	width: auto;
	background: linear-gradient(to right, #E55381, #F433AB 50%, #F433AB 50%, #E55381);
	padding: 5px 10px;
    border-radius: 35px;
    background-size: 200% 100%;
    background-position: 100%;

	-webkit-transition: background-position .3s ease;
	-moz-transition: background-position .3s ease;
	-o-transition: background-position .3s ease;
	transition: background-position .3s ease;
    
    &:hover {background-position: 0%;}
}

/* button arrow icon on hover animation */
.acc-form .elementor-button-text:after {
	content: "";
	font-family: "Font Awesome 5 Free";
	margin-left: 0;
	opacity: 0;
	
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-o-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.acc-form .elementor-field-type-submit:hover .elementor-button-text:after {
	content: "\f105";
	margin-left: 10px;
	opacity: 1;
}

/* Pwd reset form */
.pwd-reset-form .jet-reset__field-wrapper svg {
	fill: #ffffff;
}

/* gradient button and animation */
.pwd-reset-form .jet-reset__submit {
	width: fit-content;
	padding: 12px 26px!important;
	background: linear-gradient(to right, #E55381, #F433AB 50%, #F433AB 50%, #E55381);
	padding: 5px 10px;
    border-radius: 35px;
    background-size: 200% 100%;
    background-position: 100%;

	-webkit-transition: background-position .3s ease;
	-moz-transition: background-position .3s ease;
	-o-transition: background-position .3s ease;
	transition: background-position .3s ease;
    
    &:hover {background-position: 0%;}
}

/* button arrow icon on hover animation */
.pwd-reset-form .jet-reset__button:after {
	content: "";
	font-family: "Font Awesome 5 Free";
	margin-left: 0;
	opacity: 0;
	
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-o-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.pwd-reset-form .jet-reset__submit:hover .jet-reset__button:after {
	content: "\f105";
	margin-left: 10px;
	opacity: 1;
}

/* BLOG */
.home-post-slider .e-loop-item {
	padding: 25px;
}

a.home-loop-item { /* home layout */
	top: 0;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: rgba(50, 50, 93, 0.15) 0px 13px 27px -5px, rgba(0, 0, 0, 0.2) 0px 8px 16px -8px;
	transition: top 0.25s ease-in-out;
	
	&:hover {
		top: -5px;
	}
}

.blog-loop-item img { /* blog layout */
	border-radius: 10px;
	max-height: 65svh;
	object-fit: cover;
	object-position: center;
	box-shadow: rgba(50, 50, 93, 0.15) 0px 13px 27px -5px, rgba(0, 0, 0, 0.2) 0px 8px 16px -8px;
}


.blog-post-img img, .blog-post-content figure img { /* post layout */
	border-radius: 10px;
	box-shadow: rgba(50, 50, 93, 0.15) 0px 13px 27px -5px, rgba(0, 0, 0, 0.2) 0px 8px 16px -8px;
}

.blog-post-content { /* post style */
	
}

.blog-post-content a { /* post style */
	color: var( --e-global-color-text );
	text-decoration: underline;
	
	&:hover {
		text-decoration: none;
	}
}

.elementor-post-navigation__separator-wrapper {
    margin: 0 15px;
}

.blog-post-content p {
	margin-bottom: 20px;
}

.blog-post-content .wp-block-button__link {
	background: linear-gradient(to right, #E55381, #F433AB 50%, #F433AB 50%, #E55381);
	padding: 10px 20px;
    border-radius: 35px;
    background-size: 200% 100%;
    background-position: 100%;
	margin-bottom: 20px;

	-webkit-transition: background-position .3s ease;
	-moz-transition: background-position .3s ease;
	-o-transition: background-position .3s ease;
	transition: background-position .3s ease;
    
    &:hover {background-position: 0%;}
}
.blog-post-content .wp-block-button a:after {
	content: "";
	font-family: "Font Awesome 5 Free";
	margin-left: 0;
	opacity: 0;
	
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-o-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.wp-block-button a {
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
	font-weight: var(--e-global-typography-accent-font-weight);
	font-size: var(--e-global-typography-accent-font-size);
    line-height: var(--e-global-typography-accent-line-height);
    word-spacing: var(--e-global-typography-accent-word-spacing);
	fill: #FFFFFF;
    color: #FFFFFF;
	text-decoration: none;
}
.blog-post-content .wp-block-button:hover a:after {
	content: "\f105";
	margin-left: 10px;
	opacity: 1;
}

.blog-post-content iframe {
	height: 60svh;
}

/* OMR and MIR Tools List */
.omr-list {
  padding: 30px 20px;
  border-radius: 25px;
  transition: background .5s;
}

.omr-list.highlighted {
    background: var(--e-global-color-04f2ef6);
}

a.omr-link {
  cursor: pointer;
  text-decoration: underline!important;
  font-weight: 700;
  
  &:hover {
      text-decoration: none!important;
  }
}

/* TEAM */

.team-nav-logo { /* nav logo */
	width: 33px;
    height: 33px;
    min-width: 33px;
    min-width: 33px;
    border-radius: 50%;
    overflow: hidden;
}

.team-nav-logo img {
	width: 23px;
	height: 23px;
}

.team-nav-container .team-nav-btn { /* animation */
    cursor: pointer;
    transition: all 0.35s;
}

.team-nav-container:hover .team-nav-btn{
  opacity:0.2;
}

.team-nav-container .team-nav-btn:hover{
  opacity:1;
}

.team-logo { /* partners */
	width: 50px;
    height: 50px;
    min-width: 50px;
    min-width: 50px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.22) 0px 9px 33px, rgba(0, 0, 0, 0.20) 0px 5px 15px;
}

.team-logo img {
	width: 40px;
	height: 40px;	
}

.team-avatar { /* team members */
	width: 80px;
    height: 80px;
    min-width: 80px!important;
    min-width: 80px!important;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.22) 0px 9px 33px, rgba(0, 0, 0, 0.20) 0px 5px 15px;
	object-fit: cover;
	object-position: center;
}

.team-main-con .jet-unfold__content-inner a {
    color: #ffffff;
    text-decoration: underline;
    
    &:hover {
        text-decoration: none;
    }
}

.team-main-con .jet-unfold__trigger {
	margin-top: 10px;
}

/* MOBILE */
@media(max-width: 767px) {

	.team-avatar {
		width: 60px;
		height: 60px;
		min-width: 60px!important;
		min-width: 60px!important;
	}
}