.btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-radius: 25px;
    letter-spacing: 0.02em;
    text-transform: uppercase;  
    transition: all 0.2s;
    padding: 10px 24px;
}

.btn-transparent {
    gap: 12px;
    /* width: 242px;
    height: 44px; */
    border: 2px solid #582C83;
    border-radius: 25px;
    color: #582C83;
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
    transition: all 0.2s;
}

.btn-transparent:hover {
    background: #CBBED9;
    border: 2px solid #582C83;
    transition: all 0.2s;
    color: #582C83;
}

.btn-transparent-purple-hover {
    gap: 12px;
    border: 2px solid #582C83;
    border-radius: 25px;
    color: #582C83;
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
    transition: all 0.2s;
}

.btn-purple-outline {
    background: #582C83;
    border: 2px solid #582C83;
    transition: all 0.2s;
    color: #ffffff;
    gap: 12px;
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
    transition: all 0.2s;
}

.btn-purple-outline span .hover-purple-color {
    fill: #ffffff;
    transition: all 0.2s;
}

.btn-purple-outline:hover {
    gap: 12px;
    border: 2px solid #582C83;
    border-radius: 25px;
    color: #582C83;
    background: none;
}

.btn-purple-outline:hover span .hover-purple-color {
    fill: #582C83;
    transition: all 0.2s;
}

.btn-transparent-purple-hover:hover {
    background: #582C83;
    border: 2px solid #582C83;
    transition: all 0.2s;
    color: #ffffff;
}

.btn-transparent-purple-hover:hover span .hover-white-color {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(352deg) brightness(107%) contrast(102%);
    transition: all 0.2s;
}

.btn-cyan {
    gap: 12px;
    width: auto;
    height: 44px;
    background-color: #AADEEB;
    border-radius: 25px;
    color: #201547;
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
    transition: all 0.2s;
}

.btn-cyan:hover {
    background: #BBE5EF;
    transition: all 0.2s;
    color: #201547;
}

.btn-cyan-outline {
    gap: 12px;
    width: auto;
    height: 44px;
    background-color: #AADEEB;
    border-radius: 25px;
    color: #201547;
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
    transition: all 0.2s;
}

.btn-cyan-outline:hover {
    /* background: #BBE5EF; */
    background: none;;
    border: 2px solid #BBE5EF;
    transition: all 0.2s;
    color: #BBE5EF;
}

.btn-cyan-outline:hover span path.hover-cyan-color {
    fill: #BBE5EF;
    /* filter: invert(94%) sepia(4%) saturate(2756%) hue-rotate(161deg) brightness(96%) contrast(96%); */
    transition: all 0.2s;
}

.btn-purple {
    gap: 12px;
    width: auto;
    height: 40px;
    background: rgba(88, 44, 131, 1);
    color: rgba(255, 255, 255, 1);
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
}

.btn-purple-cta-block {
    gap: 12px;
    width: auto;
    background: rgba(88, 44, 131, 1);
    color: rgba(255, 255, 255, 1);
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
}

/* before bugherd */
/* .btn-purple:hover {
    background: rgba(62, 31, 93, 1);
    color: rgba(255, 255, 255, 1);
    transition: all 0.2s;
} */

.btn-purple:hover {
    background: rgba(170, 222, 235, 1);
    color: rgba(255, 255, 255, 1);
    /* color: rgba(32, 21, 71, 1); */
    transition: all 0.2s;
}

.btn-purple-cta-block:hover {
    background: rgba(170, 222, 235, 1);
    color: rgba(255, 255, 255, 1);
    /* color: rgba(32, 21, 71, 1); */
    transition: all 0.2s;
}

.btn-white {
    gap: 12px;
    width: auto;
    height: 40px;
    background: rgba(255, 255, 255, 1);
    color: rgba(32, 21, 71, 1);
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
}

.btn-white:hover {
    background: rgba(170, 222, 235, 1);
    color: rgba(32, 21, 71, 1);
    transition: all 0.2s;
}

.search input[type="text"] {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    gap: 13px;
    width: 200px;
    height: 40px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid #201547;
    color: #201547;
    border-radius: 25px;
    font-family: 'Work Sans';
    font-style: italic;
    font-weight: 500;
    font-size: 17px;
    line-height: 22px;
    transition: all 0.2s;
}

.search input[type="text"]::placeholder  {
    color: #201547;
    transition: all 0.2s;
}

.search .search-bar-icon {
    margin: -3px 0px 0px -33px;
    /* min-width: 12px; */
}

.bg-mainnav-purple .search .search-bar-icon svg,
.bg-transparent .search .search-bar-icon svg {
    fill: #ffffff;
    width: 16px;
    height: 100%;
    display: block;
}

.bg-transparent .main-navigation .search-menu .search input[type="text"],
.bg-transparent .main-navigation .search-menu .search input[type="search"] {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    gap: 13px;
    width: 200px;
    height: 40px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid #FFFFFF;
    color: #FFFFFF;
    border-radius: 25px;
    font-family: 'Work Sans';
    font-style: italic;
    font-weight: 500;
    font-size: 17px;
    line-height: 22px;
    transition: all 0.2s;
}

.bg-white .search .search-bar-icon svg {
    fill: #201547;
    width: 16px;
    height: 100%;
    display: block;
}

.bg-transparent .main-navigation .search-menu .search input[type="text"]::placeholder {
    color: #FFFFFF;
    transition: all 0.2s;
}

.bg-mainnav-purple .main-navigation .search-menu .search input[type="text"] {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    gap: 13px;
    width: 200px;
    height: 40px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid #FFFFFF;
    color: #FFFFFF;
    border-radius: 25px;
    font-family: 'Work Sans';
    font-style: italic;
    font-weight: 500;
    font-size: 17px;
    line-height: 22px;
}

.bg-mainnav-purple .main-navigation .search-menu .search input[type="text"]::placeholder {
    color: #FFFFFF;
}

.testimonial-slider-nav .slick-prev::before,
.testimonial-slider-nav .slick-next::before,
.tab-slider-nav .slick-prev::before,
.tab-slider-nav .slick-next::before {
    content: '';
}

.testimonial-slider-nav .slick-prev {
    background: url('../images/slider-right-arrow-purple.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
    position: absolute;
    width: 40px;
    height: 40px;
}

.testimonial-slider-nav .slick-prev:before {
    position: relative;
    display: none;
}

.testimonial-slider-nav .slick-next {
    background: url('../images/slider-left-arrow-purple.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    position: absolute;
    width: 40px;
    height: 40px;
}

.testimonial-slider-nav .slick-next:before {
    position: relative;
    display: none;
}

.tab-slider-nav .slick-prev {
    background: url('../images/slider-right-arrow-purple.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
    position: absolute;
    width: 40px;
    height: 40px;
}

.tab-slider-nav .slick-prev:before {
    position: relative;
    display: none;
}

.tab-slider-nav .slick-next {
    background: url('../images/slider-left-arrow-purple.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    position: absolute;
    width: 40px;
    height: 40px;
}

.tab-slider-nav .slick-next:before {
    position: relative;
    display: none;
}

.number-slider .slick-prev:before,
.number-slider .slick-next:before,
.mobile-slider-arrows .slick-prev:before,
.mobile-slider-arrows .slick-next:before {
    content: '';
}

.number-slider .slick-prev {
    background: url('../images/slider-right-arrow-white.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
    position: absolute;
    width: 40px;
    height: 40px;
    left: 125px;
    z-index: 2;
}

.number-slider .slick-next {
    background: url('../images/slider-left-arrow-white.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    position: absolute;
    width: 40px;
    height: 40px;
    right: 125px;
    z-index: 2;
}

.mobile-slider-arrows .slick-prev {
    background: url('../images/slider-right-arrow-white.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
    position: relative;
    margin: 0px -14px 0px 0px;
    width: 40px;
    height: 40px;
    z-index: 2;
}

.mobile-slider-arrows .slick-next {
    background: url('../images/slider-left-arrow-white.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    position: relative;
    margin: 0px 0px 0px -14px;
    width: 40px;
    height: 40px;
    z-index: 2;
}

.numbers-slider-module .slider-holder .slick-dots {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 0px 0px 100px 0px;
    list-style: none;
}

.numbers-slider-module .slider-holder .slick-dots li {
    display: flex;
    width: 30px;
    height: 30px;
    list-style: none;
}

.numbers-slider-module .slider-holder .slick-dots li button {
    content: '';
    background: url('../images/slider-diamond.svg');
    background-repeat: no-repeat;
    /* background-size: 100%;
    background-position: center center; */
    width: 30px;
    height: 30px;
    z-index: 2;
    transition: ease 0.2s;
    display: flex;
}

.numbers-slider-module .slider-holder .slick-dots li button:before {
    content: '';
    display: none;
    /* width: 30px;
    height: 30px;
    display: flex; */
}

.numbers-slider-module .slider-holder .slick-dots li.slick-active button,
.numbers-slider-module .slider-holder .slick-dots li:hover button {
    content: '';
    background: url('../images/slider-diamond-active.svg');
    background-repeat: no-repeat;
    /* background-size: 100%;
    background-position: center center; */
    width: 30px;
    height: 30px;
    z-index: 2;
    transition: ease 0.2s;
    display: flex;
}

.read-more-button-module-control {
    display: flex;
    font-family: 'Work Sans';
    font-style: normal;
    line-height: 100%;
    display: flex;
    align-items: baseline;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;
}

.read-more-button-module-control .button {
    display: flex;
    height: 26px;
}

.read-more-button-module-control .button .text {
    display: flex;
    font-weight: 600;
    font-size: 18px;
}

.read-more-button-module-control .button .sign {
    display: flex;
    font-weight: 400;
    font-size: 26px;
    margin: 0px 0px 0px 10px;
    transition: margin 0.2s linear;
}

/* button accordion module */
.button-accordion-module-control {
    display: flex;
    font-family: 'Work Sans';
    font-style: normal;
    line-height: 100%;
    display: flex;
    align-items: baseline;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;
}

.button-accordion-module-control .button {
    display: flex;
    width: 100%;
}

.button-accordion-module-control .button .text {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 100%;
    display: flex;
    align-items: center;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #582C83;
    width: 80%;
    padding-bottom: 10px;
}

.button-accordion-module-control .button .image-sign {
    display: flex;
    width: 20%;
    padding-bottom: 10px;
}

.button-accordion-module-control .button .image-sign img {
    width: 34px;
    transition: margin 0.2s linear;
    margin: 0px 0px 0px 10px;
}


/* cyan theme */
.button-theme-cyan {
    color: #AADEEB;
}

.button-theme-cyan .button {
    background-size: 0% 2px;
    transition: background-size 0.2s;
}

.button-theme-cyan:hover .button {
    /* background-image: linear-gradient(#79569C 0 0); */
    background-image: linear-gradient(#AADEEB 0 0);
    background-position: left bottom;
    background-size: 100% 2px;
    background-repeat: no-repeat;
    transition: background-size 0.2s;
}

.button-theme-cyan:hover .button .text {
    /* color: #79569C; */
    color: #AADEEB;
}

.button-theme-cyan:hover .button .sign {
    color: #AADEEB;
    margin: 0px 0px 0px 20px;
    transition: margin 0.2s linear;
}

/* purple theme */
.button-theme-purple {
    color: #582C83;
}

.button-theme-purple .button {
    background-size: 0% 2px;
    transition: background-size 0.2s;
}

.button-theme-purple:hover .button {
    background-image: linear-gradient(#79569C 0 0);
    background-position: left bottom;
    background-size: 100% 2px;
    background-repeat: no-repeat;
    transition: background-size 0.2s;
}

.button-theme-purple:hover .button .text {
    color: #79569C;
}

.button-theme-purple:hover .button .sign {
    color: #582C83;
    margin: 0px 0px 0px 20px;
    transition: margin 0.2s linear;
}

/* accordion button purple theme */
.accordion-button-theme-purple {
    color: #582C83;
}

.accordion-button-theme-purple .button {
    background-size: 0% 2px;
    transition: background-size 0.2s;
}

.accordion-button-theme-purple:hover .button {
    background-image: linear-gradient(#582C83 0 0);
    background-position: left bottom;
    background-size: 93% 2px;
    background-repeat: no-repeat;
    transition: background-size 0.2s;
}

.accordion-button-theme-purple:hover .button .text {
    color: #582C83;
}

.accordion-button-theme-purple:hover .button .image-sign {
    color: #582C83;
}

.accordion-button-theme-purple:hover .button .image-sign img {
    margin: 0px 0px 0px 50px;
    transition: margin 0.2s linear;
}

/* main navigation */
.main-nav-menu-item {
    display: flex;
    font-family: 'Work Sans';
    font-style: normal;
    line-height: 100%;
    display: flex;
    align-items: baseline;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;
}

.main-nav-menu-item .button {
    display: flex;
    height: 68px;
}

.main-nav-menu-item .button .text {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 600;
    font-size: 36px;
    line-height: 130%;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    color: #FFFFFF;
    text-decoration: none;
}

.main-nav-menu-item .button .arrow {
    display: flex;
    margin: 0px 0px 0px 10px;
    transition: margin 0.2s linear;
}

.main-nav-menu-item .button .arrow img {
    width: 28px;
}

.button-theme-white .button {
    background-size: 0% 3px;
    transition: background-size 0.2s;
}

.button-theme-white:hover .button {
    background-image: linear-gradient(#FFFFFF 0 0);
    background-position: left bottom;
    background-size: 100% 3px;
    background-repeat: no-repeat;
    transition: background-size 0.2s;
}

.button-theme-white:hover .button .arrow {
    margin: 0px 0px 0px 24px;
    transition: margin 0.2s linear;
}

.menu-block-small .main-nav-menu-item .button {
    display: flex;
    height: 50px;
}

.menu-block-small .main-nav-menu-item .button .text {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 32px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    color: #FFFFFF;
    text-decoration: none;
}

.accordion-block .accordion .accordion-item .accordion-body .officers .person .info .contact-info a {
    color: #582C83;
}

.accordion-block .accordion .accordion-item .accordion-body .officers .person .info .contact-info a .button {
    background-size: 0% 2px;
    transition: background-size 0.2s;
    display: flex;
    height: 26px;
}

.accordion-block .accordion .accordion-item .accordion-body .officers .person .info .contact-info a:hover .button {
    background-image: linear-gradient(#79569C 0 0);
    background-position: left bottom;
    background-size: 100% 2px;
    background-repeat: no-repeat;
    transition: background-size 0.2s;
}

.accordion-block .accordion .accordion-item .accordion-body .officers .person .info .contact-info a:hover .button .text {
    color: #79569C;
}

.accordion-block .accordion .accordion-item .accordion-body .officers .person .info .contact-info a .button .sign {
    transition: margin 0.2s linear;
}

.accordion-block .accordion .accordion-item .accordion-body .officers .person .info .contact-info a:hover .button .sign {
    color: #582C83;
    margin: 0px 0px 0px 14px;
    transition: margin 0.2s linear;
}

.menu-block-small .main-nav-menu-item .button .arrow img {
    width: 22px;
}

.menu-block-small .button-theme-white:hover .button .arrow {
    margin: 0px 0px 0px 20px;
    transition: margin 0.2s linear;
}

.menu-block-small .button-theme-white .button {
    background-size: 0% 2px;
    transition: background-size 0.2s;
}

.menu-block-small .button-theme-white:hover .button {
    background-image: linear-gradient(#FFFFFF 0 0);
    background-position: left bottom;
    background-size: 100% 2px;
    background-repeat: no-repeat;
    transition: background-size 0.2s;
}

.main-nav-mobile-input-control .search {
    display: flex;
    width: 100%;
}

.main-nav-mobile-input-control .search input[type="text"] {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    gap: 13px;
    width: 100%;
    height: 40px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid #201547;
    color: #201547;
    border-radius: 25px;
    font-family: 'Work Sans';
    font-style: italic;
    font-weight: 500;
    font-size: 17px;
    line-height: 22px;
    border: 2px solid #ffffff;
}

.main-nav-mobile-input-control .search input[type="text"]::placeholder {
    color: #ffffff;
}

/* footer */

.footer-menu-item {
    display: flex;
    font-family: 'Work Sans';
    font-style: normal;
    line-height: 100%;
    display: flex;
    align-items: baseline;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;
}

.footer-menu-item .button {
    display: flex;
    height: 54px;
}

.footer-menu-item .button .text {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 125%;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    color: #FFFFFF;
    text-decoration: none;
}

.footer-menu-item .button .arrow {
    display: flex;
    margin: 0px 0px 0px 10px;
    transition: margin 0.2s linear;
}

.footer-menu-item .button .arrow img {
    width: 25px;
}

.button-theme-white-small .button {
    background-size: 0% 2px;
    transition: background-size 0.2s;
}

.button-theme-white-small:hover .button {
    background-image: linear-gradient(#FFFFFF 0 0);
    background-position: left bottom;
    background-size: 100% 3px;
    background-repeat: no-repeat;
    transition: background-size 0.2s;
}

.button-theme-white-small:hover .button .arrow {
    margin: 0px 0px 0px 24px;
    transition: margin 0.2s linear;
}