/**
Theme Name: 9 Dots Astra Child
Author: 9 Dots Studio
Author URI: https://9.lviv.ua/
Description: https://9.lviv.ua/
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 9-dots-astra-child
Template: astra
*/


* {scroll-behavior: smooth; cursor: default;}
a, input, button {cursor: pointer;}

input:focus, select:focus, textarea:focus, button:focus, a:focus {outline: none;}

#elementor-sticky-header {
	position: fixed;
	left: 0;
	width: 100%;
}

#page .site-content {margin-top: 50px;}

/* --- зсув вікна вліво при відкритті форми ---*/
	html.pum-open.pum-open-overlay.pum-open-scrollable body>:not([aria-modal=true]) {padding-right: 0;}
	nav {width: 100%!important;}
/*-----*/

p {margin-bottom: 15px!important;}
a {text-decoration: none!important;}
strong {font-weight: 500;}

.header-logo img {width: 150px!important;}
.header-contacts img {width: 20px!important;}

.header-numbers span {font-size: 24px;}

.awards img {width: 110px; margin: 0 10px;}

.main-sevices img {width: 130px;}

.onlibe-block img {height: 44px!important;}

.pertners img {height: 40px!important; width: auto; padding: 0 10px;}

.tac-logo img {height: 20px; width: auto;}
.tac-logo .bigger img {height: 36px;}
.tac-logo .smaller img {height: 16px;}


.polis-cta a, .polis-cta span {text-decoration: underline!important;}

.glass {
	background: rgba(255, 255, 255, 0.6);       /* напівпрозорий білий фон */
	backdrop-filter: blur(10px);                /* розмиття заднього фону */
	-webkit-backdrop-filter: blur(10px);        /* для Safari */
	border: 1px solid rgba(255, 255, 255, 0.2); 
	border-radius: 12px;                        
	padding: 20px;   
}

/* рух туди-назад */
@keyframes moveLeftRight {
	100%   { transform: translateY(-50%) translateX(70%) rotate(0deg); }
	0% { transform: translateY(-50%) translateX(-150%) rotate(0deg); }
}

/* обертання проти годинникової стрілки */
@keyframes spin {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(-360deg); }
}


/*contact form*/

.form-call-number a, .alink a {color: #455E39;}

.pum-container .pum-content>:first-child {
	font-weight: 300;
	margin-top: -5px;
	margin-bottom: 20px!important;
	font-size: 14px;
}

.pum-container .pum-content>:last-child {text-align: center;}

.form-call-number {
	font-size: 12px;
	font-weight: 300;
	margin-top: -10px;
}

.wpcf7 .wpcf7-not-valid-tip {
	font-size: 12px;
	font-weight: 300;
	line-height: 10px;
}

.pum-theme-10 .pum-title, .pum-theme-lightbox .pum-title {font-size: 28px;}

.pum-container input, 
.pum-container textarea {
	border-radius: 12px!important; 
	border: 1px solid #A1968D!important; 
}

.pum-container input:focus, 
.pum-container textarea:focus {
	border-radius: 12px!important; 
	border: 1px solid #A1968D!important; 
	background-color: rgba(69, 94, 57, 0.1)!important;
	color: #000!important;
}

.pum-container .wpcf7-response-output {
	border: 1px solid #BE2721; 
	font-size: 14px; 
	font-weight: 400; 
	padding: 1.2em!important;
	margin-top: 0px!important;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {border-color: #BE2721;}

.pum-container .wpcf7-submit, .pum-container .wpcf7-submit:focus {
	background-color: #455E39!important;
	color: #fff!important; 
	font-size: 14px;
	font-weight: 400!important; 
	border: 0!important; 
	padding: 12px 30px!important; 
	width: 100%!important;
	margin-top: 14px;
}

.pum-theme-10 .pum-container, .pum-theme-lightbox .pum-container {border: 0;}
form p:last-of-type {margin-bottom: 0!important;}
/*contact form*/


.partners-main img {max-height: 46px; width: auto;}

.footer-logo img {width: 180px!important;}
.footer-social img {width: 25px!important;}
.trust-section {overflow: hidden;}
.trust-element img {width: 800px!important;}
.footer-element {animation: moveLeftRight 36s linear infinite alternate;}
.footer-element img {animation: spin 94s linear infinite;}

.copywriting a {font-size: 10px;}


/* footer heart animation */
.heart-svg{
  display:inline-block;
  transform-origin: 50% 55%;
  will-change: transform;
  animation: heartBeat 0.95s cubic-bezier(.21,.9,.38,1.01) infinite;
}

/* тонування/візуал */
.heart-svg path{
  fill: #c20202; /* колір серця */
  stroke: none;
}

/* keyframes */
@keyframes heartBeat{
  0%   { transform: scale(1) translateY(0); }
  12%  { transform: scale(1.12) translateY(-1%); } /* сильний удар */
  30%  { transform: scale(0.96) translateY(0); }   /* відскок */
  48%  { transform: scale(1.04) translateY(-0.6%); }/* слабший удар */
  100% { transform: scale(1) translateY(0); }
}

@media (prefers-reduced-motion: reduce){
  .heart-svg { animation: none; }
}
/* footer heart animation */



/*======= MEDIA ======== */


@media (max-width: 1024px) {

}


@media (max-width: 767px) {
	#page .site-content {margin-top: 30px;}
	.header-logo img {width: 120px!important;}
	.header-numbers span {font-size: 18px;}

	.awards img {width: 75px; margin: 0 10px;}

	.main-sevices .cta span {display: none;}
	.onlibe-block img {height: 33px!important;}
	.pertners img {padding: 0 10px;}

	.pum-theme-10 .pum-title, .pum-theme-lightbox .pum-title {font-size: 22px; font-weight: 300;}
	.wpcf7-spinner {display: block; height: 85%;}
	.pum-container {width: 80%!important;}
	.pum-container .wpcf7-response-output {font-size: 13px!important;}

	.footer-logo img {width: 140px!important;}

	/* рух туди-назад */
	@keyframes moveLeftRight {
		100%   { transform: translateY(-50%) translateX(0%) rotate(0deg); }
		0% { transform: translateY(-50%) translateX(-100%) rotate(0deg); }
	}
	.trust-element img {max-width: 125%!important;}
}


@media (max-width: 520px) {
	.pum-container {width: 95%!important;}
}





