/*******     Sciaccountancy.lt     *******/
/**************************************/ 
/***********  global style  ***********/
/**************************************/ 

@font-face {
    font-family: 'Avenir Next';
    src: url('fonts/AvenirNext-DemiBold.woff2') format('woff2'),
         url('fonts/AvenirNext-DemiBold.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: 'Roboto', sans-serif;
    font-size: 1.125rem;
    line-height: 155.556%;
    font-weight: 400;
    margin: 0;	
    padding: 0;
    color: #212121;
}

.green {
	color: #059281;
}

strong {
    font-weight: 600; 
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Avenir Next', sans-serif;
    font-weight: 600; 
}

h1 span, h2 span {
	color: #059281;
}

h1 {
	font-size: 54px;
    line-height: 120%;
}

h2 {
	font-size: 46px;
    line-height: 120%;
}

h3 {
	font-size: 32px;
    line-height: 130%;
}

h4 {
	font-size: 26px;
    line-height: 130%;
}

h5 {
	font-size: 24px;
    line-height: 130%;
	margin-top: 40px;
	margin-bottom: 0
}

h5:nth-child(1) {
	margin-top: 0px;
}

.wrapper {
    width: 100%;
}

.container {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 30px;
}

.container-intro {
    max-width: 1380px;
    margin: 0 3%;
    padding: 0 30px;
}

.content {
    display: flex;
    gap: 30px;
    padding: 72px 0;
}

.block-content {
    flex: 3; 
}

.lead-text {
	margin: 0 0 80px 0;
		
}

@media (max-width: 768px) {
	
	.container {
        padding: 0 16px;
    }

    .content {
        flex-direction: column;
        padding: 56px 0 56px 0;
    }
	
	.content.secondary {
        padding: 0 0 56px 0;
    }
	
	.container-intro {
		margin: 0;
		padding: 0 20px;
	}

    .block-content {
        order: 1;
        width: 100%;
    }
	
	.lead-text {
	margin: 0 0 20px 0
}
}



/***********  aligment  ***********/

.text-left {
	text-align: left;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

/***********  links  ***********/

a {
    text-decoration: underline;
    color: #059281;
}

a:hover {
    text-decoration: none;
}

/***********  buttons ***********/

.btn-primary, .btn-secondary, .tertiary-btn, .btn-submit {
	font-style: normal;
	font-weight: 400;
	line-height: 150%; 
    display: inline-flex;
	font-size: 18px;
	padding: 12px 24px;
	margin-right: 6px;
	justify-content: center;
	align-items: center;
	gap: 8px;
	border-radius: 4px;
	border: 1px solid #059281;
	background: #059281;
    transition: background-color 0.3s ease, opacity 0.3s ease;
    text-decoration: none;
    text-align: center;
	cursor: pointer;
}

@media (max-width: 768px) {
   
	.btn-primary, .btn-secondary, .tertiary-btn, .btn-submit {
		display: block;
		width: auto;
		margin-bottom: 12px;
	}

}

.btn-primary, .btn-submit {
    background-color: #059281;
    border: 1px solid #059281;
	color: #ffffff;
}

.btn-primary:hover, .btn-submit:hover {
    opacity: 0.8;
}

.btn-primary:active, .btn-submit:active {
    opacity: 1;
    background-color: #059281;
}

.btn-secondary{
    background-color: #ffffff;
    border: 1px solid #059281;
    color: #059281;
}

.btn-secondary:hover {
    opacity: 0.8;
}

.btn-secondary:active {
    opacity: 1;
    background-color: #E6E6E6;
}

/* backgrounds */

.bg-white {
    background-color: #ffffff;
}

.bg-grey {
    background-color: #f9f9f9;
}

/***********  header  ***********/

header {
    background-color: #ffffff;
    border-bottom: 1px #E6E6E6 solid;
    padding: 24px 0 0px 0;
}

.header-top {
    display: flex;
	justify-content: space-between;
    align-items: center;
    padding: 0;
    margin: 0 0 24px 0;
}

.header-bottom {
    display: flex;
    font-size: 18px;
    line-height: 27px;
    justify-content: space-between;
    align-items: center;
    height: 43px;
    background-color: #ffffff;
}

.header-bottom > a {
    color: #212121;
    text-decoration: none;
}

.header-bottom > a:hover {
    text-decoration: underline;
}

.navigation {
	display: flex;
}

.navigation ul {
    display: flex;
    gap: 28px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.navigation li {
    position: relative; 
}

.navigation li::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: transparent;
    transition: background-color 0.3s;
}

.navigation li:hover::after {
    background-color: #059281; 
}

.navigation li.current-menu-item::after,
.navigation li.current_page_item::after {
    background-color: #059281; 
}
.navigation.active {
    display: block;
}

.navigation a {
    font-size: 18px;
    color: #212121;
    text-decoration: none;
    line-height: 43px;
    display: block;
    text-align: center;
}

.mob-search, .mob-menu-items {
    display: none;
}

.burger-icon {
    display: none; 
}

.lang-switch {
    padding: 8px;
	margin-left: 70px;
	display: flex;
	line-height: 19px
}

.lang-switch a {
	line-height: 20px;
	padding: 4px 8px;
	margin-left: 4px;
    text-decoration: none;
    color: #212121;
    font-weight: 500;
    transition: color 0.3s ease;
}

.lang-switch a:hover {
    color: #000;
}

.separator {
    margin: 0 2px;
    color: #212121;
}

.lang-switch a.active {
    font-weight: 500;
    color: #fff;
	background: #059281;
	border-radius: 2px;
	
}

@media (max-width: 1110px) {
	
	.logo-block img {
		width: 85%
	}
	
	.lang-switch {
		margin: 20px 0 0 0;
	}
	
    body.menu-open {
        overflow: hidden;
    }

    .page-wrapper {
        padding-top: 69px;
    }

    header {
		position: fixed; 
        top: 0;
        left: 0;
        z-index: 1000;
        width: 100%;
        padding: 12px 0;
        transition: top 0.3s ease;
        height: 49px;
    }

    .navigation {
        display: none; 
        flex-direction: column;
        position: fixed;
        top: 73px;
        left: 0;
        right: 0;
        background-color: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); 
        z-index: 10;
        height: calc(100vh - 73px); 
        overflow-y: auto; 
    }

    .header-top {
        margin: 0;
    }

    .svg-icon {
        width: 38px;
        height: auto;
    }

    .header-bottom {
        height: auto;
    }

    .burger-icon {
        position: absolute;
        top: 25px;
        right: 12px;
        display: block;
        width: 30px;
        height: 30px;
        cursor: pointer; 
    }
    
    .burger-icon img {
        width: 100%;
        height: auto;
        transition: opacity 0.3s ease;
    }
    
    #burgerClose {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        pointer-events: none;
    }

    .navigation.active ul {
        flex-direction: column;
        gap: 0;
    }

    .navigation.active li {
        border-bottom: 1px solid #EEEEEE;
        padding: 4px 30px;
    }

    .navigation.active li a {
        text-align: left;
    }
    
    .navigation.active li::after {
        background-color: transparent;
    }
    
    .navigation.active li:hover::after {
        background-color: none;
    }
}

@media (max-width: 768px) {
    .navigation.active li {
        border-bottom: 1px solid #EEEEEE;
        padding: 4px 20px;
    }
}

/************  home page  ************/

.hero {
    position: relative;
    background: url('images/main-image.png') center/cover no-repeat;
    display: flex;
    min-height: calc(100dvh - 80px);
	align-items: center; 
}

.hero-content {
	padding: 70px;
    position: relative;
    z-index: 2;
	background: linear-gradient(
        to right,
        rgba(255,255,255,0.6) 0%,
        rgba(255,255,255,0.4) 50%,
        rgba(255,255,255,0.1) 100%
    );
}

.hero small {
    display: block;
    margin-bottom: 15px;
    color: #666;
    font-size: 16px;
}

.hero h1 {
    margin: 0 0 20px 0;
}

.hero h1 span {
    color: #059281;
}

.hero p {
    font-size: 18px;
    margin-bottom: 60px;
}

@media (max-width: 768px) {
	
	.hero h1 {
		font-size: 38px;
	}
	
	.hero p {
    	margin-bottom: 30px;
	}
	
	.hero-content {
		padding: 30px;
			background: linear-gradient(
        to right,
        rgba(255,255,255,0.8) 0%,
        rgba(255,255,255,0.5) 50%,
        rgba(255,255,255,0.3) 100%
    );
	}
	
}

/***********  CTA block  ***********/

.cta-block {
    position: relative;
    background-image: url('images/cta-block.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #FFFFFF;
    overflow: hidden;
}

.cta-block::before {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        120deg,
        rgba(4,88,82,0.85),
        rgba(9,156,145,0.15),
        rgba(4,88,82,0.85)
    );

    background-size: 120% 120%;
    animation: gradientMove 4s ease-in-out infinite;

    pointer-events: none;
}

.cta-block > * {
    position: relative;
    z-index: 2;
}

@keyframes gradientMove {

    0% {
        background-position: 0% 30%;
    }

    50% {
        background-position: 100% 70%;
    }

    100% {
        background-position: 0% 30%;
    }

}

.cta-text {
    margin-bottom: 40px;
}



/***********  Content block  ***********/

.content-box{
	display: flex;
	gap: 80px
}

.content-box img{
	object-fit: cover; 
}

.content-box hr{
	border: none;
 	border-top: 1px solid #E5E5EA;
  	margin: 30px 0;
}

.content-img-r1 {
	 border-bottom-right-radius: 200px;
	 border-top-left-radius: 150px;
}

.content-img-r2 {
	border-bottom-right-radius: 150px;
	border-top-left-radius: 150px;
}

.content-box p {
	display: block;
	padding: 0 0 0 0;
}

@media (max-width: 1024px) {
	
	.image-block {
		display: none
	}
}

/***********  list  ***********/

.content-list {
    margin: 0 0 0 15px;
    padding: 0;
    list-style: none;
}

.content-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 28px;
}

.content-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 18px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
}

.content-list li::before {
    background-color: rgba(5,146,129,0.12);
    border-radius: 50%;
    padding: 2px;
}

/* зелёные большие bullets */

.content-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 10px;
    height: 10px;
    background: #059281;
    border-radius: 50%;
}



/***********  What we can offer ***********/

 .services-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
	margin: 0 0 40px 0
  }

  .service-item {
    text-align: center;
    padding: 15px;
    width: 22%; 
    box-sizing: border-box;
    transition: transform 0.3s;
  }

  .service-item:first-child img {
	border-top-left-radius: 100px;
  }

   .service-item:last-child img {
	border-bottom-right-radius: 100px;
  }

  .service-item img {
    max-width: 100%;
  }

  .service-item h3 {
    margin-top: 10px;
	font-size: 1.7vw;
  }

  .service-item:hover {
    transform: translateY(-5px);
  }

.services-grid a, .services-grid a:hover{
	color: #212121;
	text-decoration: none;
}


@media (max-width: 768px) {
	
    .service-item {
      width: 100%;
    }
	
	 .service-item h3 {
		font-size: 26px;
	}
	
  }

/*********** Blog ***********/

.blog-bg {
    background-image: url('images/image-blog.png'); 
    background-size: cover;
    background-position: center; 
    background-repeat: no-repeat; 
    color: #FFFFFF; 
}

.articles{
	display: flex;
	gap: 40px;
}

.article-card{
	flex: 0 0 calc((100% - 80px) / 3);
	padding:12px 24px 24px 24px;
	box-sizing: border-box;
	color:#fff;
	background: -webkit-linear-gradient(#0f5f5a 0%, #167f78 55%, #1fb5a8 100%);
	background: -o-linear-gradient(#0f5f5a 0%, #167f78 55%, #1fb5a8 100%);
	background: linear-gradient(#0f5f5a 0%, #167f78 55%, #1fb5a8 100%);;
	box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

@media (max-width: 1024px){

  .articles{
    flex-direction: column;
  }

  .article-card{
    flex: 0 0 100%;
  }

}

.article-title{
	font-size: 24px;
	line-height: 140%;
	margin-bottom: 20px;
}

.article-title a {
	color: #ffffff;
	text-decoration: none
}

.article-title a:hover {
	opacity: 0.8
}

.article-meta{
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 20px;
}

.article-tag{
	display: inline-block;
 	background: #fff;
  	color: #212121;
  	font-size: 14px;
  	padding: 0 8px;
  	width: max-content;
  	border-radius: 2px;
}

.article-date{
  	font-size: 14px;
  	opacity: 0.9;
}

.article-card p{
  	margin-bottom: 20px;
}

.article-more{
  	display: inline-flex;
  	align-items: center;
  	gap: 10px;
  	text-decoration: none;
  	color: #fff;
  	font-size: 18px;
  	font-weight: 500;
}

.article-more .arrow{
  	transition: transform .2s ease;
}

.article-more:hover .arrow{
  	transform: translateX(6px);
}

/*********** Blog archive dark ***********/

.blog-archive-dark h2 {
	margin-bottom: 16px;
}

.blog-lead-text-dark {
	margin-bottom: 32px;
	font-size: 16px;
	line-height: 1.6;
	color: #212121;
}

.blog-articles-grid-dark {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-top: 30px;
}

.blog-article-card-dark {
	background: #fff;
    border-radius: 4px;
    border: 2px solid #EBEBF9;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
	padding: 20px 24px 24px 24px;
	box-sizing: border-box;
	color: #ffffff;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.blog-article-card-dark:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.22);
}

.blog-article-title-dark {
	font-size: 24px;
	line-height: 1.4;
	margin-bottom: 20px;
}

.blog-article-title-dark a {
	color: #059281;
	text-decoration: none;
}

.blog-article-title-dark a:hover {
	opacity: 0.85;
}

.blog-article-meta-dark {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 20px;
}

.blog-article-date-dark {
	font-size: 14px;
	opacity: 0.85;
	color: #212121;
}

.blog-article-card-dark p {
	margin-bottom: 20px;
	color: #212121;
	line-height: 1.6;
}

.blog-article-more-dark {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: #059281;
}

.blog-arrow-dark {
	transition: transform 0.2s ease;
}

.blog-article-more-dark:hover .blog-arrow-dark {
	transform: translateX(6px);
}

.blog-pagination-dark {
	margin-top: 40px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}

.blog-pagination-dark .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 42px;
	padding: 0 14px;
	text-decoration: none;
	background: #059281;
	color: #ffffff;
	border-radius: 4px;
	transition: all 0.2s ease;
	border: 1px solid #059281;
}

.blog-pagination-dark .page-numbers:hover{
	background: #059281;
	border: 1px solid #059281;
	opacity: 0.85;
	color: #ffffff;
}

.blog-pagination-dark .page-numbers.current {
	background: #fff;
	color: #212121;
	border: 1px solid #059281;
}

@media (max-width: 1024px) {
	.blog-articles-grid-dark {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.blog-articles-grid-dark {
		grid-template-columns: 1fr;
	}
}

.single-post-narrow {
	max-width: 768px;
	width: 100%;
	margin: 0 auto 50px;
	margin-bottom: 80px
}

.related-posts-title {
	margin-bottom: 60px

}

/***********  Blog design  ***********/

.blog-article-content {
    color: #212121;
    font-size: 1.125rem;
    line-height: 1.8;
    word-wrap: break-word;
}

.blog-article-content > *:first-child {
    margin-top: 0;
}

.blog-article-content > *:last-child {
    margin-bottom: 0;
}

/* paragraphs */

.blog-article-content p {
    margin: 0 0 22px;
}

/* headings inside article */

.blog-article-content h1,
.blog-article-content h2,
.blog-article-content h3,
.blog-article-content h4,
.blog-article-content h5,
.blog-article-content h6 {
    color: #111111;
    margin: 42px 0 18px;
    scroll-margin-top: 110px;
}

.blog-article-content h2 {
    font-size: 2.25rem;
    line-height: 1.2;
    padding-bottom: 10px;
    border-bottom: 1px solid #E6E6E6;
}

.blog-article-content h3 {
    font-size: 1.75rem;
    line-height: 1.25;
}

.blog-article-content h4 {
    font-size: 1.375rem;
    line-height: 1.3;
}

.blog-article-content h5 {
    font-size: 1.125rem;
    line-height: 1.4;
    margin-top: 30px;
}

.blog-article-content h6 {
    font-size: 1rem;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #5b5b5b;
}

/* links */

.blog-article-content a {
    color: #059281;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.blog-article-content a:hover {
    text-decoration: none;
    opacity: 0.85;
}

/* strong / emphasis */

.blog-article-content strong {
    font-weight: 700;
    color: #111111;
}

.blog-article-content em {
    font-style: italic;
}

/* lists */

.blog-article-content ul,
.blog-article-content ol {
    margin: 0 0 26px 0;
    padding-left: 0;
}

.blog-article-content ul {
    list-style: none;
}

.blog-article-content ul li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 14px;
}

.blog-article-content ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 9px;
    height: 9px;
    background: #059281;
    border-radius: 50%;
}

.blog-article-content ol {
    padding-left: 24px;
}

.blog-article-content ol li {
    margin-bottom: 14px;
    padding-left: 4px;
}

.blog-article-content li > ul,
.blog-article-content li > ol {
    margin-top: 14px;
    margin-bottom: 8px;
}

/* blockquote */

.blog-article-content blockquote {
    position: relative;
    margin: 34px 0;
    padding: 24px 28px 24px 28px;
    background: #f7fbfa;
    border-left: 4px solid #059281;
    border-radius: 4px;
    font-style: normal;
    font-size: 1.15rem;
    line-height: 1.75;
    color: #1f3b39;
}

.blog-article-content blockquote::before {
    content: "“";
    position: absolute;
    top: 8px;
    left: 14px;
    font-family: 'Avenir Next', sans-serif;
    font-size: 56px;
    line-height: 1;
    color: rgba(5, 146, 129, 0.18);
    pointer-events: none;
}

.blog-article-content blockquote p:last-child {
    margin-bottom: 0;
}

.blog-article-content blockquote cite {
    display: block;
    margin-top: 14px;
    font-size: 0.95rem;
    color: #5c6b69;
    font-style: normal;
}

/* hr */

.blog-article-content hr {
    border: 0;
    height: 1px;
    background: #E6E6E6;
    margin: 42px 0;
}

/* images */

.blog-article-content img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

.blog-article-content figure {
    margin: 34px 0;
}

.blog-article-content figure img {
    width: 100%;
}

.blog-article-content figcaption {
    margin-top: 10px;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #666666;
    text-align: center;
}

/* tables */

.blog-article-content .table-wrap {
    overflow-x: auto;
    margin: 30px 0;
}

.blog-article-content table {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
    font-size: 1rem;
    line-height: 1.6;
    background: #ffffff;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    overflow: hidden;
}

.blog-article-content th,
.blog-article-content td {
    padding: 14px 16px;
    border: 1px solid #E6E6E6;
    text-align: left;
    vertical-align: top;
}

.blog-article-content th {
    background: #f7fbfa;
    color: #111111;
    font-weight: 700;
    font-family: 'Avenir Next', sans-serif;
}

.blog-article-content tr:nth-child(even) td {
    background: #fcfcfc;
}

/* code */

.blog-article-content code {
    font-family: Consolas, Monaco, monospace;
    font-size: 0.95em;
    background: #f4f4f4;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    padding: 2px 6px;
    color: #1d1d1d;
}

.blog-article-content pre {
    margin: 30px 0;
    padding: 18px 20px;
    background: #111111;
    color: #ffffff;
    border-radius: 4px;
    overflow-x: auto;
    font-size: 0.95rem;
    line-height: 1.7;
}

.blog-article-content pre code {
    background: transparent;
    border: none;
    color: inherit;
    padding: 0;
}

/* note / warning / success */

.blog-article-content .article-note,
.blog-article-content .article-warning,
.blog-article-content .article-success {
    margin: 30px 0;
    padding: 18px 20px;
    border-radius: 4px;
    border: 1px solid #E6E6E6;
}

.blog-article-content .article-note {
    background: #f7fbfa;
    border-left: 4px solid #059281;
}

.blog-article-content .article-warning {
    background: #fff8ef;
    border-left: 4px solid #d98a00;
}

.blog-article-content .article-success {
    background: #f2faf6;
    border-left: 4px solid #2e9b62;
}

.blog-article-content .article-note p:last-child,
.blog-article-content .article-warning p:last-child,
.blog-article-content .article-success p:last-child {
    margin-bottom: 0;
}

/* small text */

.blog-article-content small {
    font-size: 0.9rem;
    color: #6b6b6b;
}

/* alignment helpers inside article */

.blog-article-content .alignleft {
    float: left;
    margin: 8px 24px 16px 0;
    max-width: 48%;
}

.blog-article-content .alignright {
    float: right;
    margin: 8px 0 16px 24px;
    max-width: 48%;
}

.blog-article-content .aligncenter {
    display: block;
    margin: 30px auto;
}

/* clear floats */

.blog-article-content::after {
    content: "";
    display: block;
    clear: both;
}

/* highlighted intro text */

.blog-article-content .article-intro {
    font-size: 1.25rem;
    line-height: 1.75;
    color: #1f1f1f;
    margin-bottom: 32px;
}

/* quote-like lead */

.blog-article-content .article-lead {
    margin: 0 0 34px;
    padding: 18px 22px;
    background: linear-gradient(90deg, rgba(5,146,129,0.08) 0%, rgba(5,146,129,0.02) 100%);
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 1.12rem;
    line-height: 1.75;
}

/* mobile */

@media (max-width: 768px) {
    .blog-article-content {
        font-size: 1rem;
        line-height: 1.75;
    }

    .blog-article-content h2 {
        font-size: 1.8rem;
    }

    .blog-article-content h3 {
        font-size: 1.5rem;
    }

    .blog-article-content h4 {
        font-size: 1.25rem;
    }

    .blog-article-content blockquote {
        padding: 20px 18px 20px 20px;
        font-size: 1.05rem;
    }

    .blog-article-content blockquote::before {
        left: 10px;
        font-size: 42px;
    }

    .blog-article-content .alignleft,
    .blog-article-content .alignright {
        float: none;
        max-width: 100%;
        margin: 24px 0;
    }
}

/***********  Price ***********/

.price{
	display: flex;
	gap: 32px;
	flex-wrap: wrap;
}

.price-card{
	flex: 0 0 calc((100% - 120px) / 4);
	background: #fff;
	padding: 8px 32px 32px 32px;
	border-radius: 2px;
	border: 2px solid #EBEBF9;
	box-shadow: 0 20px 40px rgba(0,0,0,0.08);
	box-sizing: border-box;
	position: relative
}

.price-card {
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.price-card:hover {
  transform: translateY(-4px);
}

.price-card ul {
	padding-left: 15px
}

.price-premium {
    background-image: url('images/price-premium-bg.png'); 
    background-size: cover;
    background-position: center; 
    background-repeat: no-repeat; 
    color: #FFFFFF; 
	position: relative;
}

.price-card .label {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #330404;
	font-style: italic;
	color: #ffffff;
  	font-size: 14px;
	font-weight: 700;
  	padding: 0 8px;
  	width: max-content;
  	border-radius:2px;
}

.price h4 {
	margin-bottom: 12px
}

.price-subtitle {
	min-height: 95px;
}

.price-divider{
	height: 1px;
	background: #D7D7D7;
	margin-bottom: 30px;
}

.price-text{
	margin-bottom: 40px;
	min-height: 170px
}

.price-btn{
	display: inline-block;
  	padding: 16px 32px;
  	background: #148f7a;
  	color: #fff;
  	text-decoration: none;
  	font-size: 20px;
  	border-radius: 10px;
  	transition: 0.25s;
}

.price-btn:hover{
  	background: #0f6f60;
}


@media (max-width:1230px){

	.price{
		flex-direction: column;
	}

	.price-card{
		flex: 0 0 100%;
	}
	
	.price-text{
		min-height: auto;
	}
	
	.price-subtitle{
		min-height: auto;
		margin-bottom: 8px
	}

}


/******  What makes us different *****/

.we-different-wrapper {
	padding: 80px 0;
}

.what-we-different-img {
  	width: 100%;
	height: 100%;
  	display: block;
	border-bottom-right-radius: 150px;
	border-top-left-radius: 150px;
	object-fit: cover;
}

.we-different-item {
	margin-bottom: 32px;
}

.we-different-item:last-child {
  	margin-bottom: 0;
}

.we-different-head {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 16px;
}

.we-different-icon {
	width: 56px;	
	height: 56px;
  	min-width: 56px;
  	border-radius: 50%;
  	background: #059281;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	transform-style: preserve-3d;
  	backface-visibility: visible;
 	will-change: transform;
}

.we-different-item:hover .we-different-icon {
  	animation: weDifferentFlip 0.8s ease-in-out;
}

.we-different-icon img {
  	width: 32px;
  	height: 32px;
  	object-fit: contain;
  	display: block;
}

.we-different h4 {
  	margin: 0;
}

.we-different p {
  	margin: 0;
}

@keyframes weDifferentFlip {
  	0% {
    transform: rotateY(0deg);
  }
  	50% {
    transform: rotateY(180deg);
  }
  	100% {
    transform: rotateY(360deg);
  }
}

.we-different-item {
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.we-different-item:hover {
  transform: translateY(-4px);
}

/*********** Footer ***********/

.footer-bg {
	background-image: url('images/footer-bg.png'); 
    background-size: cover;
    background-position: center; 
    background-repeat: no-repeat; 
    color: #FFFFFF; 
	position: relative;
}

.site-footer {
    color: #ffffff;
    padding: 80px 0 34px;
    overflow: hidden;
}

.footer-container {
    margin: 0 auto;
}

.footer-top {
    display: grid;
    grid-template-columns: minmax(320px, 620px) 1fr;
    align-items: start;
    column-gap: 120px;
    row-gap: 40px;
}

.footer-left h2 {
    margin: 0 0 28px;
}

.footer-subtitle {
    margin: 0 0 42px;

    font-size: 21px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
    position: relative;
    display: inline-block;
}

.footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px 36px;
}

.footer-nav a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
    opacity: 0.95;
    transition: opacity 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.footer-nav a:hover {
    opacity: 1;
    color: #ffffff;
    transform: translateY(-2px);
}

.footer-divider {
    width: 100%;
    height: 1px;
    margin: 84px 0 38px;
    background: rgba(255, 255, 255, 0.26);
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.footer-bottom p,
.footer-bottom a {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    transition: color 0.3s ease, opacity 0.3s ease;
}

.footer-bottom a:hover {
    color: #ffffff;
}


@media (max-width: 768px) {
    
	.site-footer {
        padding: 56px 0 28px;
    }

    .footer-container {
        padding: 0 px;
    }

    .footer-top {
        grid-template-columns: 1fr;
        row-gap: 36px;
    }

    .footer-subtitle {
        margin-bottom: 28px;
        max-width: 100%;
    }

    .footer-nav {
        padding-top: 0;
        justify-content: center;
        gap: 14px;
    }

    .footer-nav a {
        font-size: 18px;
    }

    .footer-divider {
        margin: 44px 0 24px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
}



/*********** Secondary pages ***********/


.secondary-services {
    background: url('images/services-image.png') center/cover no-repeat;
    display: flex;
    height: 190px;
	align-items: center; 
}

.secondary-prices {
    background: url('images/prices-image.png') center/cover no-repeat;
    display: flex;
    height: 190px;
	align-items: center; 
}

.secondary-about {
    background: url('images/about-images.png') center/cover no-repeat;
    display: flex;
    height: 190px;
	align-items: center; 
}

.secondary-faq {
    background: url('images/faq-image.png') center/cover no-repeat;
    display: flex;
    height: 190px;
	align-items: center; 
}

.secondary-blog {
    background: url('images/blog-header-image.png') center/cover no-repeat;
    display: flex;
    height: 190px;
	align-items: center; 
}

.secondary-contacts {
    background: url('images/contacts-image.png') center/cover no-repeat;
    display: flex;
    height: 190px;
	align-items: center; 
}

@media (max-width: 768px) {
	
		.secondary-services, .secondary-prices, .secondary-about, .secondary-faq, .secondary-blog, .secondary-contacts  {
		 height: 100px;
	}	
}

.secondary-title{
    text-shadow:
        0 0 20px rgba(255,255,255,0.9),
        0 0 40px rgba(255,255,255,0.7),
        0 4px 10px rgba(0,0,0,0.25);
	
	background: linear-gradient(
        to right,
        rgba(255,255,255,0.1) 0%,
        rgba(255,255,255,0.2) 50%,
        rgba(255,255,255,0.1) 0%
    );
	
	padding: 10px 25px
}


/*********** Content block ***********/


.content-box .b-40 { flex: 0 0 37%; max-width: 37%; }
.content-box .b-60 { flex: 0 0 57%; max-width: 57%; }
.content-box .b-30 { flex: 0 0 27%; max-width: 27%; }
.content-box .b-70 { flex: 0 0 67%; max-width: 67%; }

.content-box .b-60 h4 {
    margin-top: 0
}

@media (max-width: 1024px) {

    .content-box {
        flex-direction: column;
        gap: 30px;
    }
	
	.content-box .b-30,
    .content-box .b-40,
    .content-box .b-60,
	.content-box .b-70 {
           flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    }

}

/*********** FAQ ***********/


.faq-wrapper {
  	max-width: 1024px;
  	width: 100%;
  	margin: 40px auto;
}

.faq-wrapper h4{
	margin-top: 60px;
	margin-bottom: 10px;
}

.faq-wrapper h4:nth-child(1){
	margin-top: 0;
	margin-bottom: 10px;
}

.faq-item {
  	background: #fff;
	padding: 8px 32px 8px 32px;
	margin-bottom: 32px;
	border-radius: 2px;
	border: 1px solid #EBEBF9;
	box-shadow: 0 20px 40px rgba(0,0,0,0.08);
	box-sizing: border-box;
  	overflow: hidden;
}

.faq-question {
	background: #fff;
  	width: 100%;
  	border: none;
  	text-align: left;
  	cursor: pointer;
  	display: flex;
  	justify-content: space-between;
  	align-items: center;
}

.faq-title{
	font-family: 'Avenir Next', sans-serif;
    font-weight: 600; 
	font-size: 24px;
    line-height: 130%;
}

.faq-title {
  	max-width: 90%;
}

.faq-icon {
  	font-size: 42px;
  	transition: transform 0.3s ease;
	color: #D7D7D9;
	display: none
}

.faq-answer {
  	display: none;
  	padding: 20px 20px 20px 10px;
}

.faq-item.active .faq-answer {
  	display: block;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
}

@media (max-width: 768px) {
	
		.faq-item {
		padding: 8px;
	}
	
	.faq-question h5 {
		font-size: 20px
	}
}

/***********  forms ***********/

.contact-section,
.contact-section *,
.contact-section *::before,
.contact-section *::after {
  	box-sizing: border-box;
}

.contact-section {
  	margin: 0 auto;
  	padding: 0;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

.contact-form {
  	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.form-grid {
  	display: grid;
  	grid-template-columns: repeat(2, minmax(0, 1fr));
  	gap: 0 24px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.form-group {	
  	display: flex;
  	flex-direction: column;
  	position: relative;
	min-width: 0;
	max-width: 100%;
}

.full-width {
  	width: 100%;
  	margin-bottom: 0;
	min-width: 0;
	max-width: 100%;
}

.form-group label {
  	font-weight: 400;
  	color: #111111;
  	margin-bottom: 4px;
}

.form-group input,
.form-group select,
.form-group textarea {
	font-size: 16px;
  	width: 100%;
	max-width: 100%;
  	border: 1px solid #BEBEC1;
 	background: transparent;
  	padding: 6px 12px;
  	outline: none;
  	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  	border-radius: 0;
  	appearance: none;
	display: block;
}

.form-group input,
.form-group select {
  	height: 48px;
	border-radius: 2px;
}

.form-group textarea {
	border-radius: 2px;
  	min-height: 200px;
  	resize: vertical;
  	padding-top: 18px;
	font-family: 'Roboto', sans-serif;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  	opacity: 1;
}

/* select arrow */
.select-wrap {
  	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.select-wrap::after {
  	content: "";
  	position: absolute;
  	right: 24px;
  	top: 50%;
  	width: 13px;
  	height: 13px;
  	border-right: 3px solid #D7D7D9;
  	border-bottom: 3px solid #D7D7D9;
  	transform: translateY(-65%) rotate(45deg);
  	pointer-events: none;
}

/* default */
.form-group input,
.form-group select,
.form-group textarea {
  	border-color: #BEBEC1;
}

/* hover */
.form-group input:hover,
.form-group select:hover,
.form-group textarea:hover {
	border-color: #6f7275;
}

/* focus */
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
	border-color: #0f9888;
  	box-shadow: 0 0 0 3px rgba(15, 152, 136, 0.12);
  	background: #ffffff;
}

/* filled */
.form-group.is-filled input,
.form-group.is-filled select,
.form-group.is-filled textarea {
  	background: #ffffff;
}

/* success */
.form-group.is-success input,
.form-group.is-success select,
.form-group.is-success textarea {
  	border-color: #179b6b;
  	background: #ffffff;
}

/* error */
.form-group.is-error input,
.form-group.is-error select,
.form-group.is-error textarea {
  	border-color: #d94b45;
  	background: #fffafa;
}

/* disabled */
.form-group input:disabled,
.form-group select:disabled,
.form-group textarea:disabled,
.btn-submit:disabled {
  	opacity: 0.6;
  	cursor: not-allowed;
}

.form-message {
  	min-height: 22px;
  	margin-top: 10px;
  	font-size: 15px;
  	line-height: 1.4;
}

.error-message {
  	color: #d94b45;
}

.success-message {
  	color: #179b6b;
}

.form-actions {
  	margin-top: 8px;
}

.form-status {
  	margin-top: 18px;
  	font-size: 16px;
  	line-height: 1.5;
  	min-height: 24px;
}

.form-status.is-success {
  	color: #179b6b;
}

.form-status.is-error {
  	color: #d94b45;
}


@media (max-width: 768px) {
  	.contact-section {
    	padding: 20px 0;
  	}

  	.contact-form {
    	width: 100%;
  	}

  	.form-grid {
    	grid-template-columns: 1fr;
    	gap: 0;
    	margin-bottom: 0;
  	}

  	.full-width {
    	margin-bottom: 0;
  	}

  	.form-group label {
    	font-size: 18px;
    	margin-bottom: 10px;
  	}

  	.form-group input,
  	.form-group select {
    	height: 56px;
    	font-size: 18px;
    	padding: 14px 16px;
  	}

  	.form-group textarea {
    	min-height: 180px;
    	font-size: 18px;
    	padding: 14px 16px;
  	}

  	.select-wrap::after {
    	right: 18px;
    	width: 10px;
    	height: 10px;
    	border-right: 2px solid #111111;
    	border-bottom: 2px solid #111111;
  	}

  	.form-message {
    	min-height: 18px;
    	margin-top: 8px;
    	font-size: 13px;
  	}

  	.form-actions {
    	margin-top: 4px;
  	}

  	.btn-submit {
    	width: 100%;
    	min-width: 100%;
    	height: 56px;
    	font-size: 22px;
    	padding: 0 20px;
  	}

  	.form-status {
    	margin-top: 14px;
    	font-size: 14px;
  	}
}


@media (max-width: 1180px) {
	.partners-box {
		flex-direction: column;
		gap: 30px;
	}

	.partners-box .b-30,
	.partners-box .b-70 {
		flex: 0 0 100%;
		width: 100%;
	}
}

@media (max-width: 768px) {
	.partners-box {
		gap: 30px;
	}
}

/********** Contacts form ***********/

.contact-info-block {
	display: flex;
  	flex-direction: column;
  	gap: 16px;
}

.contact-info-item {
  	display: flex;
  	align-items: center;
  	gap: 16px;
}

.contact-info-icon {
  	width: 24px;
  	min-width: 24px;
  	height: 24px;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	color: #212121;
}

.contact-info-icon svg {
  	width: 24px;
  	height: 24px;
  	display: block;
}

.contact-info-link {
  	font-family: 'Roboto', sans-serif;
  	font-weight: 400;
  	text-underline-offset: 4px;
  	text-decoration-thickness: 1px;
  	word-break: break-word;
}

.contact-info-link:hover {
  	text-decoration: none;
}



@media (max-width: 768px) {

  .contact-info-item {
    align-items: flex-start;
  }
	
}

/***********  Contact form 7 fixes ***********/

.wpcf7-response-output {

	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/*******  Custom gallery for Diplomas ***********/

.custom-gallery {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}

.custom-gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid #E6E6E6;
  border-radius: 4px;
  display: block;
}

.custom-gallery a {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 4px;
}

.custom-gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

/* зелёный overlay */
.custom-gallery a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 120, 100, 0.5); /* ← под цвет футера */
  transition: background 0.3s ease;
}

/* при наведении убираем затемнение */
.custom-gallery a:hover::after {
  background: rgba(0, 120, 100, 0);
}



/* Animacija */
/* Bazovoe sostojanie do pojavlenija */
.reveal {
    opacity: 0;
    transition: opacity 0.9s ease, transform 0.9s ease;
    will-change: opacity, transform;
}

/* Varianty animacii */
.reveal-up {
    transform: translateY(40px);
}

.reveal-left {
    transform: translateX(-60px);
}

.reveal-right {
    transform: translateX(60px);
}

.reveal-scale {
    transform: scale(0.95);
}

/* Kogda element v zone vidimosti */
.reveal.active {
    opacity: 1;
    transform: translate(0, 0) scale(1);
}

/* Neobjazatel'no: nebol'shaja zaderzhka */
.delay-1 {
    transition-delay: 0.15s;
}

.delay-2 {
    transition-delay: 0.3s;
}

.delay-3 {
    transition-delay: 0.45s;
}

/* button top */

.scroll-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 48px;
  height: 48px;
  border: 1px solid #E6E6E6;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
  z-index: 999;
}

.scroll-top:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

.arrow-up {
  width: 10px;
  height: 10px;
  border-left: 2px solid #0aa189;
  border-top: 2px solid #0aa189;
  transform: rotate(45deg);
}

/* Dlja pol'zovatelej s otkljuchennymi animacijami */
@media (prefers-reduced-motion: reduce) {
    .reveal,
    .reveal-up,
    .reveal-left,
    .reveal-right,
    .reveal-scale {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.no-reveal,
.no-reveal * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    will-change: auto !important;
}
