@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(data:font/woff2;base64,d09GMgABAAAAAAi8AAsAAAAAEQQAAAhuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHCoGVgCBcAqbBJYhATYCJANwCzoABCAFBgcgG6ANUZRvUgHgR0J2GnlvtXsNrsTI5MPTNt8/IuVAz6GN1RhRi4pjja6KW1aCq8pjVX+a7l+oB16q4aUmPpmRpOYZu3WG6d/BXSfkq0r8H639vu7iScQrIXoilrm5JzuY+fEQTdDwRic0komnQNT2o+oIZ4OZIYHz9uXXgQBQIxThYIpKajaErnu7Pj3hASkAUIpbXUK+kmmQOWlzCI9FlT7cv8ETo6ZnIJPgePi6fHFH5InSLyeIgzoQS86jBACBIIa5hDgrgpCFFPfTzDB5b6MXZaJCdBHdRaNoFjPEZmKl2FccIM4Wt4lnnDKnwqlzpjmLnE2dI5wHvpygFBClpUKuNUw12H8Heg5g/7Bf2OvsLfYQu5Cdw05nh7Gt2QzdP91vVqm7LBe26yYC2logMAM6dOC6hQEWHpDDCzJ4sr5PZBqZSJfzL2ntW4oatAlKLiEpEUP4QhQJKUp+RUKSc1MJ2Sza7HSd6yjhEgnnBb1dm5zNzt5t/sGDmznXdw64GeI8vMe9Fzbsvewg57CbjELD/VNWkiAyFCc086gSkY5Lngx2ywD6OB9daSHkBiWEAmA6wPLiVaz0qyyHq3kFxvus4SDLyJ5XoLx+XIzWsroxOdFwls2Keb4g52J0Nn0aITG5/TQSiuzQGuNSALYDCGWen6yA0HXPgJCfbGL9Xdb8qL31hQQV5bxCdmX69xRyBRJJI3qiCax0KNH3BsrvsF97DsTyMl9ZkUtLbHExDLT0T1meDCOj3U4jPKrYx7gqNy4IA+x4GgnokY4UYZF6jlgJANFFMxj7UZQTrLSQJDiJd7f1IeQWY6kBnmvtnVYqSYDzJidST6d6SmN5q+TUGC6S8VdnTtydZvsfbUsTeSdKWZms4OVhwDTG0sKIG4SE+ii7WKfo5j3vQwOmFYqjD3uPqrQokC0g5WfECdFrAjpPl8DV1MbE5cuLx4+ffJeXLi6dCAazUMXK8k/AFELCrKIe0mKQI28EKVEYjgjnqEqRE1q+cQLjzcfBchfLs8SAtpKkDxgzQKEKGlc/XPaqzocrVw+w3NOpdIv1L3t4t+hkXTGpt64mr2sXH70xpp+1A62xjFbkZMLN6oj3GVT8pJKsJPZzqeXKc0NxvPB9Qk1uaOtn+BbLMiB46rBX6JWCCV6W+9Yv8Ssg7x6nC5UeI5HFytKB0PlUF8ldWYEwI+QJEdmJfDmiDWu9buuqnRV0w7vqqhdTqlLTtszYtKJbfqBLMrbj2Ix0SxGa4sKfYXp3gQxejnoARnnndlpY2ZXByK5FVmfw6m+7Eu46CZHdeIFiAhh3Eb2TPXcJvROa3WgvkZwZ4P3TYrKX9U0FqFFcRb48/HC3JSmu+P81JeWPx//W9PWmdhHPwKPqcIDQKKzrTGzmMsU4RbhW26OSLwUVoHEm7iC3jJFna7qtVQU7jK1ota0pojt2ZcB3a4H1e8GrQDycWCbPjS9slso+OmhY0Gi7KkveWdZE0lHK1fc1ezhTXAJdTDoJJu90KU4Ps299TtpR0kTWuZOhpsDadELNePhbdQYfXkvPao5WcumMjKs8qmH16N4M2Kxcs5qvxhda3PtbrZ8+9Xe3FN5mDw2xVANNLawsKKgco8CMGePNvuvl2DEWjie8W7+OnUQDnuvr7Oc2K1AoBHsxIb0x+hPIqn5cP9ZCuRcLqqrMOnwj3swvEBJRIwjwIVnqm0vVqkluoXydjJeZ9QNM+JegCtodNB10aUmf1KLW6SG++RuH9bo2LihdFj39/MzAtJDodQfzoEhX2OrOcX3sOqeu7dPSqWr11Ihytw2hsiJnlWKstFohdZic5TWAze5dlMKrTW8XZzeeUWqMoUaN8owRUEZd0aZ1Vj9Qm3SrzmnaK3hlv/yaneP37buonVsnde8iVn5Yjece4IKwplCT7z4+MXH8G7zV1rwx1tDXPOQ4Od9rvuPUQQYIipuMmVpH3UfGyyp0VJlNffBWU+WJB+cnKBOMOokNUhoUTfxSml69vGn53cCz/y4HqoKmBKkT3jrS8EhqJF8FW40NjrdV2ynsOkCzWfYGWgxIzNNqzBoQr46NybPHx5f+7CCakhKbNEnsrMAsTTKJHX4GdAvadPHSfgr4WCD/a/B+jcVY+SM0zhqW03D7+uYtNmhKPre3xvWyGY0W5R3lsG45nbOzO+d0G6ZcvOo/YWa3dtwzVHdZN3TP1q57fPDDXpik9q4otg93bKkT5JEQETgt6POYO66GozrN2IYq/eQFrl7S6duGKPsW3lq6Mdjk49c88McGUB+XlgrcQU7PUTfPq5GXUv1AbdbvRRlVHhlZHiVyB5Ny1sRHW17dukLd2nkrZbzsUtKTYjg+yeTpheNJLzNqOXra5aZ7tYP6Fw8IrgVmc97I6VzVM8W4LrzHdO/jfVePKJS5q/se90aAc8cpnlVlQNa8LSwWXLjg3rDrcm/N3k6CLjVpvJd3hWfcYIfRbHB5FfEToXXEKxeD2bhjZJdPhJfcTmHV58vGym5K50r1BZw1NCs+2zt0GOc1vtE8r3EOXq3mNRrfV2QBPLIHLfcq8VpeYq05xN8QVzPOEHwtOziSO8i11b9fZHD2NVioXaQUIHkkHADwmrSj/ynDEAEAGBAbQE+Tn2TfuxlADpJiTCqz2iOGkGX0n4MpJMcAVuAPcVBKD8WUVfT3Y0ZOVh2B0/LJshwLOxHEf5rKgBxtg59i+6VcfcIf03LOOMxE1w0xAiYJd9KOVNBYB5HlVSCAnvflbvPUNmzWN6WGAVfd2piSD3th+vUAM56cB6BECpaS/8FIAyNksG+at1ZE+KRm5FHaCH7DoU3of1OgZwzy+T/0iWr6jUXQvMGEsohH5dXD2uKcyb3w8sF3mIYlEM5ySBC2DAAAAA==) format("woff2")}
@font-face{font-display:swap;font-family: Ubuntu; font-style: italic; font-weight: 400;  src:url("../fonts/bc53ecb709ff605b.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116}
@font-face{font-display:swap;font-family: Ubuntu; font-style: italic; font-weight: 400;  src:url("../fonts/1dcce4da73c22ee2.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-display:swap;font-family: Ubuntu; font-style: normal; font-weight: 300;  src:url("../fonts/737d2b0c499ab179.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116}
@font-face{font-display:swap;font-family: Ubuntu; font-style: normal; font-weight: 300;  src:url("../fonts/5500db0c53b58932.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-display:swap;font-family: Ubuntu; font-style: normal; font-weight: 400;  src:url("../fonts/e5df0005c0aa170e.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116}
@font-face{font-display:swap;font-family: Ubuntu; font-style: normal; font-weight: 400;  src:url("../fonts/814cf3dbea771efa.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-display:swap;font-family: Ubuntu; font-style: normal; font-weight: 500;  src:url("../fonts/588dfa0223514523.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116}
@font-face{font-display:swap;font-family: Ubuntu; font-style: normal; font-weight: 500;  src:url("../fonts/28fcde6a05993687.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-display:swap;font-family: Ubuntu; font-style: normal; font-weight: 700;  src:url("../fonts/25a04c740b0abca0.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116}
@font-face{font-display:swap;font-family: Ubuntu; font-style: normal; font-weight: 700;  src:url("../fonts/07e1d7b8b873cac0.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
html{ box-sizing: border-box; }
*, ::after, ::before{ box-sizing: inherit; }
.container{ width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
@media (min-width: 576px){.container{ max-width: 540px; }}
@media (min-width: 768px){.container{ max-width: 720px; }}
@media (min-width: 992px){.container{ max-width: 960px; }}
@media (min-width: 1200px){.container{ max-width: 1140px; }}
@media (min-width: 576px){.container{ max-width: 540px; }}
@media (min-width: 768px){.container{ max-width: 720px; }}
@media (min-width: 992px){.container{ max-width: 960px; }}
@media (min-width: 1200px){.container{ max-width: 1140px; }}
.row{ display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.no-gutters{ margin-right: 0px; margin-left: 0px; }
.no-gutters > [class*="col-"]{ padding-right: 0px; padding-left: 0px; }
.col-12, .col-6, .col-lg-4, .col-lg-5, .col-lg-7, .col-md-12, .col-md-3, .col-md-4, .col-md-6{ position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
.col-6{ flex: 0 0 50%; max-width: 50%; }
.col-12{ flex: 0 0 100%; max-width: 100%; }
@media (min-width: 768px){.col-md-3{ flex: 0 0 25%; max-width: 25%; }
.col-md-4{ flex: 0 0 33.3333%; max-width: 33.3333%; }
.col-md-6{ flex: 0 0 50%; max-width: 50%; }
.col-md-12{ flex: 0 0 100%; max-width: 100%; }
.order-md-1{ order: 1; }
.order-md-2{ order: 2; }
.order-md-3{ order: 3; }}
@media (min-width: 992px){.col-lg-4{ flex: 0 0 33.3333%; max-width: 33.3333%; }
.col-lg-5{ flex: 0 0 41.6667%; max-width: 41.6667%; }
.col-lg-7{ flex: 0 0 58.3333%; max-width: 58.3333%; }
.order-lg-1{ order: 1; }
.order-lg-2{ order: 2; }
.order-lg-3{ order: 3; }}
.d-none{ display: none !important; }
.d-block{ display: block !important; }
.d-flex{ display: flex !important; }
@media (min-width: 768px){.d-md-none{ display: none !important; }
.d-md-inline{ display: inline !important; }
.d-md-inline-block{ display: inline-block !important; }
.d-md-block{ display: block !important; }}
@media (min-width: 1200px){.d-xl-none{ display: none !important; }
.d-xl-inline{ display: inline !important; }}
.justify-content-end{ justify-content: flex-end !important; }
.justify-content-between{ justify-content: space-between !important; }
.m-n1{ margin: -0.25rem !important; }
.mt-n1, .my-n1{ margin-top: -0.25rem !important; }
.mr-n1, .mx-n1{ margin-right: -0.25rem !important; }
.mb-n1, .my-n1{ margin-bottom: -0.25rem !important; }
.ml-n1, .mx-n1{ margin-left: -0.25rem !important; }
.m-n2{ margin: -0.5rem !important; }
.mt-n2, .my-n2{ margin-top: -0.5rem !important; }
.mr-n2, .mx-n2{ margin-right: -0.5rem !important; }
.mb-n2, .my-n2{ margin-bottom: -0.5rem !important; }
.ml-n2, .mx-n2{ margin-left: -0.5rem !important; }
.m-n3{ margin: -1rem !important; }
.mt-n3, .my-n3{ margin-top: -1rem !important; }
.mr-n3, .mx-n3{ margin-right: -1rem !important; }
.mb-n3, .my-n3{ margin-bottom: -1rem !important; }
.ml-n3, .mx-n3{ margin-left: -1rem !important; }
.m-n4{ margin: -1.5rem !important; }
.mt-n4, .my-n4{ margin-top: -1.5rem !important; }
.mr-n4, .mx-n4{ margin-right: -1.5rem !important; }
.mb-n4, .my-n4{ margin-bottom: -1.5rem !important; }
.ml-n4, .mx-n4{ margin-left: -1.5rem !important; }
.m-n5{ margin: -3rem !important; }
.mt-n5, .my-n5{ margin-top: -3rem !important; }
.mr-n5, .mx-n5{ margin-right: -3rem !important; }
.mb-n5, .my-n5{ margin-bottom: -3rem !important; }
.ml-n5, .mx-n5{ margin-left: -3rem !important; }
.m-auto{ margin: auto !important; }
.mt-auto, .my-auto{ margin-top: auto !important; }
.mr-auto, .mx-auto{ margin-right: auto !important; }
.mb-auto, .my-auto{ margin-bottom: auto !important; }
.ml-auto, .mx-auto{ margin-left: auto !important; }
@media (min-width: 576px){.m-sm-0{ margin: 0px !important; }
.mt-sm-0, .my-sm-0{ margin-top: 0px !important; }
.mr-sm-0, .mx-sm-0{ margin-right: 0px !important; }
.mb-sm-0, .my-sm-0{ margin-bottom: 0px !important; }
.ml-sm-0, .mx-sm-0{ margin-left: 0px !important; }
.m-sm-1{ margin: 0.25rem !important; }
.mt-sm-1, .my-sm-1{ margin-top: 0.25rem !important; }
.mr-sm-1, .mx-sm-1{ margin-right: 0.25rem !important; }
.mb-sm-1, .my-sm-1{ margin-bottom: 0.25rem !important; }
.ml-sm-1, .mx-sm-1{ margin-left: 0.25rem !important; }
.m-sm-2{ margin: 0.5rem !important; }
.mt-sm-2, .my-sm-2{ margin-top: 0.5rem !important; }
.mr-sm-2, .mx-sm-2{ margin-right: 0.5rem !important; }
.mb-sm-2, .my-sm-2{ margin-bottom: 0.5rem !important; }
.ml-sm-2, .mx-sm-2{ margin-left: 0.5rem !important; }
.m-sm-3{ margin: 1rem !important; }
.mt-sm-3, .my-sm-3{ margin-top: 1rem !important; }
.mr-sm-3, .mx-sm-3{ margin-right: 1rem !important; }
.mb-sm-3, .my-sm-3{ margin-bottom: 1rem !important; }
.ml-sm-3, .mx-sm-3{ margin-left: 1rem !important; }
.m-sm-4{ margin: 1.5rem !important; }
.mt-sm-4, .my-sm-4{ margin-top: 1.5rem !important; }
.mr-sm-4, .mx-sm-4{ margin-right: 1.5rem !important; }
.mb-sm-4, .my-sm-4{ margin-bottom: 1.5rem !important; }
.ml-sm-4, .mx-sm-4{ margin-left: 1.5rem !important; }
.m-sm-5{ margin: 3rem !important; }
.mt-sm-5, .my-sm-5{ margin-top: 3rem !important; }
.mr-sm-5, .mx-sm-5{ margin-right: 3rem !important; }
.mb-sm-5, .my-sm-5{ margin-bottom: 3rem !important; }
.ml-sm-5, .mx-sm-5{ margin-left: 3rem !important; }
.p-sm-0{ padding: 0px !important; }
.pt-sm-0, .py-sm-0{ padding-top: 0px !important; }
.pr-sm-0, .px-sm-0{ padding-right: 0px !important; }
.pb-sm-0, .py-sm-0{ padding-bottom: 0px !important; }
.pl-sm-0, .px-sm-0{ padding-left: 0px !important; }
.p-sm-1{ padding: 0.25rem !important; }
.pt-sm-1, .py-sm-1{ padding-top: 0.25rem !important; }
.pr-sm-1, .px-sm-1{ padding-right: 0.25rem !important; }
.pb-sm-1, .py-sm-1{ padding-bottom: 0.25rem !important; }
.pl-sm-1, .px-sm-1{ padding-left: 0.25rem !important; }
.p-sm-2{ padding: 0.5rem !important; }
.pt-sm-2, .py-sm-2{ padding-top: 0.5rem !important; }
.pr-sm-2, .px-sm-2{ padding-right: 0.5rem !important; }
.pb-sm-2, .py-sm-2{ padding-bottom: 0.5rem !important; }
.pl-sm-2, .px-sm-2{ padding-left: 0.5rem !important; }
.p-sm-3{ padding: 1rem !important; }
.pt-sm-3, .py-sm-3{ padding-top: 1rem !important; }
.pr-sm-3, .px-sm-3{ padding-right: 1rem !important; }
.pb-sm-3, .py-sm-3{ padding-bottom: 1rem !important; }
.pl-sm-3, .px-sm-3{ padding-left: 1rem !important; }
.p-sm-4{ padding: 1.5rem !important; }
.pt-sm-4, .py-sm-4{ padding-top: 1.5rem !important; }
.pr-sm-4, .px-sm-4{ padding-right: 1.5rem !important; }
.pb-sm-4, .py-sm-4{ padding-bottom: 1.5rem !important; }
.pl-sm-4, .px-sm-4{ padding-left: 1.5rem !important; }
.p-sm-5{ padding: 3rem !important; }
.pt-sm-5, .py-sm-5{ padding-top: 3rem !important; }
.pr-sm-5, .px-sm-5{ padding-right: 3rem !important; }
.pb-sm-5, .py-sm-5{ padding-bottom: 3rem !important; }
.pl-sm-5, .px-sm-5{ padding-left: 3rem !important; }
.m-sm-n1{ margin: -0.25rem !important; }
.mt-sm-n1, .my-sm-n1{ margin-top: -0.25rem !important; }
.mr-sm-n1, .mx-sm-n1{ margin-right: -0.25rem !important; }
.mb-sm-n1, .my-sm-n1{ margin-bottom: -0.25rem !important; }
.ml-sm-n1, .mx-sm-n1{ margin-left: -0.25rem !important; }
.m-sm-n2{ margin: -0.5rem !important; }
.mt-sm-n2, .my-sm-n2{ margin-top: -0.5rem !important; }
.mr-sm-n2, .mx-sm-n2{ margin-right: -0.5rem !important; }
.mb-sm-n2, .my-sm-n2{ margin-bottom: -0.5rem !important; }
.ml-sm-n2, .mx-sm-n2{ margin-left: -0.5rem !important; }
.m-sm-n3{ margin: -1rem !important; }
.mt-sm-n3, .my-sm-n3{ margin-top: -1rem !important; }
.mr-sm-n3, .mx-sm-n3{ margin-right: -1rem !important; }
.mb-sm-n3, .my-sm-n3{ margin-bottom: -1rem !important; }
.ml-sm-n3, .mx-sm-n3{ margin-left: -1rem !important; }
.m-sm-n4{ margin: -1.5rem !important; }
.mt-sm-n4, .my-sm-n4{ margin-top: -1.5rem !important; }
.mr-sm-n4, .mx-sm-n4{ margin-right: -1.5rem !important; }
.mb-sm-n4, .my-sm-n4{ margin-bottom: -1.5rem !important; }
.ml-sm-n4, .mx-sm-n4{ margin-left: -1.5rem !important; }
.m-sm-n5{ margin: -3rem !important; }
.mt-sm-n5, .my-sm-n5{ margin-top: -3rem !important; }
.mr-sm-n5, .mx-sm-n5{ margin-right: -3rem !important; }
.mb-sm-n5, .my-sm-n5{ margin-bottom: -3rem !important; }
.ml-sm-n5, .mx-sm-n5{ margin-left: -3rem !important; }
.m-sm-auto{ margin: auto !important; }
.mt-sm-auto, .my-sm-auto{ margin-top: auto !important; }
.mr-sm-auto, .mx-sm-auto{ margin-right: auto !important; }
.mb-sm-auto, .my-sm-auto{ margin-bottom: auto !important; }
.ml-sm-auto, .mx-sm-auto{ margin-left: auto !important; }}
@media (min-width: 768px){.m-md-0{ margin: 0px !important; }
.mt-md-0, .my-md-0{ margin-top: 0px !important; }
.mr-md-0, .mx-md-0{ margin-right: 0px !important; }
.mb-md-0, .my-md-0{ margin-bottom: 0px !important; }
.ml-md-0, .mx-md-0{ margin-left: 0px !important; }
.m-md-1{ margin: 0.25rem !important; }
.mt-md-1, .my-md-1{ margin-top: 0.25rem !important; }
.mr-md-1, .mx-md-1{ margin-right: 0.25rem !important; }
.mb-md-1, .my-md-1{ margin-bottom: 0.25rem !important; }
.ml-md-1, .mx-md-1{ margin-left: 0.25rem !important; }
.m-md-2{ margin: 0.5rem !important; }
.mt-md-2, .my-md-2{ margin-top: 0.5rem !important; }
.mr-md-2, .mx-md-2{ margin-right: 0.5rem !important; }
.mb-md-2, .my-md-2{ margin-bottom: 0.5rem !important; }
.ml-md-2, .mx-md-2{ margin-left: 0.5rem !important; }
.m-md-3{ margin: 1rem !important; }
.mt-md-3, .my-md-3{ margin-top: 1rem !important; }
.mr-md-3, .mx-md-3{ margin-right: 1rem !important; }
.mb-md-3, .my-md-3{ margin-bottom: 1rem !important; }
.ml-md-3, .mx-md-3{ margin-left: 1rem !important; }
.m-md-4{ margin: 1.5rem !important; }
.mt-md-4, .my-md-4{ margin-top: 1.5rem !important; }
.mr-md-4, .mx-md-4{ margin-right: 1.5rem !important; }
.mb-md-4, .my-md-4{ margin-bottom: 1.5rem !important; }
.ml-md-4, .mx-md-4{ margin-left: 1.5rem !important; }
.m-md-5{ margin: 3rem !important; }
.mt-md-5, .my-md-5{ margin-top: 3rem !important; }
.mr-md-5, .mx-md-5{ margin-right: 3rem !important; }
.mb-md-5, .my-md-5{ margin-bottom: 3rem !important; }
.ml-md-5, .mx-md-5{ margin-left: 3rem !important; }
.p-md-0{ padding: 0px !important; }
.pt-md-0, .py-md-0{ padding-top: 0px !important; }
.pr-md-0, .px-md-0{ padding-right: 0px !important; }
.pb-md-0, .py-md-0{ padding-bottom: 0px !important; }
.pl-md-0, .px-md-0{ padding-left: 0px !important; }
.p-md-1{ padding: 0.25rem !important; }
.pt-md-1, .py-md-1{ padding-top: 0.25rem !important; }
.pr-md-1, .px-md-1{ padding-right: 0.25rem !important; }
.pb-md-1, .py-md-1{ padding-bottom: 0.25rem !important; }
.pl-md-1, .px-md-1{ padding-left: 0.25rem !important; }
.p-md-2{ padding: 0.5rem !important; }
.pt-md-2, .py-md-2{ padding-top: 0.5rem !important; }
.pr-md-2, .px-md-2{ padding-right: 0.5rem !important; }
.pb-md-2, .py-md-2{ padding-bottom: 0.5rem !important; }
.pl-md-2, .px-md-2{ padding-left: 0.5rem !important; }
.p-md-3{ padding: 1rem !important; }
.pt-md-3, .py-md-3{ padding-top: 1rem !important; }
.pr-md-3, .px-md-3{ padding-right: 1rem !important; }
.pb-md-3, .py-md-3{ padding-bottom: 1rem !important; }
.pl-md-3, .px-md-3{ padding-left: 1rem !important; }
.p-md-4{ padding: 1.5rem !important; }
.pt-md-4, .py-md-4{ padding-top: 1.5rem !important; }
.pr-md-4, .px-md-4{ padding-right: 1.5rem !important; }
.pb-md-4, .py-md-4{ padding-bottom: 1.5rem !important; }
.pl-md-4, .px-md-4{ padding-left: 1.5rem !important; }
.p-md-5{ padding: 3rem !important; }
.pt-md-5, .py-md-5{ padding-top: 3rem !important; }
.pr-md-5, .px-md-5{ padding-right: 3rem !important; }
.pb-md-5, .py-md-5{ padding-bottom: 3rem !important; }
.pl-md-5, .px-md-5{ padding-left: 3rem !important; }
.m-md-n1{ margin: -0.25rem !important; }
.mt-md-n1, .my-md-n1{ margin-top: -0.25rem !important; }
.mr-md-n1, .mx-md-n1{ margin-right: -0.25rem !important; }
.mb-md-n1, .my-md-n1{ margin-bottom: -0.25rem !important; }
.ml-md-n1, .mx-md-n1{ margin-left: -0.25rem !important; }
.m-md-n2{ margin: -0.5rem !important; }
.mt-md-n2, .my-md-n2{ margin-top: -0.5rem !important; }
.mr-md-n2, .mx-md-n2{ margin-right: -0.5rem !important; }
.mb-md-n2, .my-md-n2{ margin-bottom: -0.5rem !important; }
.ml-md-n2, .mx-md-n2{ margin-left: -0.5rem !important; }
.m-md-n3{ margin: -1rem !important; }
.mt-md-n3, .my-md-n3{ margin-top: -1rem !important; }
.mr-md-n3, .mx-md-n3{ margin-right: -1rem !important; }
.mb-md-n3, .my-md-n3{ margin-bottom: -1rem !important; }
.ml-md-n3, .mx-md-n3{ margin-left: -1rem !important; }
.m-md-n4{ margin: -1.5rem !important; }
.mt-md-n4, .my-md-n4{ margin-top: -1.5rem !important; }
.mr-md-n4, .mx-md-n4{ margin-right: -1.5rem !important; }
.mb-md-n4, .my-md-n4{ margin-bottom: -1.5rem !important; }
.ml-md-n4, .mx-md-n4{ margin-left: -1.5rem !important; }
.m-md-n5{ margin: -3rem !important; }
.mt-md-n5, .my-md-n5{ margin-top: -3rem !important; }
.mr-md-n5, .mx-md-n5{ margin-right: -3rem !important; }
.mb-md-n5, .my-md-n5{ margin-bottom: -3rem !important; }
.ml-md-n5, .mx-md-n5{ margin-left: -3rem !important; }
.m-md-auto{ margin: auto !important; }
.mt-md-auto, .my-md-auto{ margin-top: auto !important; }
.mr-md-auto, .mx-md-auto{ margin-right: auto !important; }
.mb-md-auto, .my-md-auto{ margin-bottom: auto !important; }
.ml-md-auto, .mx-md-auto{ margin-left: auto !important; }}
@media (min-width: 992px){.m-lg-0{ margin: 0px !important; }
.mt-lg-0, .my-lg-0{ margin-top: 0px !important; }
.mr-lg-0, .mx-lg-0{ margin-right: 0px !important; }
.mb-lg-0, .my-lg-0{ margin-bottom: 0px !important; }
.ml-lg-0, .mx-lg-0{ margin-left: 0px !important; }
.m-lg-1{ margin: 0.25rem !important; }
.mt-lg-1, .my-lg-1{ margin-top: 0.25rem !important; }
.mr-lg-1, .mx-lg-1{ margin-right: 0.25rem !important; }
.mb-lg-1, .my-lg-1{ margin-bottom: 0.25rem !important; }
.ml-lg-1, .mx-lg-1{ margin-left: 0.25rem !important; }
.m-lg-2{ margin: 0.5rem !important; }
.mt-lg-2, .my-lg-2{ margin-top: 0.5rem !important; }
.mr-lg-2, .mx-lg-2{ margin-right: 0.5rem !important; }
.mb-lg-2, .my-lg-2{ margin-bottom: 0.5rem !important; }
.ml-lg-2, .mx-lg-2{ margin-left: 0.5rem !important; }
.m-lg-3{ margin: 1rem !important; }
.mt-lg-3, .my-lg-3{ margin-top: 1rem !important; }
.mr-lg-3, .mx-lg-3{ margin-right: 1rem !important; }
.mb-lg-3, .my-lg-3{ margin-bottom: 1rem !important; }
.ml-lg-3, .mx-lg-3{ margin-left: 1rem !important; }
.m-lg-4{ margin: 1.5rem !important; }
.mt-lg-4, .my-lg-4{ margin-top: 1.5rem !important; }
.mr-lg-4, .mx-lg-4{ margin-right: 1.5rem !important; }
.mb-lg-4, .my-lg-4{ margin-bottom: 1.5rem !important; }
.ml-lg-4, .mx-lg-4{ margin-left: 1.5rem !important; }
.m-lg-5{ margin: 3rem !important; }
.mt-lg-5, .my-lg-5{ margin-top: 3rem !important; }
.mr-lg-5, .mx-lg-5{ margin-right: 3rem !important; }
.mb-lg-5, .my-lg-5{ margin-bottom: 3rem !important; }
.ml-lg-5, .mx-lg-5{ margin-left: 3rem !important; }
.p-lg-0{ padding: 0px !important; }
.pt-lg-0, .py-lg-0{ padding-top: 0px !important; }
.pr-lg-0, .px-lg-0{ padding-right: 0px !important; }
.pb-lg-0, .py-lg-0{ padding-bottom: 0px !important; }
.pl-lg-0, .px-lg-0{ padding-left: 0px !important; }
.p-lg-1{ padding: 0.25rem !important; }
.pt-lg-1, .py-lg-1{ padding-top: 0.25rem !important; }
.pr-lg-1, .px-lg-1{ padding-right: 0.25rem !important; }
.pb-lg-1, .py-lg-1{ padding-bottom: 0.25rem !important; }
.pl-lg-1, .px-lg-1{ padding-left: 0.25rem !important; }
.p-lg-2{ padding: 0.5rem !important; }
.pt-lg-2, .py-lg-2{ padding-top: 0.5rem !important; }
.pr-lg-2, .px-lg-2{ padding-right: 0.5rem !important; }
.pb-lg-2, .py-lg-2{ padding-bottom: 0.5rem !important; }
.pl-lg-2, .px-lg-2{ padding-left: 0.5rem !important; }
.p-lg-3{ padding: 1rem !important; }
.pt-lg-3, .py-lg-3{ padding-top: 1rem !important; }
.pr-lg-3, .px-lg-3{ padding-right: 1rem !important; }
.pb-lg-3, .py-lg-3{ padding-bottom: 1rem !important; }
.pl-lg-3, .px-lg-3{ padding-left: 1rem !important; }
.p-lg-4{ padding: 1.5rem !important; }
.pt-lg-4, .py-lg-4{ padding-top: 1.5rem !important; }
.pr-lg-4, .px-lg-4{ padding-right: 1.5rem !important; }
.pb-lg-4, .py-lg-4{ padding-bottom: 1.5rem !important; }
.pl-lg-4, .px-lg-4{ padding-left: 1.5rem !important; }
.p-lg-5{ padding: 3rem !important; }
.pt-lg-5, .py-lg-5{ padding-top: 3rem !important; }
.pr-lg-5, .px-lg-5{ padding-right: 3rem !important; }
.pb-lg-5, .py-lg-5{ padding-bottom: 3rem !important; }
.pl-lg-5, .px-lg-5{ padding-left: 3rem !important; }
.m-lg-n1{ margin: -0.25rem !important; }
.mt-lg-n1, .my-lg-n1{ margin-top: -0.25rem !important; }
.mr-lg-n1, .mx-lg-n1{ margin-right: -0.25rem !important; }
.mb-lg-n1, .my-lg-n1{ margin-bottom: -0.25rem !important; }
.ml-lg-n1, .mx-lg-n1{ margin-left: -0.25rem !important; }
.m-lg-n2{ margin: -0.5rem !important; }
.mt-lg-n2, .my-lg-n2{ margin-top: -0.5rem !important; }
.mr-lg-n2, .mx-lg-n2{ margin-right: -0.5rem !important; }
.mb-lg-n2, .my-lg-n2{ margin-bottom: -0.5rem !important; }
.ml-lg-n2, .mx-lg-n2{ margin-left: -0.5rem !important; }
.m-lg-n3{ margin: -1rem !important; }
.mt-lg-n3, .my-lg-n3{ margin-top: -1rem !important; }
.mr-lg-n3, .mx-lg-n3{ margin-right: -1rem !important; }
.mb-lg-n3, .my-lg-n3{ margin-bottom: -1rem !important; }
.ml-lg-n3, .mx-lg-n3{ margin-left: -1rem !important; }
.m-lg-n4{ margin: -1.5rem !important; }
.mt-lg-n4, .my-lg-n4{ margin-top: -1.5rem !important; }
.mr-lg-n4, .mx-lg-n4{ margin-right: -1.5rem !important; }
.mb-lg-n4, .my-lg-n4{ margin-bottom: -1.5rem !important; }
.ml-lg-n4, .mx-lg-n4{ margin-left: -1.5rem !important; }
.m-lg-n5{ margin: -3rem !important; }
.mt-lg-n5, .my-lg-n5{ margin-top: -3rem !important; }
.mr-lg-n5, .mx-lg-n5{ margin-right: -3rem !important; }
.mb-lg-n5, .my-lg-n5{ margin-bottom: -3rem !important; }
.ml-lg-n5, .mx-lg-n5{ margin-left: -3rem !important; }
.m-lg-auto{ margin: auto !important; }
.mt-lg-auto, .my-lg-auto{ margin-top: auto !important; }
.mr-lg-auto, .mx-lg-auto{ margin-right: auto !important; }
.mb-lg-auto, .my-lg-auto{ margin-bottom: auto !important; }
.ml-lg-auto, .mx-lg-auto{ margin-left: auto !important; }}
@media (min-width: 1200px){.m-xl-0{ margin: 0px !important; }
.mt-xl-0, .my-xl-0{ margin-top: 0px !important; }
.mr-xl-0, .mx-xl-0{ margin-right: 0px !important; }
.mb-xl-0, .my-xl-0{ margin-bottom: 0px !important; }
.ml-xl-0, .mx-xl-0{ margin-left: 0px !important; }
.m-xl-1{ margin: 0.25rem !important; }
.mt-xl-1, .my-xl-1{ margin-top: 0.25rem !important; }
.mr-xl-1, .mx-xl-1{ margin-right: 0.25rem !important; }
.mb-xl-1, .my-xl-1{ margin-bottom: 0.25rem !important; }
.ml-xl-1, .mx-xl-1{ margin-left: 0.25rem !important; }
.m-xl-2{ margin: 0.5rem !important; }
.mt-xl-2, .my-xl-2{ margin-top: 0.5rem !important; }
.mr-xl-2, .mx-xl-2{ margin-right: 0.5rem !important; }
.mb-xl-2, .my-xl-2{ margin-bottom: 0.5rem !important; }
.ml-xl-2, .mx-xl-2{ margin-left: 0.5rem !important; }
.m-xl-3{ margin: 1rem !important; }
.mt-xl-3, .my-xl-3{ margin-top: 1rem !important; }
.mr-xl-3, .mx-xl-3{ margin-right: 1rem !important; }
.mb-xl-3, .my-xl-3{ margin-bottom: 1rem !important; }
.ml-xl-3, .mx-xl-3{ margin-left: 1rem !important; }
.m-xl-4{ margin: 1.5rem !important; }
.mt-xl-4, .my-xl-4{ margin-top: 1.5rem !important; }
.mr-xl-4, .mx-xl-4{ margin-right: 1.5rem !important; }
.mb-xl-4, .my-xl-4{ margin-bottom: 1.5rem !important; }
.ml-xl-4, .mx-xl-4{ margin-left: 1.5rem !important; }
.m-xl-5{ margin: 3rem !important; }
.mt-xl-5, .my-xl-5{ margin-top: 3rem !important; }
.mr-xl-5, .mx-xl-5{ margin-right: 3rem !important; }
.mb-xl-5, .my-xl-5{ margin-bottom: 3rem !important; }
.ml-xl-5, .mx-xl-5{ margin-left: 3rem !important; }
.p-xl-0{ padding: 0px !important; }
.pt-xl-0, .py-xl-0{ padding-top: 0px !important; }
.pr-xl-0, .px-xl-0{ padding-right: 0px !important; }
.pb-xl-0, .py-xl-0{ padding-bottom: 0px !important; }
.pl-xl-0, .px-xl-0{ padding-left: 0px !important; }
.p-xl-1{ padding: 0.25rem !important; }
.pt-xl-1, .py-xl-1{ padding-top: 0.25rem !important; }
.pr-xl-1, .px-xl-1{ padding-right: 0.25rem !important; }
.pb-xl-1, .py-xl-1{ padding-bottom: 0.25rem !important; }
.pl-xl-1, .px-xl-1{ padding-left: 0.25rem !important; }
.p-xl-2{ padding: 0.5rem !important; }
.pt-xl-2, .py-xl-2{ padding-top: 0.5rem !important; }
.pr-xl-2, .px-xl-2{ padding-right: 0.5rem !important; }
.pb-xl-2, .py-xl-2{ padding-bottom: 0.5rem !important; }
.pl-xl-2, .px-xl-2{ padding-left: 0.5rem !important; }
.p-xl-3{ padding: 1rem !important; }
.pt-xl-3, .py-xl-3{ padding-top: 1rem !important; }
.pr-xl-3, .px-xl-3{ padding-right: 1rem !important; }
.pb-xl-3, .py-xl-3{ padding-bottom: 1rem !important; }
.pl-xl-3, .px-xl-3{ padding-left: 1rem !important; }
.p-xl-4{ padding: 1.5rem !important; }
.pt-xl-4, .py-xl-4{ padding-top: 1.5rem !important; }
.pr-xl-4, .px-xl-4{ padding-right: 1.5rem !important; }
.pb-xl-4, .py-xl-4{ padding-bottom: 1.5rem !important; }
.pl-xl-4, .px-xl-4{ padding-left: 1.5rem !important; }
.p-xl-5{ padding: 3rem !important; }
.pt-xl-5, .py-xl-5{ padding-top: 3rem !important; }
.pr-xl-5, .px-xl-5{ padding-right: 3rem !important; }
.pb-xl-5, .py-xl-5{ padding-bottom: 3rem !important; }
.pl-xl-5, .px-xl-5{ padding-left: 3rem !important; }
.m-xl-n1{ margin: -0.25rem !important; }
.mt-xl-n1, .my-xl-n1{ margin-top: -0.25rem !important; }
.mr-xl-n1, .mx-xl-n1{ margin-right: -0.25rem !important; }
.mb-xl-n1, .my-xl-n1{ margin-bottom: -0.25rem !important; }
.ml-xl-n1, .mx-xl-n1{ margin-left: -0.25rem !important; }
.m-xl-n2{ margin: -0.5rem !important; }
.mt-xl-n2, .my-xl-n2{ margin-top: -0.5rem !important; }
.mr-xl-n2, .mx-xl-n2{ margin-right: -0.5rem !important; }
.mb-xl-n2, .my-xl-n2{ margin-bottom: -0.5rem !important; }
.ml-xl-n2, .mx-xl-n2{ margin-left: -0.5rem !important; }
.m-xl-n3{ margin: -1rem !important; }
.mt-xl-n3, .my-xl-n3{ margin-top: -1rem !important; }
.mr-xl-n3, .mx-xl-n3{ margin-right: -1rem !important; }
.mb-xl-n3, .my-xl-n3{ margin-bottom: -1rem !important; }
.ml-xl-n3, .mx-xl-n3{ margin-left: -1rem !important; }
.m-xl-n4{ margin: -1.5rem !important; }
.mt-xl-n4, .my-xl-n4{ margin-top: -1.5rem !important; }
.mr-xl-n4, .mx-xl-n4{ margin-right: -1.5rem !important; }
.mb-xl-n4, .my-xl-n4{ margin-bottom: -1.5rem !important; }
.ml-xl-n4, .mx-xl-n4{ margin-left: -1.5rem !important; }
.m-xl-n5{ margin: -3rem !important; }
.mt-xl-n5, .my-xl-n5{ margin-top: -3rem !important; }
.mr-xl-n5, .mx-xl-n5{ margin-right: -3rem !important; }
.mb-xl-n5, .my-xl-n5{ margin-bottom: -3rem !important; }
.ml-xl-n5, .mx-xl-n5{ margin-left: -3rem !important; }
.m-xl-auto{ margin: auto !important; }
.mt-xl-auto, .my-xl-auto{ margin-top: auto !important; }
.mr-xl-auto, .mx-xl-auto{ margin-right: auto !important; }
.mb-xl-auto, .my-xl-auto{ margin-bottom: auto !important; }
.ml-xl-auto, .mx-xl-auto{ margin-left: auto !important; }}
.fa, .fab, .fal, .far, .fas{ -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; line-height: 1; }
@keyframes fa-spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(1turn); }
}
.fa-angle-down::before{ content: ""; }
.fa-angle-right::before{ content: ""; }
.fa-bars::before{ content: ""; }
.fa-camera::before{ content: ""; }
.fa-car::before{ content: ""; }
.fa-check::before{ content: ""; }
.fa-chevron-down::before{ content: ""; }
.fa-clock::before{ content: ""; }
.fa-comment::before{ content: ""; }
.fa-exclamation-triangle::before{ content: ""; }
.fa-female::before{ content: ""; }
.fa-filter::before{ content: ""; }
.fa-heart::before{ content: ""; }
.fa-home::before{ content: ""; }
.fa-list::before{ content: ""; }
.fa-map-marker-alt::before{ content: ""; }
.fa-phone::before{ content: ""; }
.fa-play-circle::before{ content: ""; }
.fa-question-circle::before{ content: ""; }
.fa-quote-right::before{ content: ""; }
.fa-ruble-sign::before{ content: ""; }
.fa-star::before{ content: ""; }
.fa-times::before{ content: ""; }
.fa-user::before{ content: ""; }
.fab{ font-family: "Font Awesome 5 Brands"; }
.far{ font-weight: 400; }
.fa, .far, .fas{ font-family: "Font Awesome 5 Free"; }
.fa, .fas{ font-weight: 900; }
body.compensate-for-scrollbar{ overflow: hidden; }
.fancybox-active{ height: auto; }
.fancybox-is-hidden{ left: -9999px; margin: 0px; top: -9999px; visibility: hidden; position: absolute !important; }
.fancybox-container{ backface-visibility: hidden; height: 100%; left: 0px; outline: none; position: fixed; -webkit-tap-highlight-color: transparent; top: 0px; touch-action: manipulation; transform: translateZ(0px); width: 100%; z-index: 99992; }
.fancybox-container *{ box-sizing: border-box; }
.fancybox-bg, .fancybox-inner, .fancybox-outer, .fancybox-stage{ inset: 0px; position: absolute; }
.fancybox-outer{ overflow-y: auto; }
.fancybox-bg{ background: rgb(30, 30, 30); opacity: 0; transition-duration: inherit; transition-property: opacity; transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }
.fancybox-is-open .fancybox-bg{ opacity: 0.87; transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }
.fancybox-caption, .fancybox-infobar, .fancybox-navigation .fancybox-button, .fancybox-toolbar{ direction: ltr; opacity: 0; position: absolute; transition: opacity 0.25s, visibility linear 0.25s; visibility: hidden; z-index: 99997; }
.fancybox-show-caption .fancybox-caption, .fancybox-show-infobar .fancybox-infobar, .fancybox-show-nav .fancybox-navigation .fancybox-button, .fancybox-show-toolbar .fancybox-toolbar{ opacity: 1; transition: opacity 0.25s, visibility; visibility: visible; }
.fancybox-infobar{ color: rgb(204, 204, 204); font-size: 13px; -webkit-font-smoothing: subpixel-antialiased; height: 44px; left: 0px; line-height: 44px; min-width: 44px; mix-blend-mode: difference; padding: 0px 10px; pointer-events: none; top: 0px; user-select: none; }
.fancybox-toolbar{ right: 0px; top: 0px; }
.fancybox-stage{ direction: ltr; overflow: visible; transform: translateZ(0px); z-index: 99994; }
.fancybox-is-open .fancybox-stage{ overflow: hidden; }
.fancybox-slide{ backface-visibility: hidden; display: none; height: 100%; left: 0px; outline: none; overflow: auto; padding: 44px 44px 0px; position: absolute; text-align: center; top: 0px; transition-property: transform, opacity, -webkit-transform; white-space: normal; width: 100%; z-index: 99994; }
.fancybox-slide::before{ content: ""; display: inline-block; font-size: 0px; height: 100%; vertical-align: middle; width: 0px; }
.fancybox-is-sliding .fancybox-slide, .fancybox-slide--current, .fancybox-slide--next, .fancybox-slide--previous{ display: block; }
.fancybox-slide--next{ z-index: 99995; }
.fancybox-slide--image{ padding: 44px 0px 0px; overflow: visible; }
.fancybox-slide--image::before{ display: none; }
.fancybox-slide--html{ padding: 6px 6px 0px; }
.fancybox-content{ background: rgb(255, 255, 255); display: inline-block; margin: 0px 0px 44px; max-width: 100%; overflow: auto; padding: 44px; position: relative; text-align: left; vertical-align: middle; }
.fancybox-slide--image .fancybox-content{ animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1); backface-visibility: hidden; background: 0px 0px / 100% 100% no-repeat; left: 0px; max-width: none; overflow: visible; padding: 0px; position: absolute; top: 0px; transform-origin: left top; transition-property: transform, opacity, -webkit-transform; user-select: none; z-index: 99995; }
.fancybox-slide--html .fancybox-content{ margin: 0px 0px 6px; }
.fancybox-can-zoomOut .fancybox-content{ cursor: zoom-out; }
.fancybox-can-zoomIn .fancybox-content{ cursor: zoom-in; }
.fancybox-can-pan .fancybox-content, .fancybox-can-swipe .fancybox-content{ cursor: grab; }
.fancybox-is-grabbing .fancybox-content{ cursor: grabbing; }
.fancybox-container [data-selectable="true"]{ cursor: text; }
.fancybox-image, .fancybox-spaceball{ background: 0px 0px; border: 0px; height: 100%; left: 0px; margin: 0px; max-height: none; max-width: none; padding: 0px; position: absolute; top: 0px; user-select: none; width: 100%; }
.fancybox-spaceball{ z-index: 1; }
.fancybox-slide--iframe .fancybox-content, .fancybox-slide--map .fancybox-content, .fancybox-slide--video .fancybox-content{ height: calc(100% - 44px); overflow: visible; padding: 0px; width: 100%; }
.fancybox-slide--video .fancybox-content{ background: rgb(0, 0, 0); }
.fancybox-slide--map .fancybox-content{ background: rgb(229, 227, 223); }
.fancybox-slide--iframe .fancybox-content{ background: rgb(255, 255, 255); }
.fancybox-iframe, .fancybox-video{ background: 0px 0px; border: 0px; display: block; height: 100%; margin: 0px; overflow: hidden; padding: 0px; vertical-align: top; width: 100%; }
.fancybox-error{ background: rgb(255, 255, 255); cursor: default; max-width: 400px; padding: 40px; width: 100%; }
.fancybox-error p{ color: rgb(68, 68, 68); font-size: 16px; line-height: 20px; margin: 0px; padding: 0px; }
.fancybox-button{ background: rgba(30, 30, 30, 0.6); border: 0px; border-radius: 0px; cursor: pointer; display: inline-block; height: 44px; margin: 0px; padding: 10px; transition: color 0.2s; vertical-align: top; width: 44px; }
.fancybox-button, .fancybox-button:link, .fancybox-button:visited{ color: rgb(204, 204, 204); }
.fancybox-button:hover{ color: rgb(255, 255, 255); }
.fancybox-button.disabled, .fancybox-button.disabled:hover, .fancybox-button[disabled], .fancybox-button[disabled]:hover{ color: rgb(136, 136, 136); cursor: default; }
.fancybox-button:focus{ outline: none; }
.fancybox-button.fancybox-focus{ outline: dotted 1px; }
.fancybox-button svg{ display: block; height: 100%; overflow: visible; position: relative; width: 100%; }
.fancybox-button svg path{ fill: currentcolor; stroke-width: 0; }
.fancybox-button--fsenter svg:nth-child(2), .fancybox-button--fsexit svg:nth-child(1), .fancybox-button--pause svg:nth-child(1), .fancybox-button--play svg:nth-child(2){ display: none; }
.fancybox-close-small{ background: 0px 0px; border: 0px; border-radius: 0px; color: rgb(204, 204, 204); cursor: pointer; opacity: 0.8; padding: 8px; position: absolute; right: -12px; top: -44px; z-index: 401; }
.fancybox-close-small:hover{ color: rgb(255, 255, 255); }
.fancybox-slide--html .fancybox-close-small{ color: currentcolor; padding: 10px; right: 0px; top: 0px; }
.fancybox-slide--html .fancybox-close-small:hover{ color: currentcolor; opacity: 1; }
.fancybox-is-scaling .fancybox-close-small, .fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{ display: none; }
.fancybox-navigation .fancybox-button{ height: 38px; margin: 0px; opacity: 0; padding: 7px; position: absolute; top: calc(50% - 19px); width: 38px; }
.fancybox-show-nav .fancybox-navigation .fancybox-button{ transition: opacity 0.25s, visibility, color 0.25s; }
.fancybox-navigation .fancybox-button::after{ content: ""; height: 100px; left: -26px; position: absolute; top: -31px; width: 70px; }
.fancybox-navigation .fancybox-button--arrow_left{ left: 6px; }
.fancybox-navigation .fancybox-button--arrow_right{ right: 6px; }
.fancybox-caption{ bottom: 0px; color: rgb(255, 255, 255); font-size: 14px; font-weight: 400; left: 0px; line-height: 1.5; padding: 25px 44px; right: 0px; }
.fancybox-caption::before{ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAEtCAQAAABjBcL7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHRJREFUKM+Vk8EOgDAIQ0vj/3+xBw8qIZZueFnIKC90MCAI8DlrkHGeqqGIU6lVigrBtpCWqeRWoHDNqs0F7VNVBVxmHRlvoVqjaYkdnDIaivH2HqZ5+oZj3JUzWB+cOz4G48Bg+tsJ/tqu4dLC/4Xb+0GcF5BwBC0AA53qAAAAAElFTkSuQmCC"); background-repeat: repeat-x; background-size: contain; inset: -25px 0px 0px; content: ""; display: block; pointer-events: none; position: absolute; z-index: -1; }
.fancybox-caption::after{ border-bottom: 1px solid rgba(255, 255, 255, 0.3); content: ""; display: block; left: 44px; position: absolute; right: 44px; top: 0px; }
.fancybox-caption a, .fancybox-caption a:link, .fancybox-caption a:visited{ color: rgb(204, 204, 204); text-decoration: none; }
.fancybox-caption a:hover{ color: rgb(255, 255, 255); text-decoration: underline; }
.fancybox-loading{ animation: 0.8s linear 0s infinite normal none running a; background: 0px 0px; border-width: 6px; border-style: solid; border-color: rgb(255, 255, 255) rgba(99, 99, 99, 0.5) rgba(99, 99, 99, 0.5); border-image: none; border-radius: 100%; height: 60px; left: 50%; margin: -30px 0px 0px -30px; opacity: 0.6; padding: 0px; position: absolute; top: 50%; width: 60px; z-index: 99999; }
@-webkit-keyframes a { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(359deg); }
}
@keyframes a { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(359deg); }
}
.fancybox-animated{ transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }
.fancybox-fx-slide.fancybox-slide--previous{ opacity: 0; transform: translate3d(-100%, 0px, 0px); }
.fancybox-fx-slide.fancybox-slide--next{ opacity: 0; transform: translate3d(100%, 0px, 0px); }
.fancybox-fx-slide.fancybox-slide--current{ opacity: 1; transform: translateZ(0px); }
.fancybox-fx-fade.fancybox-slide--next, .fancybox-fx-fade.fancybox-slide--previous{ opacity: 0; transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
.fancybox-fx-fade.fancybox-slide--current{ opacity: 1; }
.fancybox-fx-zoom-in-out.fancybox-slide--previous{ opacity: 0; transform: scale3d(1.5, 1.5, 1.5); }
.fancybox-fx-zoom-in-out.fancybox-slide--next{ opacity: 0; transform: scale3d(0.5, 0.5, 0.5); }
.fancybox-fx-zoom-in-out.fancybox-slide--current{ opacity: 1; transform: scaleX(1); }
.fancybox-fx-rotate.fancybox-slide--previous{ opacity: 0; transform: rotate(-1turn); }
.fancybox-fx-rotate.fancybox-slide--next{ opacity: 0; transform: rotate(1turn); }
.fancybox-fx-rotate.fancybox-slide--current{ opacity: 1; transform: rotate(0deg); }
.fancybox-fx-circular.fancybox-slide--previous{ opacity: 0; transform: scale3d(0, 0, 0) translate3d(-100%, 0px, 0px); }
.fancybox-fx-circular.fancybox-slide--next{ opacity: 0; transform: scale3d(0, 0, 0) translate3d(100%, 0px, 0px); }
.fancybox-fx-circular.fancybox-slide--current{ opacity: 1; transform: scaleX(1) translateZ(0px); }
.fancybox-fx-tube.fancybox-slide--previous{ transform: translate3d(-100%, 0px, 0px) scale(0.1) skew(-10deg); }
.fancybox-fx-tube.fancybox-slide--next{ transform: translate3d(100%, 0px, 0px) scale(0.1) skew(10deg); }
.fancybox-fx-tube.fancybox-slide--current{ transform: translateZ(0px) scale(1); }
@media (max-height: 576px){.fancybox-slide{ padding-left: 6px; padding-right: 6px; }
.fancybox-slide--image{ padding: 6px 0px 0px; }
.fancybox-slide--image .fancybox-content{ margin-bottom: 6px; }
.fancybox-slide--image .fancybox-close-small{ background: rgb(78, 78, 78); color: rgb(242, 244, 246); height: 36px; opacity: 1; padding: 6px; right: 0px; top: 0px; width: 36px; }}
.fancybox-share{ background: rgb(244, 244, 244); border-radius: 3px; max-width: 90%; padding: 30px; text-align: center; }
.fancybox-share h1{ color: rgb(34, 34, 34); font-size: 35px; font-weight: 700; margin: 0px 0px 20px; }
.fancybox-share p{ margin: 0px; padding: 0px; }
.fancybox-share__button{ border: 0px; border-radius: 3px; display: inline-block; font-size: 14px; font-weight: 700; line-height: 40px; margin: 0px 5px 10px; min-width: 130px; padding: 0px 15px; text-decoration: none; transition: 0.2s; user-select: none; white-space: nowrap; }
.fancybox-share__button:link, .fancybox-share__button:visited{ color: rgb(255, 255, 255); }
.fancybox-share__button:hover{ text-decoration: none; }
.fancybox-share__button--fb{ background: rgb(59, 89, 152); }
.fancybox-share__button--fb:hover{ background: rgb(52, 78, 134); }
.fancybox-share__button--pt{ background: rgb(189, 8, 29); }
.fancybox-share__button--pt:hover{ background: rgb(170, 7, 25); }
.fancybox-share__button--tw{ background: rgb(29, 161, 242); }
.fancybox-share__button--tw:hover{ background: rgb(13, 149, 232); }
.fancybox-share__button svg{ height: 25px; margin-right: 7px; position: relative; top: -1px; vertical-align: middle; width: 25px; }
.fancybox-share__button svg path{ fill: rgb(255, 255, 255); }
.fancybox-share__input{ background: 0px 0px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(215, 215, 215); border-image: none; border-radius: 0px; color: rgb(93, 91, 91); font-size: 14px; margin: 10px 0px 0px; outline: none; padding: 10px 15px; width: 100%; }
.fancybox-thumbs{ background: rgb(255, 255, 255); bottom: 0px; display: none; margin: 0px; padding: 2px 2px 4px; position: absolute; right: 0px; -webkit-tap-highlight-color: transparent; top: 0px; width: 212px; z-index: 99995; }
.fancybox-thumbs-x{ overflow: auto hidden; }
.fancybox-show-thumbs .fancybox-thumbs{ display: block; }
.fancybox-show-thumbs .fancybox-inner{ right: 212px; }
.fancybox-thumbs__list{ font-size: 0px; height: 100%; list-style: none; margin: 0px; overflow: hidden auto; padding: 0px; position: relative; white-space: nowrap; width: 100%; }
.fancybox-thumbs-x .fancybox-thumbs__list{ overflow: hidden; }
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{ width: 7px; }
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{ background: rgb(255, 255, 255); border-radius: 10px; box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 6px inset; }
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{ background: rgb(42, 42, 42); border-radius: 10px; }
.fancybox-thumbs__list a{ backface-visibility: hidden; background-color: rgba(0, 0, 0, 0.1); background-position: 50% center; background-repeat: no-repeat; background-size: cover; cursor: pointer; float: left; height: 75px; margin: 2px; max-height: calc(100% - 8px); max-width: calc(50% - 4px); outline: none; overflow: hidden; padding: 0px; position: relative; -webkit-tap-highlight-color: transparent; width: 100px; }
.fancybox-thumbs__list a::before{ border: 4px solid rgb(78, 167, 249); inset: 0px; content: ""; opacity: 0; position: absolute; transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); z-index: 99991; }
.fancybox-thumbs__list a:focus::before{ opacity: 0.5; }
.fancybox-thumbs__list a.fancybox-thumbs-active::before{ opacity: 1; }
@media (max-width: 768px){.fancybox-thumbs{ width: 110px; }
.fancybox-show-thumbs .fancybox-inner{ right: 110px; }
.fancybox-thumbs__list a{ max-width: calc(100% - 10px); }}
*{ font-family: Ubuntu, sans-serif; outline: none; }
html, body{ color: rgb(55, 59, 65); background-color: rgb(243, 243, 245); margin: 0px; padding: 0px; font-size: 14px; line-height: 1.42857; font-weight: 400; }
a{ text-decoration: none; }
a{ text-decoration: none; }
a, a:hover, a:focus{ color: rgb(236, 23, 79); }
a:hover, a:focus{ text-decoration: underline; }
p{ margin-top: 14px; margin-bottom: 14px; }
.h2-title, .h3-title, h1, h2, h3{ font-weight: 300; }
h1{ font-size: 24px; color: rgb(236, 23, 79); margin: 23px 0px 18px; line-height: 1.27; }
.h2-title, h2{ font-size: 21px; margin: 20px 0px 8px; color: rgb(40, 35, 80); }
.h3-title, h3{ font-size: 18px; margin: 17px 0px 6px; color: rgb(40, 35, 80); }
.block{ margin-bottom: 30px; background-color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 1px; border: 1px solid rgb(221, 221, 221); padding: 12px; overflow: hidden; }
.block p:last-child{ margin-bottom: 9px; }
.block h1:first-child, .block h2:first-child, .block h3:first-child{ margin-top: 0px; }
.breadcrumbs{ background: rgb(223, 223, 225); padding: 8px 0px; position: relative; z-index: 2; }
.breadcrumbs ul{ padding: 0px; margin: 0px; font-size: 12px; line-height: 15px; }
.breadcrumbs ul li{ list-style: none; display: inline-block; margin-right: 3px; }
.breadcrumbs ul .b-item{ color: rgb(40, 35, 79); }
.breadcrumbs ul .b-home::after{ content: ">"; display: inline-block; margin-left: 6px; }
.breadcrumbs ul .b-cat::after{ content: "|"; display: inline-block; margin-left: 6px; }
.breadcrumbs ul li:nth-last-child(2)::after{ content: ">"; }
.btn-primary{ display: inline-block; margin-bottom: 0px; font-size: 14px; font-weight: 400; text-align: center; white-space: nowrap; vertical-align: middle; touch-action: manipulation; cursor: pointer; user-select: none; border-radius: 0px; border-width: medium medium 3px; border-style: none none solid; border-color: currentcolor currentcolor rgb(197, 0, 52); border-image: none; background: rgb(236, 23, 79); transition: 0.3s; height: 35px; line-height: 35px; outline: none; color: rgb(255, 255, 255); padding: 0px 20px; }
.btn-primary:focus, .btn-primary:hover{ background: rgb(77, 54, 115); border-bottom: 3px solid rgb(40, 35, 80); outline: none; text-decoration: none; color: rgb(255, 255, 255); }
.important-information{ display: inline-block; padding: 2px 7px; background: rgb(40, 35, 79); color: rgb(255, 255, 255); border-radius: 3px; font-size: 13px; }
.important-information .fas{ margin-right: 6px; }
.telegram-modal-btn{ position: fixed; font-size: 27px; right: 15px; bottom: 55px; width: 44px; height: 44px; line-height: 44px; color: rgb(255, 255, 255); background: rgb(23, 156, 222); border-radius: 22px; z-index: 79; cursor: pointer; }
.telegram-modal-btn::before{ margin-left: 8px; }
.fancybox-content{ padding: 25px; }
.fancy-modal-box{ display: none; max-width: 600px !important; }
.fancy-modal-box .h2-title:first-child, .fancy-modal-box h2:first-child{ margin-top: 0px; }
.leaflet-pane{ z-index: 1 !important; }
.hd{ height: 60px; color: rgb(255, 255, 255); text-shadow: rgba(0, 0, 0, 0.1) 0px 1px 0px; background: rgb(40, 35, 80); }
.hd .container{ position: relative; }
.hd .container .logo{ display: inline-block; height: 60px; }
.hd .container .logo a{ display: inline-block; position: relative; z-index: 1; }
.hd .container .logo a::before{ content: ""; position: absolute; right: -30px; top: 0px; border-width: 60px 30px 30px; border-style: solid; border-color: rgb(248, 16, 77) transparent transparent; border-image: none; z-index: 1; }
.hd .container .logo a::after{ content: ""; position: absolute; width: 20000px; top: 0px; right: 0px; background: rgb(248, 16, 77); height: 60px; z-index: 1; }
.hd .container .logo img{ vertical-align: middle; position: relative; z-index: 2; max-height: 60px; }
.hd-user-link{ position: absolute; top: 0px; right: 60px; }
.hd-user-link a{ display: block; height: 60px; width: 40px; text-align: center; line-height: 65px; color: rgb(255, 255, 255); }
.hd-user-link .fas{ font-size: 17px; }
.menu-mobile{ position: fixed; top: 14px; right: 15px; color: rgb(255, 255, 255); height: 32px; width: 32px; text-align: center; line-height: 32px; font-size: 20px; background: rgb(236, 23, 79); border-radius: 3px; display: block; z-index: 100; }
@media (max-width: 767.98px){.header-menu-w{ position: fixed; inset: 0px; width: 100%; height: 100%; z-index: 110; overflow: scroll; background: rgb(243, 243, 245); display: none; }
#header-menu{ margin-top: 60px; }
.header-menu-title{ margin: 0px -15px; padding: 8px 15px; background: rgb(255, 255, 255); border-bottom: 1px solid rgb(243, 243, 245); color: rgb(40, 35, 80); position: relative; }
.header-menu-title .fas{ position: absolute; right: 24px; top: 12px; color: rgb(43, 38, 82); }
.header-menu-list ul{ background: rgb(255, 255, 255); margin: 0px -15px; padding: 15px 15px 15px 32px; border-bottom: 1px solid rgb(243, 243, 245); display: none; }
.header-menu-list ul li a{ padding: 3px 0px; display: inline-block; }
.header-menu-close{ position: fixed; top: 14px; right: 15px; color: rgb(255, 255, 255); height: 32px; width: 32px; text-align: center; line-height: 32px; font-size: 20px; background: rgb(236, 23, 79); border-radius: 3px; display: block; z-index: 100; }}
.ft{ padding: 20px 0px; background: rgb(223, 223, 225); margin-top: 40px; }
.ft .container{ position: relative; }
.ft .age-limit{ width: 35px; height: 35px; text-align: center; line-height: 32px; border-radius: 20px; background: rgb(248, 16, 77); color: rgb(255, 255, 255); font-size: 12px; position: absolute; right: 15px; bottom: 50%; margin-bottom: -18px; border: 2px solid rgb(197, 2, 52); }
.ft-copyright{ padding-right: 41px; }
@media (min-width: 768px){h1{ margin: 23px 0px 20px; }
.telegram-modal-btn{ font-size: 37px; right: 60px; bottom: 60px; width: 60px; height: 60px; line-height: 63px; border-radius: 30px; }
.telegram-modal-btn::before{ margin-left: 11px; }
.fancybox-content{ padding: 44px; }
.menu-mobile{ display: none; }
.hd-menu-link{ position: absolute; top: 0px; right: 50%; margin-right: -90px; width: 180px; }
.hd-menu-link a{ display: block; height: 60px; text-align: center; color: rgb(255, 255, 255); line-height: 60px; font-size: 14px; cursor: pointer; transition: 0.3s; }
.hd-menu-link a:hover{ text-decoration: none; background: rgb(57, 52, 99); }
.hd-menu-link a:focus{ text-decoration: none; }
.hd-menu-link a .mhide{ display: none; }
.hd-menu-link a .fas{ margin-right: 7px; font-size: 17px; }
.header-menu-md-close{ margin-top: 30px; }
.hd-user-link{ right: 10px; }
.hd-user-link a{ width: 70px; line-height: 60px; }
.hd-user-link .fas{ margin-right: 7px; }
.header-menu-w{ width: 100%; background: rgb(255, 255, 255); position: absolute; left: 0px; top: 60px; z-index: 3; padding-bottom: 30px; border-bottom: 1px solid rgb(223, 223, 225); display: none; }
.header-menu-title .fas{ display: none !important; }
.header-menu-title{ margin: 20px 0px 10px; font-weight: 700; }
.header-menu-list ul{ margin: 0px; padding: 0px 0px 0px 17px; display: block !important; height: initial !important; }}
@media (min-width: 992px){h1{ font-size: 34px; color: rgb(236, 23, 79); margin: 30px 0px 23px; }
.h2-title, h2{ font-size: 25px; margin: 24px 0px 10px; color: rgb(40, 35, 80); }
.h3-title, h3{ font-size: 21px; margin: 20px 0px 8px; color: rgb(40, 35, 80); }
.breadcrumbs{ padding: 12px 0px; }
.breadcrumbs ul{ font-size: 13px; line-height: 17px; }}
@media (min-width: 1200px){.block{ padding: 20px; }
.hd-user-link a{ width: 230px; }}
.lSSlideWrapper, .lSSlideWrapper .lSFade{ position: relative; }
.lSSlideWrapper .lSSlide, .lSSlideWrapper.usingCss .lSFade > *{ transition-timing-function: inherit !important; transition-duration: inherit !important; }
.lSSlideOuter, .lSSlideOuter .lSPager.lSGallery{ user-select: none; }
.lSSlideOuter .lSPager.lSGallery::after, .lSSlideWrapper > .lightSlider::after{ clear: both; }
.lSSlideOuter{ overflow: hidden; user-select: none; }
.lightSlider::after, .lightSlider::before{ content: " "; display: table; }
.lightSlider{ overflow: hidden; margin: 0px; }
.lSSlideWrapper{ max-width: 100%; overflow: hidden; }
.lSSlideWrapper .lSSlide{ transform: translate(0px, 0px); transition: transform 1s, height; }
.lSSlideWrapper .lSFade > *{ top: 0px; left: 0px; z-index: 9; margin-right: 0px; width: 100%; position: absolute !important; }
.lSSlideWrapper.usingCss .lSFade > *{ opacity: 0; transition-delay: 0s; transition-property: opacity; }
.lSSlideWrapper .lSFade > .active{ z-index: 10; }
.lSSlideWrapper.usingCss .lSFade > .active{ opacity: 1; }
.lSSlideOuter .lSPager.lSpg{ margin: 10px 0px 0px; padding: 0px; text-align: center; }
.lSSlideOuter .lSPager.lSpg > li{ cursor: pointer; display: inline-block; padding: 0px 5px; }
.lSSlideOuter .lSPager.lSpg > li a{ background-color: rgb(34, 34, 34); border-radius: 30px; display: inline-block; height: 8px; overflow: hidden; text-indent: -999em; width: 8px; position: relative; z-index: 99; transition: 0.5s linear; }
.lSSlideOuter .lSPager.lSpg > li.active a, .lSSlideOuter .lSPager.lSpg > li:hover a{ background-color: rgb(66, 139, 202); }
.lSSlideOuter .media{ opacity: 0.8; }
.lSSlideOuter .media.active{ opacity: 1; }
.lSSlideOuter .lSPager.lSGallery{ list-style: none; padding-left: 0px; margin: 0px; overflow: hidden; transform: translate3d(0px, 0px, 0px); transition-property: -webkit-transform; user-select: none; }
.lSSlideOuter .lSPager.lSGallery li{ overflow: hidden; }
.lSSlideOuter .lSPager.lSGallery li.active, .lSSlideOuter .lSPager.lSGallery li:hover{ border-radius: 5px; }
.lSSlideOuter .lSPager.lSGallery img{ display: block; height: auto; max-width: 100%; }
.lSSlideOuter .lSPager.lSGallery::after, .lSSlideOuter .lSPager.lSGallery::before{ content: " "; display: table; }
.lSAction > a{ width: 32px; display: block; top: 50%; height: 32px; background-image: url("/assets/3cd005be/lightslider/css/../img/controls.png"); cursor: pointer; position: absolute; z-index: 99; margin-top: -16px; opacity: 0.5; transition: opacity 0.35s linear; }
.lSAction > a:hover{ opacity: 1; }
.lSAction > .lSPrev{ background-position: 0px 0px; left: 10px; }
.lSAction > .lSNext{ background-position: -32px 0px; right: 10px; }
.lSAction > a.disabled{ pointer-events: none; }
.cS-hidden{ height: 1px; opacity: 0; overflow: hidden; }
.lSSlideOuter.vertical{ position: relative; }
.lSSlideOuter.vertical.noPager{ padding-right: 0px !important; }
.lSSlideOuter.vertical .lSGallery{ right: 0px; top: 0px; position: absolute !important; }
.lSSlideOuter.vertical .lightSlider > *{ width: 100% !important; max-width: none !important; }
.lSSlideOuter.vertical .lSAction > a{ left: 50%; margin-left: -14px; margin-top: 0px; }
.lSSlideOuter.vertical .lSAction > .lSNext{ background-position: 31px -31px; bottom: 10px; top: auto; }
.lSSlideOuter.vertical .lSAction > .lSPrev{ background-position: 0px -31px; bottom: auto; top: 10px; }
.lSSlideOuter.lSrtl{ direction: rtl; }
.lSSlideOuter .lSPager, .lSSlideOuter .lightSlider{ padding-left: 0px; list-style: none; }
.lSSlideOuter.lSrtl .lSPager, .lSSlideOuter.lSrtl .lightSlider{ padding-right: 0px; }
.lSSlideOuter .lSGallery li, .lSSlideOuter .lightSlider > *{ float: left; }
.lSSlideOuter.lSrtl .lSGallery li, .lSSlideOuter.lSrtl .lightSlider > *{ float: right !important; }
@-webkit-keyframes rightEnd { 
  0%, 100% { left: 0px; }
  50% { left: -15px; }
}
@keyframes rightEnd { 
  0%, 100% { left: 0px; }
  50% { left: -15px; }
}
@-webkit-keyframes topEnd { 
  0%, 100% { top: 0px; }
  50% { top: -15px; }
}
@keyframes topEnd { 
  0%, 100% { top: 0px; }
  50% { top: -15px; }
}
@-webkit-keyframes leftEnd { 
  0%, 100% { left: 0px; }
  50% { left: 15px; }
}
@keyframes leftEnd { 
  0%, 100% { left: 0px; }
  50% { left: 15px; }
}
@-webkit-keyframes bottomEnd { 
  0%, 100% { bottom: 0px; }
  50% { bottom: -15px; }
}
@keyframes bottomEnd { 
  0%, 100% { bottom: 0px; }
  50% { bottom: -15px; }
}
.lSSlideOuter .rightEnd{ animation: 0.3s ease 0s 1 normal none running rightEnd; position: relative; }
.lSSlideOuter .leftEnd{ animation: 0.3s ease 0s 1 normal none running leftEnd; position: relative; }
.lSSlideOuter.vertical .rightEnd{ animation: 0.3s ease 0s 1 normal none running topEnd; position: relative; }
.lSSlideOuter.vertical .leftEnd{ animation: 0.3s ease 0s 1 normal none running bottomEnd; position: relative; }
.lSSlideOuter.lSrtl .rightEnd{ animation: 0.3s ease 0s 1 normal none running leftEnd; position: relative; }
.lSSlideOuter.lSrtl .leftEnd{ animation: 0.3s ease 0s 1 normal none running rightEnd; position: relative; }
.lightSlider.lsGrab > *{ cursor: grab; }
.lightSlider.lsGrabbing > *{ cursor: grabbing; }
.item-p-row .col-12{ padding-bottom: 23px; }
.item-p{ background-color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 1px; border: 1px solid rgb(221, 221, 221); padding: 12px; overflow: hidden; }
.item-p-h{ margin-top: -2px; margin-bottom: 11px; position: relative; }
.item-p-h-icons{ position: absolute; top: 1px; right: 0px; color: rgb(40, 35, 80); }
.item-p-r-count{ position: relative; font-size: 20px; display: block; float: left; line-height: 20px; height: 20px; }
.item-p-r-count span{ display: block; position: absolute; top: 0px; left: 0px; color: rgb(255, 255, 255); font-size: 9px; width: 100%; text-align: center; height: 20px; line-height: 19px; z-index: 2; }
.item-p-r-score{ background: rgb(255, 178, 55); color: rgb(255, 255, 255); padding: 0px 4px; border-radius: 3px; font-size: 12px; height: 20px; line-height: 20px; display: block; float: left; margin-left: 7px; }
.item-p-r-score .fas{ margin-right: 4px; }
.item-p-h-loc{ font-size: 18px; display: block; float: left; line-height: 20px; height: 20px; margin-right: 7px; }
.item-p-n{ height: 22px; overflow: hidden; margin-top: 0px; font-size: 14px; font-weight: 400; line-height: 22px; padding-right: 132px; width: 100%; display: block; }
.item-p-left{ width: 48%; float: left; max-width: 170px; }
.item-p-left a{ display: block; width: 100%; position: relative; line-height: 0; border-radius: 3px; overflow: hidden; }
.item-p-left img{ width: 100%; min-height: 100px; }
.item-p-left .important-information{ position: absolute; bottom: 0px; left: 0px; line-height: 18px; border-radius: 0px 3px; background: rgba(248, 16, 77, 0.8); }
.item-p-p-count{ position: absolute; top: 4px; right: 7px; color: rgb(255, 255, 255); font-size: 20px; line-height: 20px; opacity: 0.8; }
.item-p-p-count span{ background: rgb(255, 255, 255); position: absolute; top: 4px; left: 3px; color: rgb(197, 2, 52); font-size: 9px; line-height: 14px; text-align: center; width: 14px; height: 14px; font-weight: 600; }
.item-p-video i, .item-p-p-count i{ text-shadow: rgb(194, 194, 195) 0px 0px 1px; }
.item-p-video{ position: absolute; top: 4.5px; right: 33px; color: rgb(255, 255, 255); font-size: 19px; line-height: 19px; opacity: 0.8; }
.item-p-right{ width: 48%; float: right; }
.item-p-district{ width: 100%; display: block; margin-bottom: 3px; position: relative; padding-left: 19px; }
.item-p-district .fas{ width: 14px; text-align: center; margin-right: 5px; color: rgb(40, 35, 80); position: absolute; left: 0px; top: 0px; line-height: 20px; display: block; }
.item-p-phone{ width: 100%; display: block; margin-bottom: 8px; color: rgb(55, 59, 65); font-size: 14px; }
.item-p-phone .fas{ width: 14px; text-align: center; margin-right: 4px; color: rgb(40, 35, 80); }
.item-p-w-t{ display: inline-block; padding: 2px 7px; background: rgb(40, 35, 79); color: rgb(255, 255, 255); border-radius: 3px; font-size: 12px; margin-bottom: 10px; }
.item-p-w-c{ display: inline-block; padding: 2px 7px; color: rgb(255, 255, 255); border-radius: 3px; font-size: 12px; margin-bottom: 10px; background: rgb(0, 179, 91); }
.item-p-w-t .fas, .item-p-w-c .fas{ margin-right: 6px; }
.item-p-info{ margin-bottom: 7px; }
.item-p-info span{ margin: 0px 3px 6px 0px; background: rgb(255, 231, 236); color: rgb(55, 59, 64); display: inline-block; padding: 2px 7px; border-radius: 3px; font-size: 13px; }
.item-p-right ul{ margin: 0px; padding: 0px; }
.item-p-right ul li{ list-style: none; font-size: 13px; line-height: 18px; }
.item-p-right ul li:nth-child(2n+1){ background-color: rgb(243, 243, 245); }
.item-p-right ul li span:first-child{ width: 50%; display: inline-block; font-size: 12px; padding-left: 3px; }
.item-p-deck{ clear: both; width: 100%; overflow: hidden; }
.item-p-deck p{ padding: 4px 10px; font-size: 13px; background: rgb(234, 231, 255); color: rgb(39, 41, 43); margin: 10px 0px 0px !important; }
@media (max-width: 345px){.item-p-district{ margin-bottom: 2px; }
.item-p-phone{ font-size: 12px; margin-bottom: 7px; }
.item-p-w-c, .item-p-w-t{ margin-bottom: 7px; }
.item-p-info{ margin-bottom: 1px; }}
@media (min-width: 380px){.item-p-district{ margin-bottom: 5px; }
.item-p-phone{ margin-bottom: 10px; }
.item-p-w-c, .item-p-w-t{ margin-bottom: 12px; }
.item-p-info{ margin-bottom: 9px; }
.item-p-left a{ max-height: 230px; }
.item-p-left img{ margin-top: -5%; }}
.item-danger-prepay{ clear: both; position: relative; background: rgb(254, 245, 206); font-size: 14px; line-height: 17px; padding: 8px 10px 8px 50px; font-weight: 700; text-transform: uppercase; border: 1px solid rgb(55, 59, 65); margin: 0px 0px 10px !important; }
.item-danger-prepay .fa-question-circle{ cursor: pointer; }
.item-danger-prepay-cat{ margin-bottom: 23px !important; }
.item-danger-prepay .fas{ color: rgb(236, 24, 79); position: absolute; left: 13px; top: 12px; font-size: 24px; }
.scram_modal_notice_ol{ padding-left: 15px; font-size: 15px; }
.scram_modal_notice_ol li{ margin-bottom: 11px; }
.scram_modal_notice_ol li em{ display: inline-block; font-size: 14px; padding-left: 7px; border-left: 1px solid rgb(40, 35, 80); margin-left: 14px; }
@media (min-width: 576px){.item-p-right{ width: 55%; }}
@media (min-width: 768px){.item-p-row .col-12{ padding-bottom: 30px; }
.item-p{ max-width: 100%; height: 100%; }
.item-p-right{ width: 48%; }
.item-danger-prepay-cat{ margin-bottom: 30px !important; }
.item-danger-prepay{ padding-left: 10px; text-align: center; }
.item-danger-prepay br{ display: none; }
.item-danger-prepay .fas{ position: static; font-size: 14px; margin-right: 7px; }}
@media (min-width: 992px){.item-p-district{ margin-bottom: 2px; }
.item-p-phone{ font-size: 12px; margin-bottom: 7px; }
.item-p-w-c, .item-p-w-t{ margin-bottom: 7px; }
.item-p-info{ margin-bottom: 1px; }
.item-p-left a{ max-height: none; }
.item-p-left img{ margin-top: 0px; }}
@media (min-width: 1200px){.item-p-district{ margin-bottom: 5px; }
.item-p-phone{ margin-bottom: 10px; font-size: 14px; }
.item-p-w-c, .item-p-w-t{ margin-bottom: 12px; }
.item-p-info{ margin-bottom: 9px; }
.item-p-left a{ max-height: 230px; }
.item-p-left img{ margin-top: -3px; }}
.item-scrollbar{ position: fixed; bottom: 0px; left: 50%; width: 100%; height: 40px; background: rgb(236, 24, 79); z-index: 99; margin-left: -50%; padding: 0px 15px; }
.item-scrollbar i{ color: rgb(255, 255, 255); font-size: 22px; line-height: 40px; }
.item-scrollbar-female{ width: 22px; height: 22px; margin-top: 9px; line-height: 22px; background: rgb(255, 255, 255); border-radius: 11px; text-align: center; color: rgb(236, 26, 79); }
.item-scrollbar-female .fas{ font-size: 16px; color: rgb(236, 26, 79); line-height: 22px; margin-left: 0.5px; }
.item-scrollbar-reviews, .item-scrollbar-photo{ position: relative; }
.item-scrollbar-photo span{ background: rgb(255, 255, 255); position: absolute; top: 14px; left: 4px; color: rgb(197, 2, 52); font-size: 9px; line-height: 14px; text-align: center; width: 14px; height: 14px; font-weight: 600; }
.item-scrollbar-reviews span{ position: absolute; top: 13px; left: 0px; color: rgb(197, 2, 52); font-size: 9px; line-height: 14px; text-align: center; width: 22px; height: 14px; font-weight: 600; }
.ft{ margin-bottom: 40px; }
.item-phone{ font-size: 19px; line-height: 27px; margin: 0px 0px 10px; }
.item-phone a{ color: rgb(40, 35, 80); text-decoration: none; }
.item-phone .fa-phone{ color: rgb(236, 23, 79); font-size: 14px; margin-right: 3px; }
.item-work-time-w{ margin: 0px 0px 10px; }
.item-work-time{ margin-right: 10px; }
.item-wait-call{ display: inline-block; padding: 2px 7px; background: rgb(0, 179, 91); color: rgb(255, 255, 255); border-radius: 3px; font-size: 13px; }
.item-district{ font-size: 15px; margin: 0px 0px 10px; line-height: 21px; }
.item-district span{ display: inline-block; }
.item-district span:first-child{ margin-right: 10px; }
.item-metro .fas, .item-district .fas{ color: rgb(236, 23, 79); font-size: 14px; margin-right: 7px; }
.item-phone-desk{ clear: both; padding: 4px 10px; background: rgb(243, 243, 245); text-align: center; font-size: 12px; line-height: 17px; margin: 0px !important; }
#itemGallery .important-information{ font-size: 14px; line-height: 23px; padding: 4px 15px; width: 100%; margin: 0px; border-radius: 0px; }
#itemGallery{ margin-left: -15px; margin-right: -15px; }
#itemGallery .lightSlider{ height: 100% !important; }
#itemGallery .lightSlider li{ text-align: center; position: relative; overflow: hidden; height: 100% !important; }
#itemGallery .lightSlider li div{ width: 110%; height: 110%; position: relative; top: -5%; left: -5%; background-size: cover; background-position: center center; filter: blur(7px); z-index: 1; }
#itemGallery .lightSlider img{ max-width: 100%; max-height: 100%; position: absolute; margin: auto; inset: 0px; z-index: 1; }
#itemGallery .lSSlideOuter .lSPager.lSGallery li{ height: 40px; text-align: center; overflow: hidden; position: relative; background: rgb(0, 0, 0); }
#itemGallery .lSSlideOuter .lSPager.lSGallery img{ max-width: none; position: absolute; margin-top: auto; inset: 0px; margin-bottom: auto; margin-left: -10%; width: 120% !important; }
#itemGallery .lSAction > a{ z-index: 2; }
#itemGallery .lSAction > .lSNext, #itemGallery .lSAction > .lSPrev{ background: 0px 0px; text-align: center; line-height: 32px; text-shadow: rgb(204, 204, 204) 0px 0px 2px; }
#itemGallery .lSAction > .lSNext::before, #itemGallery .lSAction > .lSPrev::before{ font-weight: 900; font-family: "Font Awesome 5 Free"; -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; line-height: 1; content: ""; font-size: 29px; color: rgb(255, 255, 255); }
#itemGallery .lSAction > .lSNext::before{ content: ""; }
#itemGallery .lSSlideOuter .lSPager.lSGallery li.active, #itemGallery .lSSlideOuter .lSPager.lSGallery li:hover{ border-radius: 0px; border: 1px solid rgb(236, 24, 79); }
.itemGallery .btn{ margin-top: 6px; width: 100%; margin-bottom: 30px; }
.itemGallery video{ width: 100%; margin-bottom: 30px; background: rgb(36, 36, 36); }
@media (min-width: 360px){#itemGallery .lSSlideOuter .lSPager.lSGallery li{ height: 50px; }}
@media (min-width: 400px){#itemGallery .lSSlideOuter .lSPager.lSGallery li{ height: 60px; }}
.block-item-price table{ border-collapse: collapse; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; width: 100%; }
.block-item-price tr{ border-bottom: 1px solid rgb(221, 221, 221); }
.block-item-price th{ text-align: left; font-weight: 900; font-size: 12px; padding: 4px 4px 4px 0px; }
.block-item-price td{ padding: 4px 8px 4px 0px; }
.block-item-price th:last-child, .block-item-price td:last-child{ padding: 4px 0px; }
.block-item-price th:first-child, .block-item-price td:first-child{ padding: 4px 8px 4px 4px; }
.block-item-price tr:last-child{ border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.block-item-price .fas{ font-size: 11px; position: relative; top: -1px; }
.block p.item-prepay{ margin-bottom: 2px; margin-top: 10px; background: rgb(236, 24, 79); }
.block p.item-prepay.item-prepay-not{ background: rgb(0, 179, 91); }
.block p.item-prepay.item-prepay-notice{ background: rgb(253, 245, 206); color: rgb(55, 59, 65); }
.block p.item-prepay.item-prepay-notice .fas{ color: rgb(236, 24, 79); }
.item-prepay .item-prepay-curency .fas{ font-size: 10px; margin-right: 0px; }
.item-data{ margin-bottom: 0px; }
.item-data ul{ margin: 0px; padding: 0px; }
.item-data li{ list-style: none; position: relative; padding-left: 13px; line-height: 25px; }
.item-data li::before{ -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; line-height: 1; font-family: "Font Awesome 5 Free"; font-weight: 900; color: rgb(236, 23, 79); content: ""; top: 5px; left: 0px; font-size: 15px; position: absolute; }
.item-data li.item-data-neighbors::before{ content: ""; font-size: 11px; top: 6px; margin-left: -3px; }
.item-data li.item-data-where_to_go::before{ content: ""; font-size: 11px; top: 6px; margin-left: -1px; }
.item-main-data{ margin: 0px; }
.item-main-data span{ margin: 0px 4px 10px 0px; background: rgb(255, 231, 236); color: rgb(55, 59, 64); }
.item-data hr{ border-width: medium; border-style: none; border-color: currentcolor; border-image: none; height: 1px; background: rgb(221, 221, 221); }
.item-required{ margin-top: 7px; margin-bottom: 30px; }
.item-required .important-information{ margin: 8px 4px 0px 0px; font-size: 12px; }
@media (min-width: 400px){.item-required .important-information{ font-size: 13px; }}
.item-service-title{ margin: 10px 0px; font-weight: 700; font-size: 13px; }
.item-service ul{ margin: 0px; padding: 0px; }
.item-service ul li{ list-style: none; padding-left: 16px; position: relative; margin-bottom: 7px; line-height: 16px; font-size: 13px; color: rgb(165, 165, 165); }
.item-service ul li .fas{ font-size: 12px; position: absolute; top: 3px; left: 0px; color: rgb(165, 165, 165); }
.item-service ul li.service-active{ color: rgb(40, 35, 80); }
.item-service ul li.service-active .fas{ color: rgb(236, 23, 79); }
.item-service ul li span{ display: inline-block; padding: 1px 6px; background: rgb(243, 243, 245); color: rgb(55, 59, 64); border-radius: 3px; font-size: 11px; line-height: 14px; }
.item-service ul li span.is-price{ background: rgb(255, 231, 236); }
.item-service ul li span.is-free{ background: rgb(213, 239, 220); }
.item-service-prompt{ font-size: 13px; font-style: italic; }
.item-service-prompt span{ display: inline-block; padding: 1px 6px; background: rgb(243, 243, 245); color: rgb(55, 59, 64); border-radius: 3px; font-size: 11px; line-height: 14px; font-style: normal; }
.item-review h2{ margin-bottom: 12px; }
.item-review-sum{ margin: 0px 0px 20px; padding: 10px; border: 2px solid rgb(255, 177, 55); text-align: center; position: relative; }
.item-review-sum-score{ font-size: 26px; }
.item-review-sum-score .fas{ color: rgb(255, 178, 55); margin-right: 7px; }
.item-review-sum-desc{ margin: 5px 0px 0px; }
.item-review-btns{ margin-top: 13px; }
.item-review-btns .btn-primary{ padding: 0px 15px; }
.item-review-form{ display: none; margin-bottom: 30px; }
.item-review-form-notice{ padding-bottom: 6px; padding-top: 6px; margin-bottom: 20px; width: 100%; }
.item-review-form-notice span{ font-weight: 500; }
.item-review-form-notice a{ color: rgb(255, 255, 255); text-decoration: underline; }
.item-review input[type="text"]{ border: 1px solid rgb(255, 0, 74); width: 100%; line-height: 30px; padding: 2px 10px; margin-bottom: 13px; display: block; }
.item-review select{ border: 1px solid rgb(255, 0, 74); width: 100%; height: 36px; line-height: 36px; padding: 2px 10px; margin-bottom: 13px; display: block; }
.item-review textarea{ border: 1px solid rgb(255, 0, 74); width: 100%; height: 100px; padding: 7px 10px; margin-bottom: 18px; display: block; line-height: 20px; }
.item-review-neighbors-prompt{ font-size: 12px; font-weight: 500; margin-top: -7px; margin-bottom: 13px; }
.item-review-stars{ overflow: hidden; }
.item-review-stars i{ margin-bottom: 13px; font-size: 20px; color: rgb(146, 148, 152); display: block; float: left; padding-right: 5px; padding-left: 5px; cursor: pointer; }
.item-review-stars i:first-child{ margin-left: -5px; }
.item-review-stars i.active{ color: rgb(255, 178, 55); }
.item-review-form-cancel{ margin-left: 7px; }
.item-review-form-error{ padding: 2px 7px; background: rgb(255, 1, 2); color: rgb(255, 255, 255); border-radius: 3px; font-size: 13px; margin-top: 0px; margin-bottom: 13px; line-height: 18px; display: none; }
.item-review-item{ padding-left: 10px; padding-top: 2px; padding-bottom: 2px; border-left: 1px solid rgb(255, 0, 74); margin: 0px 0px 20px; }
.item-review-iheader{ overflow: hidden; display: block; margin-bottom: 5px; }
.item-review-name{ font-weight: 500; float: left; display: block; }
.item-review-date{ float: right; display: block; font-style: italic; }
.item-review-score{ clear: both; display: block; width: 100%; margin-bottom: 5px; }
.item-review-score-s{ position: relative; display: inline-block; margin-right: 7px; float: left; }
.item-review-score-s .fas{ color: rgb(255, 177, 55); font-size: 21px; }
.item-review-score-s span{ position: absolute; inset: 0px; display: block; font-size: 11px; line-height: 22px; color: rgb(255, 255, 255); text-align: center; text-shadow: rgb(214, 214, 214) 0px 0px 1px; }
.item-review-score-p2, .item-review-score-p{ margin-right: 6px; float: left; background: rgb(0, 179, 91); }
.item-review-score-p2{ background: rgb(236, 24, 79); }
.item-review-text{ clear: both; display: block; width: 100%; }
.item-review-answer{ margin-left: 40px; margin-top: -10px; border-left: 1px solid rgb(40, 35, 79); }
@media (max-width: 329px){.item-review-score-p2, .item-review-score-p, .item-review-score-n{ font-size: 12px; }
.item-review-score{ width: 108%; }}
#item-map{ height: 400px; }
@media (min-width: 576px){#itemGallery{ margin-right: 0px; margin-left: 0px; }}
@media (min-width: 768px){.ft{ margin-bottom: 0px; }
.item-district span{ display: block; text-align: right; }
.item-district span:first-child{ margin-right: 0px; }
#itemGallery .lSSlideOuter .lSPager.lSGallery li{ height: 80px; }
.item-phone{ font-size: 20px; line-height: 27px; margin: 0px 0px 10px; }
.item-metro .fas, .item-district .fas, .item-phone .fa-phone{ font-size: 16px; margin-right: 6px; }
.item-district{ font-size: 17px; line-height: 30px; }
.item-phone-desk{ font-size: 13px; line-height: 19px; }
.item-data{ height: 100%; }
.block-item-price{ margin-bottom: 0px; height: 100%; }
.item-review input[type="text"]{ max-width: 320px; }
.item-review select{ max-width: 320px; }}
@media (min-width: 992px){.itemGallery{ height: 1px; overflow: visible; }
#itemGallery .lSSlideWrapper{ height: 500px !important; }
.item-phone{ width: 130%; overflow: visible; }
#itemGallery .lSSlideOuter .lSPager.lSGallery li{ height: 50px; }
.block-item-price{ font-size: 13px; }
.item-data li{ font-size: 13px; }
.item-main-data span{ margin: 0px 2px 10px 0px; font-size: 12px; }
.block p.item-prepay{ font-size: 12px; }}
@media (min-width: 1200px){.item-phone{ width: 110%; overflow: visible; font-size: 22px; }
.item-metro .fas, .item-district .fas, .item-phone .fa-phone{ font-size: 17px; margin-right: 7px; }
#itemGallery .lSSlideWrapper{ height: 615px !important; }
#itemGallery .lSSlideOuter .lSPager.lSGallery li{ height: 50px; }
.item-phone-desk{ font-size: 14px; line-height: 23px; }
.block-item-price{ font-size: 14px; }
.item-data li{ font-size: 14px; }
.item-main-data span{ margin: 0px 4px 10px 0px; font-size: 13px; }
.block p.item-prepay{ font-size: 13px; }}
/* ---------------------------------------------------------------------------
 * Engine overrides, appended to every built stylesheet by tools/build_css.py.
 *
 * Two jobs, and nothing else belongs here:
 *   1. styling for markup the reference site did not have (the TOP badge, the
 *      missing-photo placeholder);
 *   2. the mobile and accessibility work the reference never did.
 *
 * Every rule either targets a class the reference does not use, or is scoped
 * to a media query / feature query the reference has no rules in — so the
 * desktop rendering that was verified element-by-element against the original
 * stays untouched.
 * ------------------------------------------------------------------------- */

/* ------------------------------------------------------- paid placement */

/* The TOP flag. Amber rather than the site's red, because red already means
   "verified" on this same photo and two red badges would read as one thing. */
/* No z-index here, deliberately.
 *
 * It had one, and the badge then painted over the open filter panel: the
 * panel sits at z-index 2 on desktop, so any positive value on the badge
 * wins the stacking comparison — while the anchor above it is
 * `position: relative; z-index: auto` and so opens no stacking context to
 * contain it. The card's own badges in the reference carry no z-index for
 * exactly this reason; being positioned is already enough to paint them
 * above the image next to them. */
.item-p-top {
    position: absolute;
    top: 0;
    right: 0;
    padding: 2px 8px 2px 10px;
    font-size: 11px;
    font-weight: 700;
    line-height: 16px;
    letter-spacing: 0.04em;
    color: #4a2d00;
    text-transform: uppercase;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
    background: linear-gradient(135deg, #ffd479 0%, #fab142 55%, #e89a24 100%);
    border-radius: 0 3px 0 3px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
    pointer-events: none;
}

/* the small notch that makes it read as a flag rather than a label */
.item-p-top::after {
    content: "";
    position: absolute;
    left: -6px;
    bottom: 0;
    border-style: solid;
    border-width: 0 6px 6px 0;
    border-color: transparent #c57f12 transparent transparent;
}

/* a promoted card is lifted just enough to be noticed in the grid */
.item-p.is-top {
    box-shadow: 0 0 0 1px rgba(250, 177, 66, 0.55), 0 2px 10px rgba(0, 0, 0, 0.07);
}

/* The reference puts the photo counter and the video marker in the top-right
 * corner of the picture, which is where the TOP flag now lives. Moving them
 * to the bottom-right is a change to the reference design, made on request:
 * the bottom-left corner is already the "Проверено" badge, so the two
 * counters and the flag each get a corner of their own. */
.item-p-p-count {
    top: auto;
    bottom: 4px;
    right: 7px;
}

.item-p-video {
    top: auto;
    bottom: 4.5px;
    right: 33px;
}

/* ------------------------------------------------- stated image dimensions */

/* The templates state width and height on every photo so the browser can
 * reserve the right box before the file arrives — without that, a catalog
 * reflows as images land, and that reflow is most of a failing CLS score.
 *
 * But those attributes are presentational hints for the `width` and `height`
 * properties. The site stylesheet sets `width: 100%` and says nothing about
 * height, so the hint wins over the initial `auto` and the picture renders at
 * its full intrinsic height — 800px inside a 153px column.
 *
 * `height: auto` hands height back to the aspect-ratio the attributes imply,
 * which is exactly what the reference markup had by default, having carried
 * no attributes at all.
 */
.item-p-left img,
#itemGallery img,
.lSPager img,
.lSGallery img {
    height: auto;
}

/* ------------------------------------------------------------- lightbox */

/* Our lightbox reuses fancybox's class names so the existing stylesheet
 * dresses it, but the picture itself gets a class of its own: fancybox sizes
 * .fancybox-image from script, and without that script it collapses to 0x0.
 * Sizing it against the viewport needs no measurement at all. */
.cl-lightbox-img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(92vw, 1400px);
    max-height: 88vh;
    margin: 0 auto;
    border-radius: 2px;
}

/* The dialog box is laid out by script in fancybox too. These rules are what
 * make it stand on its own.
 *
 * Centring targets the current slide only: `.fancybox-slide` is display:none
 * until it becomes current, so turning the base class into a flex container
 * would reveal every slide at once. */
.fancybox-slide--current {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fancybox-content {
    max-width: 94vw;
    max-height: 94vh;
    margin: 0;
    overflow: auto;
}

/* fancybox makes the content box absolute for an image slide and then places
 * it from script. Absolute children are out of flow, so the flex centring
 * above would never reach it; relative puts it back in. */
.fancybox-slide--current > .fancybox-content {
    position: relative;
    top: auto;
    left: auto;
}

.fancybox-slide--image .fancybox-content {
    padding: 0;
    background: transparent;
}

/* Gallery controls inside the lightbox. fancybox has its own arrow markup
 * driven by its script, so these are ours: big, fixed to the viewport edges
 * and out of the way of the picture. */
.cl-lb-prev,
.cl-lb-next {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 72px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.42);
    color: #fff;
    font-size: 38px;
    line-height: 1;
    cursor: pointer;
    z-index: 99999;
}
.cl-lb-prev { left: 10px; }
.cl-lb-next { right: 10px; }
.cl-lb-prev:hover,
.cl-lb-next:hover { background: rgba(0, 0, 0, 0.68); }

.cl-lb-count {
    position: fixed;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
    padding: 4px 12px;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: 13px;
    z-index: 99999;
}

@media (max-width: 600px) {
    .cl-lb-prev,
    .cl-lb-next { width: 44px; height: 60px; font-size: 30px; }
    .cl-lb-prev { left: 4px; }
    .cl-lb-next { right: 4px; }
}

/* fancybox positions its close button against a box its script sized; put it
 * in a corner of the viewport instead, where it is always reachable. */
.fancybox-close-small {
    position: fixed;
    top: 12px;
    right: 12px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    cursor: pointer;
    z-index: 99999;
}
.fancybox-close-small:hover { background: rgba(0, 0, 0, 0.8); }

/* ------------------------------------------------------- the online chip */

/* The online filter sits on the bar itself rather than inside a panel, so it
 * gets a live green dot — the one filter whose answer changes minute to
 * minute deserves to look like it.
 *
 * The dot is ::after, deliberately. In this stylesheet `label::before` IS the
 * checkbox — an 18px box that `:checked + label::before` fills with a tick —
 * so styling ::before here would take the chip's own state indicator away.
 */
.best_checkbox.quick-online label {
    padding-right: 18px;
}

/* Two chips on the bar instead of the reference's one is enough extra width
 * to push the reset link onto a second line on a ~1024px laptop.
 *
 * Only the gaps between items are trimmed, never their padding: the chip
 * label's padding is what leaves room for the checkbox, which this stylesheet
 * draws as an absolutely positioned label::before — squeezing it puts the
 * text underneath the box. Nine gaps at 6px recover more than enough.
 *
 * The range starts above 768px and ends below 1280px, the widths the
 * rendering was verified against element by element.
 */
@media (min-width: 769px) and (max-width: 1279px) {
    .filters_checkboxes .best_checkbox label,
    .filters_dropdown a {
        margin-right: 6px;
    }
}

.best_checkbox.quick-online label::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 8px;
    width: 7px;
    height: 7px;
    margin-top: -3px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.22);
}

.best_checkbox.quick-online input:checked + label {
    color: #15803d;
}

/* ----------------------------------------------------------- messengers */

/* Buttons under the phone number on a listing page. Which messengers exist,
 * what they are called, their colour and their link template are all one
 * setting, so adding another one is data entry rather than a deploy.
 *
 * The brand colour arrives as a custom property set inline from that setting;
 * the fallback is the site accent, so a messenger added without a colour
 * still looks deliberate. */
.item-messengers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    /* No top margin: the row above already ends with its own 9px, and the
     * doubled gap read as a hole. The bottom margin is what was missing —
     * without it the "say you came from the site" strip sat flush against
     * the buttons. */
    margin: 0 0 12px;
}

.item-messenger {
    --mg: #f8104d;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    /* 40px tall: a comfortable target on a phone */
    min-height: 40px;
    padding: 0 14px;
    border-radius: 20px;
    background: var(--mg);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.item-messenger:hover,
.item-messenger:focus {
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.24);
}

.item-messenger:active { transform: translateY(0); }

.item-messenger img,
.item-messenger svg {
    width: 18px;
    height: 18px;
    flex: none;
    display: block;
}

.item-messenger-handle {
    opacity: 0.85;
    font-weight: 400;
}

@media (prefers-reduced-motion: reduce) {
    .item-messenger { transition: none; }
    .item-messenger:hover { transform: none; }
}

/* --------------------------------------------------------- placeholders */

.item-p-left img.no-photo,
.itemGallery img.no-photo {
    background: #ecebf1;
    object-fit: cover;
}

/* ------------------------------------------------- rendering efficiency */

/* `content-visibility: auto` on the cards was tried here and removed.
 *
 * It does cut rendering work on a 60-card grid, but an off-screen card then
 * reports its placeholder height (contain-intrinsic-size) instead of its real
 * one, and the two differ by a couple of pixels per card. Every card would
 * resize slightly as it scrolled into view — which is a layout shift on each
 * one, in exchange for faster paint. CLS is a scored metric and paint here is
 * not the bottleneck, so the trade goes the other way.
 *
 * The rendering win on this page comes from the lazy images and the stated
 * width/height instead, which cost nothing in stability.
 */

/* ------------------------------------------------------------- a11y */

/* The reference removes focus outlines and puts nothing back, which makes the
   filter bar unusable from a keyboard. :focus-visible only shows the ring to
   someone actually navigating by key, so pointer users see no change. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.best_checkbox input:focus-visible + label,
.ui-slider-handle:focus-visible {
    outline: 2px solid #f8104d;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ------------------------------------------------------------- mobile */

@media (max-width: 767px) {
    /* Nothing may scroll sideways. A single overflowing element on a phone
       costs the whole layout score, and long phone numbers, long district
       names and the price table are all candidates. */
    html, body {
        overflow-x: hidden;
        max-width: 100%;
    }

    .item-p-phone,
    .item-p-district,
    .item-p-n {
        overflow-wrap: anywhere;
    }

    /* The source site's tap targets are 20-26px tall, well under the 24px
       minimum, so filter rows and menu links are easy to mis-tap. These are
       padding changes only: no colour, border or font is touched. */
    .best_checkbox label {
        min-height: 28px;
        padding-top: 3px;
        padding-bottom: 3px;
    }

    .header-menu-list ul li a {
        display: block;
        padding: 7px 0;
    }

    .filters_dropdown > a {
        min-height: 40px;
    }

    .item-scrollbar span {
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Keep the sticky bar clear of the last block instead of covering it. */
    .item-scrollbar ~ *,
    section.container {
        scroll-margin-top: 70px;
    }
    body {
        padding-bottom: env(safe-area-inset-bottom, 0);
    }

    /* The conditions table fits at 360px with two columns, but the number of
       columns is admin data and a third one would push it past the screen.
       The container scrolls, not the table: `display:block` on the table
       itself makes it shrink to its content and stop filling the block. */
    .block-item-price {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Drag the range handles without the page scrolling under the finger —
       what Touch Punch was patched in to fix on the original. */
    .filter_slider,
    .ui-slider {
        touch-action: none;
    }

    /* A long filter panel must not grow taller than the screen with its
       Apply button pushed out of reach. */
    .filter_container .fc_content {
        max-height: calc(100vh - 170px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* iOS zooms the page in when a focused field is under 16px. */
    input[type="text"],
    input[type="number"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    select,
    textarea {
        font-size: 16px;
    }
}

/* The grid is one column below 576px in the reference; the gutter there is
   wider than the content needs on a 360px screen. */
@media (max-width: 374px) {
    .item-p-info span {
        font-size: 11px;
    }
}

