/***** RESET *****/

.ibTitleLeftDescRight.infoblock, .ibImageLeftTextRight.infoblock, .ibTextDesc.infoblock {
    margin-top: 0;
}
.ibTitleLeftDescRight .infoblockText, .ibImageLeftTextRight .infoblockText {
    margin: initial;
}

.ibImageLeftTextRight2 .infoblockText2, .ibImageRightTextLeft2 .infoblockText2, .ibImageLeftTextRight .infoblockText2 {
    display: none;
}
.ibImageLeftTextRight2 .cleaner, .ibImageRightTextLeft2 .cleaner, .ibImageLeftTextRight .cleaner {
    display: none;
}

/*.infoblock, .infoblockText, .infoblockImage, .fullWidth, */

/*************************************************************************************************/

.middle-width {
    max-width: 1140px;
}
.half-width {
    max-width: 640px;
}
.middle-width-text .infoblockText {
    max-width: 1140px;
    margin: auto;
}

.center-text {
    text-align: center;
}

.top-margin {
    margin-top: 3rem;
}
.bottom-margin {
    margin-bottom: 3rem;
}
.block-margin {
    margin-block: 4rem !important;
}
.inline-margin {
    margin-inline: 3rem;
}

.top-padding {
    padding-top: 3rem;
}
.bottom-padding {
    padding-bottom: 3rem;
}
.block-padding {
    padding-block: 4rem !important;
}
.inline-padding {
    padding-inline: 3rem;
}

.no-image .infoblockImage {
    display: none;
}
.no-button .infoblockButton {
    display: none;
}

.orange-title .infoblockTitle {
    color: var(--color-main);
}
.grey-back {
    background-color: #f9f9f9;
}
.orange-back {
    background-color: var(--color-main);
}

.title-center .infoblockTitle {
    text-align: center;
}
.title-bold .infoblockTitle {
    font-weight: bold;
}
.title-large .infoblockTitle {
    font-size: 3.125rem !important;
}
.title-medium .infoblockTitle {
    font-size: 2.25rem !important;
}
.title-small .infoblockTitle {
    font-size: 1.75rem !important;
}

.image-radius img {
    border-radius: 2rem;
}

/*************************************************************************************************/

.ibTitleLeftDescRight .infoblockImage {
	display: none;
}
.ibTitleLeftDescRight .infoblockText {
	display: grid;
    width: 100%;
	grid-template-areas: 'title abstract'
						 'title button';
	gap: 8%;
}
.ibTitleLeftDescRight .infoblockTitle {
	grid-area: title;
	/*font-weight: bold;*/
	color: var(--color-main);
	font-size: 2.25rem;
}
.ibTitleLeftDescRight .infoblockAbstract {
	grid-area: abstract;
}
.ibTitleLeftDescRight .infoblockButton {
	grid-area: button;
}

.ibTitleLeftDescRight .infoblockButton input {
    background-color: #005db9;
    color: #fff;
    border: 2px solid #005db9;
}

/*************************************************************************************************/

.ibTitleLeftDescRight2 .infoblockImage {
	display: none;
}
.ibTitleLeftDescRight2 .infoblockText {
	display: grid;
	grid-template-areas: 'title abstract'
						 'title button';
	gap: 8%;
    grid-template-columns: 30%;
}
.ibTitleLeftDescRight2 .infoblockTitle {
	grid-area: title;
	font-weight: bold;
	color: var(--color-main);
	font-size: 2.25rem;
}
.ibTitleLeftDescRight2 .infoblockAbstract {
	grid-area: abstract;
}
.ibTitleLeftDescRight2 .infoblockButton {
	grid-area: button;
}

/*************************************************************************************************/

.ibImageLeftTextRight {
	display: flex;
	gap: 5%;
	align-items: center;
    flex-direction: row-reverse;
}
.ibImageLeftTextRight .infoblockTitle {
	color: var(--color-main);
	font-size: 2.25rem;
}
.ibImageLeftTextRight .infoblockImage {
	width: 50%;
}
.ibImageLeftTextRight .infoblockImage img {
	width: 100%;
	border-top-right-radius: 2rem;
	border-bottom-right-radius: 2rem;
	
}
.ibImageLeftTextRight .infoblockText {
	width: 50%;
}
.ibImageLeftTextRight .infoblockTitle {
	margin-bottom: 2rem;
}
.ibImageLeftTextRight .infoblockAbstract {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.ibImageLeftTextRight .infoblockAbstract .pictoClick {
	width: 45%;
	display: flex;
	align-items: center;
	gap: 1rem;
	cursor: pointer;
	user-select: none;
	position: relative;
}
.ibImageLeftTextRight .infoblockAbstract .pictoClick span {
	width: 75%;
	font-size: 1.25rem;
	font-weight: bold;
	transition: transform 250ms;
}
.ibImageLeftTextRight .infoblockAbstract .pictoClick span:nth-child(2) {
	transform: scaleY(1);
    position: relative;
}
.ibImageLeftTextRight .infoblockAbstract .pictoClick span:nth-child(3) {
	transform: scaleY(0);
    position: absolute;
	left: calc(25% + 1rem);
}
.ibImageLeftTextRight .infoblockAbstract .pictoClick.showHidden span:nth-child(2) {
	transform: scaleY(0);
}
.ibImageLeftTextRight .infoblockAbstract .pictoClick.showHidden span:nth-child(3) {
	transform: scaleY(1);
}
.ibImageLeftTextRight .infoblockAbstract .pictoClick img {
	width: 25%;
	height: auto;
}

/*************************************************************************************************/

.ibImageLeftTextRight2 {
	display:flex;
	gap: 5%;
	align-items: center;
    justify-content: center;
}
.ibImageLeftTextRight2 .infoblockTitle {
	color: var(--color-main);
	font-size: 2.25rem;
}
.ibImageLeftTextRight2 .infoblockImage {
	width: 50%;
}
.ibImageLeftTextRight2 .infoblockImage img {
	width: 100%;
	border-radius: 2rem;
}
.ibImageLeftTextRight2 .infoblockText {
	width: 50%;
}
.ibImageLeftTextRight2 .infoblockTitle {
	margin-bottom: 2rem;
}
.ibImageLeftTextRight2 .infoblockAbstract {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}

/*************************************************************************************************/

.ibImageRightTextLeft {
	display: flex;
	gap: 5%;
	align-items: center;
}
.ibImageRightTextLeft .infoblockTitle {
	color: var(--color-main);
	font-size: 2.25rem;
}
.ibImageRightTextLeft .infoblockImage {
	width: 50%;
}
.ibImageRightTextLeft .infoblockImage img {
	width: 100%;
	border-top-right-radius: 2rem;
	border-bottom-right-radius: 2rem;
}
.ibImageRightTextLeft .infoblockText {
	width: 50%;
}
.ibImageRightTextLeft .infoblockTitle {
	margin-bottom: 2rem;
}
.ibImageRightTextLeft .infoblockAbstract {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}

/*************************************************************************************************/

.ibImageRightTextLeft2 {
	display: flex;
    flex-direction: row-reverse;
	gap: 5%;
	align-items: center;
    justify-content: center;
}
.ibImageRightTextLeft2 .infoblockTitle {
	color: var(--color-main);
	font-size: 2.25rem;
}
.ibImageRightTextLeft2 .infoblockImage {
	width: 50%;
}
.ibImageRightTextLeft2 .infoblockImage img {
	width: 100%;
	border-radius: 2rem;
}
.ibImageRightTextLeft2 .infoblockText {
	width: 50%;
}
.ibImageRightTextLeft2 .infoblockTitle {
	margin-bottom: 2rem;
}
.ibImageRightTextLeft2 .infoblockAbstract {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}

/*************************************************************************************************/

.ibTextDesc .infoblockTitle {
    font-size: 2.25rem;
    /*font-weight: bold;*/
    color: var(--color-main);
}
.ibTextDesc .infoblockButton input {
    background-color: #005db9;
    color: #fff;
    border: 2px solid #005db9;
}

/*************************************************************************************************/

.ib2ColumnsCards .infoblockAbstract {
    display: grid;
    gap: 3rem;
    grid-template-columns: 1fr 1fr;
}
.ib2ColumnsCards .infoblockAbstract > div {
    display: flex;
    box-shadow: 0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);
    overflow: hidden;
    border-radius: 1.5rem;
}
.ib2ColumnsCards .infoblockAbstract > div > div {
    width: 35%;
    overflow: hidden;
}
.ib2ColumnsCards .infoblockAbstract > div > div > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ib2ColumnsCards .infoblockAbstract > div > a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1rem 2rem 2rem 2rem;
    flex: 1;
    transition: all 500ms;
}
.ib2ColumnsCards .infoblockAbstract > div > a:hover {
    background-color: var(--color-main);
    color: #fff;
}
.ib2ColumnsCards .infoblockAbstract > div > a:hover h3 {
    color: #fff;
}
.ib2ColumnsCards .infoblockAbstract div h3 {
    color: #333;
    font-size: 2.25rem;
    font-weight: normal;
    transition: all 500ms;
}
.ib2ColumnsCards .infoblockAbstract > div > a p {
    letter-spacing: 0.25rem;
    position: relative;
    display: inline-block;
    width: fit-content;
    padding-right: 1.75rem;
    transition: all 500ms;
}
.ib2ColumnsCards .infoblockAbstract > div > a p::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 1.25rem;
    height: 1.25rem;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml,<svg fill="%23e70" stroke="%23e70" stroke-linejoin="round" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m14.523 18.787s4.501-4.505 6.255-6.26c.146-.146.219-.338.219-.53s-.073-.383-.219-.53c-1.753-1.754-6.255-6.258-6.255-6.258-.144-.145-.334-.217-.524-.217-.193 0-.385.074-.532.221-.293.292-.295.766-.004 1.056l4.978 4.978h-14.692c-.414 0-.75.336-.75.75s.336.75.75.75h14.692l-4.979 4.979c-.289.289-.286.762.006 1.054.148.148.341.222.533.222.19 0 .378-.072.522-.215z" fill-rule="nonzero"></path></svg>');
}
.ib2ColumnsCards .infoblockAbstract > div > a:hover p::after {
    background-image: url('data:image/svg+xml,<svg fill="%23e70" stroke="%23fff" stroke-linejoin="round" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m14.523 18.787s4.501-4.505 6.255-6.26c.146-.146.219-.338.219-.53s-.073-.383-.219-.53c-1.753-1.754-6.255-6.258-6.255-6.258-.144-.145-.334-.217-.524-.217-.193 0-.385.074-.532.221-.293.292-.295.766-.004 1.056l4.978 4.978h-14.692c-.414 0-.75.336-.75.75s.336.75.75.75h14.692l-4.979 4.979c-.289.289-.286.762.006 1.054.148.148.341.222.533.222.19 0 .378-.072.522-.215z" fill-rule="nonzero"></path></svg>');
}

/*************************************************************************************************/

.ibHlistItems {
    width: 100%;
    background-color: var(--color-main);
}
.ibHlistItems .infoblockText {
    max-width: 1140px;
    margin: auto;
}
.ibHlistItems .infoblockTitle {
    color: #fff;
    text-align: center;
    font-size: 2.25rem;
    font-weight: bold;
}
.ibHlistItems .infoblockAbstract {
    display: flex;
    gap: 5%;
    color: #fff;
}
.ibHlistItems .infoblockAbstract div {
    width: 16%;
    text-align: center;
}
.ibHlistItems .infoblockAbstract div h3 {
    color: #fff;
    font-size: 2.25rem;
}

/*************************************************************************************************/

.ibTitleText .infoblockTitle {
    font-size: 2.25rem;
    /*font-weight: bold;*/
}

/*************************************************************************************************/

.ibTitleText2 {

}

/*************************************************************************************************/

.ibSlider2 {
    position: relative;
}
.ibSlider2 .hfslider-wrapper {
    height: 320px;
}
.ibSlider2 .hfslider-item {
    position: absolute;
}
.ibSlider2 .hfslider-item h3 {
    color: #343434;
    padding-top: 0;
    text-align: center;
    font-size: 1.5rem;
    font-weight: normal;
}
.ibSlider2 .hfslider-item.animated
{
    transition: all 200ms ease;
}
.ibSlider2 .hfslider-item img {
    width: 100%;
    border-radius: 1rem;
}

.ibCenterImageTitleText {
    text-align: center;
}
.ibCenterImageTitleText .infoblockImage {
    margin-bottom: 32px;
}
.ibCenterImageTitleText .infoblockImage img {
    max-width: 100%;
}
.ibCenterImageTitleText .infoblockTitle {
    font-size: 2.25rem;
    font-weight: normal;
}

/*************************************************************************************************/

.ibDescLeftButtonRight .infoblockText {
    display: grid;
    width: 100%;
	grid-template-areas: 'abstract button';
	gap: 8%;
}
.ibDescLeftButtonRight .infoblockAbstract {
	grid-area: abstract;
    color: #fff
}
.ibDescLeftButtonRight .infoblockButton {
	grid-area: button;
}
.ibDescLeftButtonRight .infoblockButton a {
    background-color: #fff;
    color: var(--color-main);
}
.ibDescLeftButtonRight .infoblockButton input {
    background-color: #fff;
    color: #005db9;
    border: 2px solid #005db9;
}

/*************************************************************************************************/

.ibDescLeftButtonRight2 .infoblockText {
    display: grid;
    width: 100%;
	grid-template-areas: 'title button'
                         'abstract button';
	gap: 8%;
}
.ibDescLeftButtonRight2 .infoblockTitle {
    color: var(--color-main);
    /*font-weight: bold;*/
    font-size: 2.25rem;
}
.ibDescLeftButtonRight2 .infoblockAbstract {
	grid-area: abstract;
}
.ibDescLeftButtonRight2 .infoblockButton {
	grid-area: button;
}
.ibDescLeftButtonRight2 .infoblockButton a {
    color: #fff;
    border: 2px solid var(--color-main);
    border-radius: 2rem;
    background-color: var(--color-main);
}
.ibDescLeftButtonRight2 .infoblockButton input {
    background-color: #005db9;
    color: #fff;
    border: 2px solid #005db9;
}

/*************************************************************************************************/

.ib3ColumnsCards .infoblockTitle {
    font-size: 2.25rem;
    /*font-weight: bold;*/
    text-align: center;
    margin-bottom: 1rem;
}

.ib3ColumnsCards .infoblockAbstract > span {
    display: grid;
    gap: 4rem;
    grid-template-columns: 1fr 1fr 1fr;
}
.ib3ColumnsCards .infoblockAbstract > span > div {
    display: flex;
    flex-direction: column;
}
.ib3ColumnsCards .infoblockAbstract > span > div img {
    width: 100%;
}
.ib3ColumnsCards .infoblockAbstract > span div h3 {
    text-align: center;
    color: #333;
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 1rem;
}
.ib3ColumnsCards .infoblockAbstract > span div p {
    text-align: center;
}

/*************************************************************************************************/

.ibTwoBlocks .infoblockTitle {
    margin-bottom: 2rem;
    font-weight: normal;
}
.ibTwoBlocks .infoblockAbstract > span {
    display: flex;
    max-width: 1200px;
    margin: auto;
    gap: 5rem;
}
.ibTwoBlocks .infoblockAbstract > span div {
    display: flex;
    flex: 1;
    gap: 3rem;
}
.ibTwoBlocks .infoblockAbstract img {
    border-radius: 2rem;
	height: 100%;
}