�����JFIF��XX����������    $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222�����"����4���������������������������� ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������,�PG"Z_�4�˷����kjز�Z�,F+��_z�,�© �����zh6�٨�ic�fu������������������������������������#ډb���_�N��?�����������wQ���5-�~�I���8���������������������������������TK<5o�Iv-������������������k�_U_������������������������������~b�M��d��������Ӝ�U�Hh��?]��E�w��Q���k�{��_}qFW7HTՑ��Y��F�����?_�'ϔ��_�Ջt������������������������=||I �����6�έ"�����D���/[�k�9����Y�8������ds|\���Ҿp6�Ҵ���]��.����6���z<�v��@]�i%������������������������$j��~����g��J>��no����pM[me�i$[�����������s�o�ᘨ�˸ nɜG-�ĨU�ycP���3.DB�li�;���������������������hj���x����7Z^�N�h��������N3u{�:j�����x�힞��#M��&��jL P@��_���� P�������������������&��o8��������9������@Sz���6�t7#O�ߋ �����s}Yf�T������lmr����Z)'N��k�۞p�����w\�T���������������ȯ?�8`���O��i{wﭹW�[�r�� ��Q4F�׊������3m&L�=��h3�������z~��#����\�l :�F,j@�� ʱ�wQT����8�"kJO����6�֚l������������������}����R�>ډK���]��y����&����p�}b������;N�1�m�r$����|��7�>e�@���B�TM*-i�H��g�D�)� E�m�|�ؘbҗ�a���Ҿ����������������t4�����o���G��*oCN�rP���Q��@z,|?W[0���������:�n,j���WiE��W������$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S���������������VN;���}�s?.����� w��9��˟<���Mq4�Wv'������{)0�1mB����V����W[��������8�/<� �%���wT^�5���b��)iM� p�g�N�&ݝ������������VO~��q���u���9��� ����!��J27�����$����O-���! �:���%H��� ـ�������y�ΠM=t{!S�� �oK8�������t<����è��������:a��������[������ա�H���~��w��Qz`�p����o�^ ������Q��n����� �,uu�C��$ ^���,�������8�#��:�6��e�|~�����������!�3��3.�\0�����q��o�4`.|� ����y�Q�`~;�d�ׯ,��O�Zw�������`73�v�܋�<�����Ȏ�� ـ4k��5�K�a�u�=9Yd��$>x�A�&�� j0� ���vF��� Y���|�y��� ~�6�@c��1vOp��������Ig�����4��l�OD�����L����� R���c���j�_�uX�6��3?nk��Wy�f;^*B� ��@���~a�`��Eu�������+�����6�L��.ü>��}y���}_�O�6�͐�:�Yr���G�X��kG������l^w����������~㒶sy���Iu�!���� W ��X��N�7BV��O��!X�2����wvG�R�f�T#�����t�/?���%8�^�W�aT����G�cL�M���I��(J����1~�8�?aT ���]����AS�E��(��*E}� 2������#I/�׍qz��^t�̔���������b�Yz4x����t�){ OH�����+(E��A&�N�������XT��o��"�XC����'���)}�J�z�p� ����~5�}�^����+�6����w��c��Q�|�Lp�d�H��}�(�.|����k��c4^�����"�����Z?ȕ ��a<�������L�!0�39C� �Eu�����C�F�Ew�ç ;�n?�*o���B�8�bʝ���'#Rqf����M}7����]�������s2tcS{�\icTx;�\��7K���P������ʇ Z O-��~�������c>"��?��������P�����E��O�8��@�8��G��Q�g�a�Վ���󁶠��䧘��_%#r�>�����1�z�a���eb��qcP��ѵ��n���#L��� =��׀t� L�7�`�����V����A{�C:�g���e@�����w1 Xp�3�c3�ġ�������p��M"'-�@n4���fG���B3�DJ�8[Jo�ߐ���gK)ƛ��$���� �������8�3�����+���� �����6�ʻ���� ���S�kI�*KZlT _`�������?��K�����QK�d���������B`�s}�>���`������*�>��,*@J�d�oF*�����弝��O}�k��s��]��y�ߘ�������c1G�V���<=�7��7����6��q�PT��tXԀ�!9*4�4Tހ���3XΛex�46�������Y��D ����� ����BdemDa����\�_l,����G�/���֌7���Y�](�xTt^%�GE�����4�}bT����ڹ�����;��Y)���B�Q��u��>J/J ���⮶.�XԄ��j�ݳ������+E��d ���r�5�_D�����1 ���o�� �B�x�΢�#����<��W�����8���R6�@���g�M�.��� dr�D��>(otU��@�x=��~v���2� ӣ�d�oBd�����3�eO�6�㣷����������ݜ�6��6Y��Qz`����S��{���\P��~z m5{J/L��1������<�e�ͅPu���b�]�ϔ��������'�������f�b� Zpw��c`"��i���BD@:)ִ�:�]��h���v�E��w���T�l�������P����"Ju�}��وV ��J��G6��. J/�Qgl߭�e�����@�z�Zev2u����)]կ���������7x�������s�M�-<ɯ�c��r��v�����@��$�ޮ}lk���a����'����>x��O\�Z������Fu>������ck#��&:��`�$��ai�>2Δ����l���oF[h�������lE�ܺ�Π���k:)���`������� $[6�����9�����kOw�\|�����8}������ބ:��񶐕��������I�A1/���=�2[�,�!��.}gN#�u����b���� ~���������݊��}34q�����d�E��L��������c��$���"�[q�U�硬g^��%B ��z���r�p�������J�ru%v\h�����1Y�ne`������ǥ:g����pQM~�^��Xi� ��`S�:V2������9.�P���V������?B�k�� ��������AEvw%�_�9C�Q����wKekP�ؠ�\������;Io d�{ ߞo�c1eP�����\� `����E=���@K<�Y��������eڼ�J����w����{av�F�'�M�@��������������/J��+9p����|]���������Iw &`���8���&�M�hg���[�{�������Xj���%��Ӓ�������������������$��(�����ʹN�������<>�I���RY�����K2�NPlL�ɀ�)��&e��������B+ь����(������������������� � �JTx����_?EZ� }@���� 6�U���뙢ط�z��dWI��n` D����噥�[��uV��"�G&�����Ú����2�g�}&m���������������������?ċ���"����Om#�������������������������� ��{���������������������ON��"S�X���Ne��ysQ���@�������������Fn��Vg�����dX�~nj����������������������]J�<�K]:����FW���b�������62����������=��5f����JKw����bf�X������������������������55��~J �%^�������:�-�QIE��P��v�nZum� z � ~ə ���� ���ة����;�f��\v�������g�8�1��f2�������������������������4;�V���ǔ�)�������������������9���1\������������������������������c��v�/'Ƞ�w������������������$�4�R-��t����������������������������������� e�6�/�ġ �̕Ecy�J���u�B���<�W�ַ~�w[B1L۲�-JS΂�{���΃�������������������������������������������A��20�c#���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@���� 0!1@AP"#2Q`$3V�%45a6�FRUq����� ������^7ׅ,$n��������+��F�`��2X'��0vM��p�L=�������5��8������u�p~���.�`r�����\����O��,ư�0oS ��_�M�����l���4�kv\JSd���x���SW�<��Ae�IX����������$I���w�:S���y���›R��9�Q[���,�5�;�@]�%���u�@ *ro�lbI �� ��+���%m:�͇ZV�����u�̉����θau<�fc�.����{�4Ա� �Q����*�Sm��8\ujqs]{kN���)qO�y�_*dJ�b�7���yQqI&9�ԌK!�M}�R�;�������S�T���1���i[U�ɵz�]��U)V�S6���3$K{��ߊ<�(� E]Զ[ǼENg�����'�\?#)Dkf��J���o��v���'�%ƞ�&K�u��!��b�35LX�Ϸ��63$K�a�;�9>,R��W��3�3� d�JeTYE.Mϧ��-�o�j3+y��y^�c�������VO�9NV\nd�1 ��!͕_)a�v;����թ�M�lWR1��)El��P;��yوÏ�u 3�k�5Pr6<�⒲l�!˞*��u־�n�!�l:����UNW ��%��Chx8vL'��X�@��*��)���̮��ˍ��� ����D-M�+J�U�kvK����+�x8��cY������?�Ԡ��~3mo��|�u@[XeY�C�\Kp�x8�oC�C�&����N�~3-H���� ��MX�s�u<`���~"WL��$8ξ��3���a�)|:@�m�\���^�`�@ҷ)�5p+��6���p�%i)P M���ngc�����#0Aruz���RL+xSS?���ʮ}()#�t��mˇ!��0}}y����<�e� �-ή�Ԩ��X������ MF���ԙ~l L.3���}�V뽺�v������멬��Nl�)�2����^�Iq��a��M��qG��T�����c3#������3U�Ǎ���}��לS�|qa��ڃ�+���-��2�f����/��bz��ڐ�� �ݼ[2�ç����k�X�2�* �Z�d���J�G����M*9W���s{��w���T��x��y,�in�O�v��]���n����P�$��JB@=4�OTI�n��e�22a\����q�d���%�$��(���:���: /*�K[PR�fr\nڙdN���F�n�$�4��[�� U�zƶ����� �mʋ���,�ao�u 3�z� �x��Kn����\[��VFmbE;�_U��&V�Gg�]L�۪&#n%�$ɯ��dG���D�TI=�%+AB�Ru#��b4�1�»x�cs�YzڙJG��f��Il���d�eF'T� iA��T���uC�$����Y��H?����[!G`}���ͪ� �纤Hv\������j�Ex�K���!���OiƸ�Yj�+u-<���'q����uN�*�r\��+�]���<�wOZ.fp�ێ��,-*)V?j-kÊ#�`�r��dV����(�ݽBk�����G�ƛk�QmUڗe��Z���f}|����8�8��a���i��3'J�����~G_�^���d�8w������ R�`(�~�.��u���l�s+g�bv���W���lGc}��u���afE~1�Ue������Z�0�8�=e�� f@/�jqEKQQ�J���oN��J���W5~M>$6�Lt�;$ʳ{���^��6�{����v6���ķܰg�V�cnn �~z�x�«�,2�u�?cE+Ș�H؎�%�Za�)���X>uW�Tz�Nyo����s���FQƤ��$��*�&�LLXL)�1�" L��eO��ɟ�9=���:t��Z���c��Ž���Y?�ӭV�wv�~,Y��r�ۗ�|�y��GaF�����C�����.�+� ���v1���fήJ�����]�S��T��B��n5sW}y�$��~z�'�c ��8 ��� ,! �p��VN�S��N�N�q��y8z˱�A��4��*��'������2n<�s���^ǧ˭P�Jޮɏ�U�G�L�J�*#��<�V��t7�8����TĜ>��i}K%,���)[��z�21z ?�N�i�n1?T�I�R#��m-�����������������1����lA�`��fT5+��ܐ�c�q՝��ʐ��,���3�f2U�եmab��#ŠdQ�y>\��)�SLY����w#��.���ʑ�f��� ,"+�w�~�N�'�c�O�3F�������N<���)j��&��,-� �љ���֊�_�zS���TǦ����w�>��?�������n��U仆�V���e�����0���$�C�d���rP �m�׈e�Xm�Vu� �L��.�bֹ��� �[Դaզ���*��\y�8�Է:�Ez\�0�Kq�C b��̘��cө���Q��=0Y��s�N��S.����3.���O�o:���#���v7�[#߫ ��5�܎�L���Er4���9n��COWlG�^��0k�%<���ZB���aB_���������'=��{i�v�l�$�uC���mƎҝ{�c㱼�y]���W�i ��ߧc��m�H� m�"�"�����;Y�ߝ�Z�Ǔ�����:S#��|}�y�,/k�Ld� TA�(�AI$+I3��;Y*���Z��}|��ӧO��d�v��..#:n��f>�>���ȶI�TX��� 8��y����"d�R�|�)0���=���n4��6ⲑ�+��r<�O�܂~zh�z����7ܓ�HH�Ga롏���nCo�>������a ���~]���R���̲c?�6(�q�;5%� |�uj�~z8R�=X��I�V=�|{v�Gj\gc��q����z�؋%M�ߍ����1y��#��@f^���^�>N������#x#۹��6�Y~�?�dfPO��{��P�4��V��u1E1J �*|���%����JN��`eWu�zk M6���q t[�� ��g�G���v��WIG��u_ft����5�j�"�Y�:T��ɐ���*�;� e5���4����q$C��2d�}���� _S�L#m�Yp��O�.�C�;��c����Hi#֩%+) �Ӎ��ƲV���SYź��g |���tj��3�8���r|���V��1#;.SQ�A[���S������#���`n�+���$��$�I �P\[�@�s��(�ED�z���P��])8�G#��0B��[ى��X�II�q<��9�~[Z멜�Z�⊔IWU&A>�P~�#��dp<�?����7���c��'~���5 ��+$���lx@�M�dm��n<=e�dyX��?{�|Aef ,|n3�<~z�ƃ�uۧ�����P��Y,�ӥQ�*g�#먙R�\���;T��i,��[9Qi歉����c>]9�� ��"�c��P�� �Md?٥��If�ت�u��k��/����F��9�c*9��Ǎ:�ØF���z�n*�@|I�ށ9����N3{'��[�'ͬ�Ҳ4��#}��!�V� Fu��,�,mTIk���v C�7v���B�6k�T9��1�*l� '~��ƞF��lU��'�M ����][ΩũJ_�{�i�I�n��$����L�� j��O�dx�����kza۪��#�E��Cl����x˘�o�����V���ɞ�ljr��)�/,�߬h�L��#��^��L�ф�,íMƁe�̩�NB�L�����iL����q�}��(��q��6IçJ$�W�E$��:������=#����(�K�B����zђ <��K(�N�۫K�w��^O{!����)��H���>x�������lx�?>Պ�+�>�W���,Ly!_�D���Ō�l���Q�!�[ �S����J��1��Ɛ�Y}��b,+�Lo�x�ɓ)����=�y�oh�@�꥟/��I��ѭ=��P�y9��� �ۍYӘ�e+�p�Jnϱ?V\SO%�(�t� ���=?MR�[Ș�����d�/ ��n�l��B�7j� ��!�;ӥ�/�[-���A�>��dN�sLj ��,ɪv��=1c�.SQ�O3�U���ƀ�ܽ�E����������̻��9G�ϷD�7(�}��Ävӌ\��y�_0[w ���<΍>����a_��[0+�L��F.�޺��f�>oN�T����q;���y\��bՃ��y�jH�<|q-eɏ�_?_9+P���Hp$�����[ux�K w�Mw��N�ی'$Y2�=��q���KB��P��~�������Yul:�[<����F1�2�O���5=d����]Y�sw:���Ϯ���E��j,_Q��X��z`H1,#II ��d�wr��P˂@�ZJV����y$�\y�{}��^~���[:N����ߌ�U�������O��d�����ؾe��${p>G��3c���Ė�lʌ�� ת��[��`ϱ�-W����dg�I��ig2��� ��}s ��ؤ(%#sS@���~���3�X�nRG�~\jc3�v��ӍL��M[JB�T��s3}��j�Nʖ��W����;7���ç?=X�F=-�=����q�ߚ���#���='�c��7���ڑW�I(O+=:uxq�������������e2�zi+�kuG�R��������0�&e�n���iT^J����~\jy���p'dtG��s����O��3����9* �b#Ɋ�� p������[Bws�T�>d4�ۧs���nv�n���U���_�~,�v����ƜJ1��s�� �QIz���)�(lv8M���U=�;����56��G���s#�K���MP�=��LvyGd��}�VwWBF�'�à �?MH�U�g2�� ����!�p�7Q��j��ڴ����=��j�u��� Jn�A s���uM������e��Ɔ�Ҕ�!)�'��8Ϣ�ٔ���ޝ(��Vp���צ֖d=�IC�J�Ǡ{q������kԭ�߸���i��@K����u�|�p=..�*+����x�����z[Aqġ#s2a�Ɗ���RR�)*HRsi�~�a &f��M��P����-K�L@��Z��Xy�'x�{}��Zm+���:�)�) IJ�-i�u���� ���ܒH��'��L(7�y�GӜq���� j��� 6ߌg1�g�o���,kر���tY�?W,���p���e���f�OQS��!K�۟cҒA�|ս�j�>��=⬒��˧L[�� �߿2JaB~R��u�:��Q�] �0H~���]�7��Ƽ�I���(�}��cq '�ήET���q�?f�ab���ӥvr� �)o��-Q��_'����ᴎo��K������;��V���o��%���~OK ����*��b�f:���-ťIR��`B�5!RB@���ï�� �u �̯e\�_U�_������� g�ES��3��������QT��a�����x����U<~�c?�*�#]�MW,[8O�a�x��]�1bC|踤�P��lw5V%�)�{t�<��d��5���0i�XSU��m:��Z�┵�i�"��1�^B�-��P�hJ��&)O��*�D��c�W��vM��)����}���P��ܗ-q����\mmζZ-l@�}��a��E�6��F�@��&Sg@���ݚ�M����� ȹ 4����#p�\H����dYDo�H���"��\��..R�B�H�z_�/5˘����6��KhJR��P�mƶi�m���3��,#c�co��q�a)*P�t����R�m�k�7x�D�E�\Y�閣_X�<���~�)���c[[�BP����6�Yq���S��0����%_����;��Àv�~�| VS؇ ��'O0��F0��\���U�-�d@�����7�SJ*z��3n��y��P����O����������m�~�P�3|Y��ʉr#�C�<�G~�.,! ���bqx���h~0=��!ǫ�jy����l��O,�[B��~��|9��ٱ����Xly�#�i�B��g%�S��������tˋ���e���ې��\[d�t)��.+u�|1 ������#�~Oj����hS�%��i.�~X���I�H�m��0n���c�1uE�q��cF�RF�o���7� �O�ꮧ� ���ۛ{��ʛi5�rw?׌#Qn�TW��~?y$��m\�\o����%W� ?=>S�N@�� �Ʈ���R����N�)�r"C�:��:����� �����#��qb��Y�. �6[��2K����2u�Ǧ�HYR��Q�MV��� �G�$��Q+.>�����nNH��q�^��� ����q��mM��V��D�+�-�#*�U�̒ ���p욳��u:�������IB���m����PV@O���r[b= �� ��1U�E��_Nm�yKbN�O���U�}�the�`�|6֮P>�\2�P�V���I�D�i�P�O;�9�r�mAHG�W�S]��J*�_�G��+kP�2����Ka�Z���H�'K�x�W�MZ%�O�YD�Rc+o��?�q��Ghm��d�S�oh�\�D�|:W������UA�Qc yT�q��������~^�H��/��#p�CZ���T�I�1�ӏT����4��"�ČZ�����}��`w�#�*,ʹ�� ��0�i��課�Om�*�da��^gJ݅{���l�e9uF#T�ֲ��̲�ٞC"�q���ߍ ոޑ�o#�XZTp����@ o�8��(jd��xw�]�,f���`~��|,s��^����f�1���t��|��m�򸄭/ctr��5s��7�9Q�4�H1꠲BB@�l9@���C�����+�wp�xu�£Yc�9��?`@#�o�mH�s2��)�=��2�.�l����jg�9$�Y�S�%*L������R�Y������7Z���,*=�䷘$�������arm�o�ϰ���UW.|�r�uf����IGw�t����Zwo��~5 ��YյhO+=8fF�)�W�7�L9lM�̘·Y���֘YLf�큹�pRF���99.A �"wz��=E\Z���'a� 2��Ǚ�#;�'}�G���*��l��^"q��+2FQ� hj��kŦ��${���ޮ-�T�٭cf�|�3#~�RJ����t��$b�(R��(����r���dx� >U b�&9,>���%E\� Ά�e�$��'�q't��*�א���ެ�b��-|d���SB�O�O��$�R+�H�)�܎�K��1m`;�J�2�Y~9��O�g8=vqD`K[�F)k�[���1m޼c��n���]s�k�z$@��)!I �x՝"v��9=�ZA=`Ɠi �:�E��)`�7��vI��}d�YI�_ �o�:ob���o ���3Q��&D&�2=�� �Ά��;>�h����y.*ⅥS������Ӭ�+q&����j|UƧ�����}���J0��WW< ۋS�)jQR�j���Ư��rN)�Gű�4Ѷ(�S)Ǣ�8��i��W52���No˓� ۍ%�5brOn�L�;�n��\G����=�^U�dI���8$�&���h��'���+�(������cȁ߫k�l��S^���cƗjԌE�ꭔ��gF���Ȓ��@���}O���*;e�v�WV���YJ\�]X'5��ղ�k�F��b 6R�o՜m��i N�i�����>J����?��lPm�U��}>_Z&�KK��q�r��I�D�Չ~�q�3fL�:S�e>���E���-G���{L�6p�e,8��������QI��h��a�Xa��U�A'���ʂ���s�+טIjP�-��y�8ۈZ?J$��W�P� ��R�s�]��|�l(�ԓ��sƊi��o(��S0���Y� 8�T97.�����WiL��c�~�dxc�E|�2!�X�K�Ƙਫ਼�$((�6�~|d9u+�qd�^3�89��Y�6L�.I�����?���iI�q���9�)O/뚅����O���X��X�V��ZF[�یgQ�L��K1���RҖr@v�#��X�l��F���Нy�S�8�7�kF!A��sM���^rkp�jP�DyS$N���q���nxҍ!U�f�!eh�i�2�m����`�Y�I�9r�6� �TF���C}/�y�^���Η���5d�'��9A-��J��>{�_l+�`��A���[�'��յ�ϛ#w:݅�%��X�}�&�PSt�Q�"�-��\縵�/����$Ɨh�Xb�*�y��BS����;W�ջ_mc�����vt?2}1�;qS�d�d~u:2k5�2�R�~�z+|HE!)�Ǟl��7`��0�<�,�2*���Hl-��x�^����'_TV�gZA�'j� ^�2Ϊ��N7t�����?w�� �x1��f��Iz�C-Ȗ��K�^q�;���-W�DvT�7��8�Z�������� hK�(P:��Q- �8�n�Z���܃e貾�<�1�YT<�,�����"�6{�/ �?�͟��|1�:�#g��W�>$����d��J��d�B���=��jf[��%rE^��il:��B���x���Sּ�1հ��,�=��*�7 fcG��#q� �eh?��2�7�����,�!7x��6�n�LC�4x��},Geǝ�tC.��vS �F�43��zz\��;QYC,6����~;RYS/6���|2���5���v��T��i����������mlv��������&� �nRh^ejR�LG�f���? �ۉҬܦƩ��|��Ȱ����>3����!v��i�ʯ�>�v��オ�X3e���_1z�Kȗ\<������!�8���V��]��?b�k41�Re��T�q��mz��TiOʦ�Z��Xq���L������q"+���2ۨ��8}�&N7XU7Ap�d�X��~�׿��&4e�o�F��� �H�����O���č�c�� 懴�6���͉��+)��v;j��ݷ�� �UV�� i��� j���Y9GdÒJ1��詞�����V?h��l�����l�cGs�ځ�������y�Ac������\V3�? �� ܙg�>qH�S,�E�W�[�㺨�uch�⍸�O�}���a��>�q�6�n6�����N6�q��������N� ���! 1AQaq�0@����"2BRb�#Pr���3C`��Scst���$4D���%Td���� ?�����N����a��3��m���C���w��������xA�m�q�m����m������$����4n淿t'��C"w��zU=D�\R+w�p+Y�T�&�պ@��ƃ��3ޯ?�Aﶂ��aŘ���@-�����Q�=���9D��ռ�ѻ@��M�V��P��܅�G5�f�Y<�u=,EC)�<�Fy'�"�&�չ�X~f��l�KԆV��?�� �W�N����=(� �;���{�r����ٌ�Y���h{�١������jW����P���Tc�����X�K�r��}���w�R��%��?���E��m�� �Y�q|����\lEE4����r���}�lsI�Y������f�$�=�d�yO����p�����yBj8jU�o�/�S��?�U��*������ˍ�0�������u�q�m [�?f����a�� )Q�>����6#������� ?����0UQ����,IX���(6ڵ[�DI�MNލ�c&���υ�j\��X�R|,4��� j������T�hA�e��^���d���b<����n�� �즇�=!���3�^�`j�h�ȓr��jẕ�c�,ٞX����-����a�ﶔ���#�$��]w�O��Ӫ�1y%��L�Y<�wg#�ǝ�̗`�x�xa�t�w��»1���o7o5��>�m뭛C���Uƃߜ}�C���y1Xνm�F8�jI���]����H���ۺиE@I�i;r�8ӭ�����V�F�Շ| ��&?�3|x�B�MuS�Ge�=Ӕ�#BE5G������Y!z��_e��q�р/W>|-�Ci߇�t�1ޯќd�R3�u��g�=0 5��[?�#͏��q�cf���H��{ ?u�=?�?ǯ���}Z��z���hmΔ�BFTW�����<�q��(v� ��!��z���iW]*�J�V�z��gX֧A�q�&��/w���u�gYӘa���; �i=����g:��?2�dž6�ى�k�4�>�Pxs����}������G�9���3 ���)gG�R<>r h�$��'nc�h�P��Bj��J�ҧH� -��N1���N��?��~��}-q!=��_2hc�M��l�vY%UE�@|�v����M2�.Y[|y�"Eï��K�ZF,�ɯ?,q�?v�M 80jx�"�;�9vk�����+ ֧�� �ȺU��?�%�vcV��mA�6��Qg^M�����A}�3�nl� QRN�l8�kkn�'�����(��M�7m9و�q���%ޟ���*h$Zk"��$�9��: �?U8�Sl��,,|ɒ��xH(ѷ����Gn�/Q�4�P��G�%��Ա8�N��!� �&�7�;���eKM7�4��9R/%����l�c>�x;������>��C�:�����t��h?aKX�bhe�ᜋ^�$�Iհ �hr7%F$�E��Fd���t��5���+�(M6�t����Ü�UU|zW�=a�Ts�Tg������dqP�Q����b'�m���1{|Y����X�N��b �P~��F^F:����k6�"�j!�� �I�r�`��1&�-$�Bevk:y���#y�w��I0��x��=D�4��tU���P�ZH��ڠ底taP��6����b>�xa�����Q�#� WeF��ŮNj�p�J* mQ�N�����*I�-*�ȩ�F�g�3 �5��V�ʊ�ɮ�a��5F���O@{���NX��?����H�]3��1�Ri_u��������ѕ�� ����0��� F��~��:60�p�͈�S��qX#a�5>���`�o&+�<2�D����: �������ڝ�$�nP���*)�N�|y�Ej�F�5ټ�e���ihy�Z �>���k�bH�a�v��h�-#���!�Po=@k̆IEN��@��}Ll?j�O������߭�ʞ���Q|A07x���wt!xf���I2?Z��<ץ�T���cU�j��]���陎Ltl �}5�ϓ��$�,��O�mˊ�;�@O��jE��j(�ا,��LX���LO���Ц�90�O �.����a��nA���7������j4 ��W��_ٓ���zW�jcB������y՗+EM�)d���N�g6�y1_x��p�$Lv�:��9�"z��p���ʙ$��^��JԼ*�ϭ����o���=x�Lj�6�J��u82�A�H�3$�ٕ@�=Vv�]�'�qEz�;I˼��)��=��ɯ���x �/�W(V���p�����$ �m�������u�����񶤑Oqˎ�T����r��㠚x�sr�GC��byp�G��1ߠ�w e�8�$⿄����/�M{*}��W�]˷.�CK\�ުx���/$�WP�w���r� |i���&�}�{�X� �>��$-��l���?-z���g����lΆ���(F���h�vS*���b���߲ڡn,|)mrH[���a�3�ר�[1��3o_�U�3�TC�$��(�=�)0�kgP���� ��u�^=��4 �WYCҸ:��vQ�ר�X�à��tk�m,�t*��^�,�}D*�� �"(�I��9R����>`�`��[~Q]�#af��i6l��8���6�:,s�s�N6�j"�A4���IuQ��6E,�GnH��zS�HO�uk�5$�I�4��ؤ�Q9�@��C����wp��BGv[]�u�Ov����0I4���\��y�����Q�Ѹ��~>Z��8�T��a��q�ޣ;z��a���/��S��I:�ܫ_�|������>=Z����8:�S��U�I�J��"IY���8%b8���H��:�QO�6�;7�I�S��J��ҌAά3��>c���E+&jf$eC+�z�;��V����� �r���ʺ������my�e���aQ�f&��6�ND���.:��NT�vm�<- u���ǝ\MvZY�N�NT��-A�>jr!S��n�O 1�3�Ns�%�3D@���`������ܟ 1�^c<���� �a�ɽ�̲�Xë#�w�|y�cW�=�9I*H8�p�^(4���՗�k��arOcW�tO�\�ƍR��8����'�K���I�Q�����?5�>[�}��yU�ײ -h��=��% q�ThG�2�)���"ו3]�!kB��*p�FDl�A���,�eEi�H�f�Ps�����5�H:�Փ~�H�0Dت�D�I����h�F3�������c��2���E��9�H��5�zԑ�ʚ�i�X�=:m�xg�hd(�v����׊�9iS��O��d@0ڽ���:�p�5�h-��t�&���X�q�ӕ,��ie�|���7A�2���O%P��E��htj��Y1��w�Ѓ!����  ���� ࢽ��My�7�\�a�@�ţ�J ��4�Ȼ�F�@o�̒?4�wx��)��]�P��~�����u�����5�����7X ��9��^ܩ�U;Iꭆ 5 �������eK2�7(�{|��Y׎ �V��\"���Z�1� Z�����}��(�Ǝ"�1S���_�vE30>���p;� ΝD��%x�W�?W?v����o�^V�i�d��r[��/&>�~`�9Wh��y�;���R���� ;;ɮT��?����r$�g1�K����A��C��c��K��l:�'��3 c�ﳯ*"t8�~l��)���m��+U,z��`(��>yJ�?����h>��]��v��ЍG*�{`��;y]��I�T� ;c��NU�fo¾h���/$���|NS���1�S�"�H��V���T���4��uhǜ�]�v;���5�͠x��'C\�SBpl���h}�N����� A�Bx���%��ޭ�l��/����T��w�ʽ]D�=����K���ž�r㻠l4�S�O?=�k �M:� ��c�C�a�#ha���)�ѐxc�s���gP�iG���{+���x���Q���I= �� z��ԫ+ �8"�k�ñ�j=|����c ��y��CF��/���*9ж�h{ �?4�o� ��k�m�Q�N�x��;�Y��4膚�a�w?�6�>�e]�����Q�r�:����g�,i"�����ԩA��*M�<�G��b�if��l^M��5�� �Ҩ�{����6J��ZJ�����P�*�����Y���ݛu�_4�9�I8�7���������,^ToR���m4�H��?�N�S�ѕw��/S��甍�@�9H�S�T��t�ƻ���ʒU��*{Xs�@����f������֒Li�K{H�w^���������Ϥm�tq���s� ���ք��f:��o~s��g�r��ט� �S�ѱC�e]�x���a��) ���(b-$(�j>�7q�B?ӕ�F��hV25r[7 Y� }L�R��}����*sg+��x�r�2�U=�*'WS��ZDW]�WǞ�<��叓���{�$�9Ou4��y�90-�1�'*D`�c�^o?(�9��u���ݐ��'PI&� f�Jݮ�������:wS����jfP1F:X �H�9dԯ����˝[�_54 �}*;@�ܨ�� ð�yn�T���?�ןd�#���4rG�ͨ��H�1�|-#���Mr�S3��G�3�����)�.᧏3v�z֑��r����$G"�`j �1t��x0<Ɔ�Wh6�y�6��,œ�Ga��gA����y��b��)���h�D��ß�_�m��ü �gG;��e�v��ݝ�nQ� ��C����-�*��o���y�a��M��I�>�<���]obD��"�:���G�A��-\%LT�8���c�)��+y76���o�Q�#*{�(F�⽕�y����=���rW�\p���۩�c���A���^e6��K������ʐ�cVf5$�'->���ՉN"���F�"�UQ@�f��Gb~��#�&�M=��8�ט�JNu9��D��[̤�s�o�~������� G��9T�tW^g5y$b��Y'��س�Ǵ�=��U-2 #�MC�t(�i� �lj�@Q 5�̣i�*�O����s�x�K�f��}\��M{E�V�{�υ��Ƈ�����);�H����I��fe�Lȣr�2��>��W��I�Ȃ6������i��k�� �5�YOxȺ����>��Y�f5'��|��H+��98pj�n�.O�y�������jY��~��i�w'������l�;�s�2��Y��:'lg�ꥴ)o#'Sa�a�K��Z� �m��}�`169�n���"���x��I ��*+� }F<��cГ���F�P�������ֹ*�PqX�x۩��,� ��N�� �4<-����%����:��7����W���u�`����� $�?�I��&����o��o��`v�>��P��"��l���4��5'�Z�gE���8���?��[�X�7(��.Q�-��*���ތL@̲����v��.5���[��=�t\+�CNܛ��,g�SQnH����}*F�G16���&:�t��4ُ"A��̣��$�b �|����#rs��a�����T�� ]�<�j��B�S�('$�ɻ� �wP;�/�n��?�ݜ��x�F��yUn�~mL*-�������Xf�wd^�a�}��f�,=t�׵i�.2/wpN�Ep8�OР���•��R�FJ� 55TZ��T �ɭ�<��]��/�0�r�@�f��V��V����Nz�G��^���7hZi����k��3�,kN�e|�vg�1{9]_i��X5y7� 8e]�U����'�-2,���e"����]ot�I��Y_��n�(JҼ��1�O ]bXc���Nu�No��pS���Q_���_�?i�~�x h5d'�(qw52] ��'ޤ�q��o1�R!���`ywy�A4u���h<קy���\[~�4�\ X�Wt/� 6�����n�F�a8��f���z �3$�t(���q��q�x��^�XWeN'p<-v�!�{�(>ӽDP7��ո0�y)�e$ٕv�Ih'Q�EA�m*�H��RI��=:��� ���4牢) �%_iN�ݧ�l]� �Nt���G��H�L��� ɱ�g<���1V�,�J~�ٹ�"K��Q�� 9�HS�9�?@��k����r�;we݁�]I�!{ �@�G�[�"��`���J:�n]�{�cA�E����V��ʆ���#��U9�6����j�#Y�m\��q�e4h�B�7��C�������d<�?J����1g:ٳ���=Y���D�p�ц� ׈ǔ��1�]26؜oS�'��9�V�FVu�P�h�9�xc�oq�X��p�o�5��Ա5$�9W�V(�[Ak�aY錎qf;�'�[�|���b�6�Ck��)��#a#a˙��8���=äh�4��2��C��4tm^ �n'c����]GQ$[Wҿ��i���vN�{Fu ��1�gx��1┷���N�m��{j-,��x�� Ūm�ЧS�[�s���Gna���䑴�� x�p 8<������97�Q���ϴ�v�aϚG��Rt�Һ׈�f^\r��WH�JU�7Z���y)�vg=����n��4�_)y��D'y�6�]�c�5̪��\� �PF�k����&�c;��cq�$~T�7j ���nç]�<�g ":�to�t}�159�<�/�8������m�b�K#g'I'.W������6��I/��>v��\�MN��g���m�A�yQL�4u�Lj�j9��#44�t��l^�}L����n��R��!��t��±]��r��h6ٍ>�yҏ�N��fU�� ���� Fm@�8}�/u��jb9������he:A�y�ծw��GpΧh�5����l}�3p468��)U��d��c����;Us/�֔�YX�1�O2��uq�s��`hwg�r~�{ R��mhN��؎*q 42�*th��>�#���E����#��Hv�O����q�}������6�e��\�,Wk�#���X��b>��p}�դ��3���T5��†��6��[��@��P�y*n��|'f�֧>�lư΂�̺����SU�'*�q�p�_S�����M�� '��c�6������m�� ySʨ;M��r���Ƌ�m�Kxo,���Gm�P��A�G�:��i��w�9�}M(�^�V��$ǒ�ѽ�9���|���� �a����J�SQ�a���r�B;����}���ٻ֢�2�%U���c�#�g���N�a�ݕ�'�v�[�OY'��3L�3�;,p�]@�S��{ls��X�'���c�jw��k'a�.��}�}&�� �dP�*�bK=ɍ!����;3n�gΊU�ߴmt�'*{,=SzfD� A��ko~�G�aoq�_mi}#�m�������P�Xhύ�����mxǍ�΂���巿zf��Q���c���|kc�����?���W��Y�$���_Lv����l߶��c���`?����l�j�ݲˏ!V��6����U�Ђ(A���4y)H���p�Z_�x��>���e���R��$�/�`^'3qˏ�-&Q�=?��CFVR �D�fV�9��{�8g�������n�h�(P"��6�[�D���< E�����~0<@�`�G�6����Hг�cc�� �c�K.5��D��d�B���`?�XQ��2��ٿyqo&+�1^� DW�0�ꊩ���G�#��Q�nL3��c���������/��x ��1�1�[y�x�პCW��C�c�UĨ80�m�e�4.{�m��u���I=��f�����0QRls9���f���������9���~f�����Ǩ��a�"@�8���ȁ�Q����#c�ic������G��$���G���r/$W�(��W���V�"��m�7�[m�A�m����bo��D� j����۳� l���^�k�h׽����� ��#� iXn�v��eT�k�a�^Y�4�BN���ĕ���0������� !01@Q"2AaPq3BR�������?�����@4�Q�����T3,���㺠�W�[=JK�Ϟ���2�r^7��vc�:�9 �E�ߴ�w�S#d���Ix��u��:��Hp��9E!�� V 2;73|F��9Y���*ʬ�F��D����u&���y؟��^EA��A��(ɩ���^��GV:ݜDy�`��Jr29ܾ�㝉��[���E;Fzx��YG��U�e�Y�C���� ����v-tx����I�sם�Ę�q��Eb�+P\ :>�i�C'�;�����k|z�رn�y]�#ǿb��Q��������w�����(�r|ӹs��[�D��2v-%��@;�8<a���[\o[ϧw��I!��*0�krs)�[�J9^��ʜ��p1)� "��/_>��o��<1����A�E�y^�C��`�x1'ܣn�p��s`l���fQ��):�l����b>�Me�jH^?�kl3(�z:���1ŠK&?Q�~�{�ٺ�h�y���/�[��V�|6��}�KbX����mn[-��7�5q�94�������dm���c^���h� X��5��<�eޘ>G���-�}�دB�ޟ� ��|�rt�M��V+�]�c?�-#ڛ��^ǂ}���Lkr���O��u�>�-D�ry� D?:ޞ�U��ǜ�7�V��?瓮�"�#���r��չģVR;�n���/_� ؉v�ݶe5d�b9��/O��009�G���5n�W����JpA�*�r9�>�1��.[t���s�F���nQ� V 77R�]�ɫ8����_0<՜�IF�u(v��4��F�k�3��E)��N:��yڮe��P�`�1}�$WS��J�SQ�N�j��ٺ��޵�#l���ј(�5=��5�lǏmoW�v-�1����v,W�mn��߀$x�<����v�j(����c]��@#��1������Ǔ���o'��u+����;G�#�޸��v-lη��/(`i⣍Pm^����ԯ̾9Z��F��������n��1��� ��]�[��)�'�������:�֪�W��FC����� �B9،!?���]��V��A�Վ�M��b�w��G F>_DȬ0¤�#�QR�[V��kz���m�w�"��9ZG�7'[��=�Q����j8R?�zf�\a�=��O�U����*oB�A�|G���2�54 �p��.w7� �� ���&������ξxGHp� B%��$g�����t�Џ򤵍z���HN�u�Я�-�'4��0���;_���3������� !01"@AQa2Pq#3BR�������?����ʩca��en��^��8���<�u#��m*08r��y�N"�<�Ѳ0��@\�p��� �����Kv�D��J8�Fҽ� �f�Y��-m�ybX�NP����}�!*8t(�OqѢ��Q�wW�K��ZD��Δ^e��!� ��B�K��p~�����e*l}z#9ң�k���q#�Ft�o��S�R����-�w�!�S���Ӥß|M�l޶V��!eˈ�8Y���c�ЮM2��tk���� ������J�fS����Ö*i/2�����n]�k�\���|4yX�8��U�P.���Ы[���l��@"�t�<������5�lF���vU�����W��W��;�b�cД^6[#7@vU�xgZv��F�6��Q,K�v��� �+Ъ��n��Ǣ��Ft���8��0��c�@�!�Zq s�v�t�;#](B��-�nῃ~���3g������5�J�%���O������n�kB�ĺ�.r��+���#�N$?�q�/�s�6��p��a����a��J/��M�8��6�ܰ"�*������ɗud"\w���aT(����[��F��U՛����RT�b���n�*��6���O��SJ�.�ij<�v�MT��R\c��5l�sZB>F��<7�;EA��{��E���Ö��1U/�#��d1�a�n.1ě����0�ʾR�h��|�R��Ao�3�m3 ��%�� ���28Q�� ��y��φ���H�To�7�lW>����#i`�q���c����a��� �m,B�-j����݋�'mR1Ήt�>��V��p���s�0IbI�C.���1R�ea�����]H�6�����������4B>��o��](��$B���m�����a�!=���?�B� K�Ǿ+�Ծ"�n���K��*��+��[T#�{�E�J�S����Q�����s�5�:�U�\wĐ�f�3����܆&�)�����I���Ԇw��E T�lrTf6Q|R�h:��[K�� �z��c֧�G�C��%\��_�a��84��HcO�bi��ؖV��7H �)*ģK~Xhչ0��4?�0��� �E<���}3���#���u�?�� ��|g�S�6ꊤ�|�I#Hڛ� �ա��w�X��9��7���Ŀ%�SL��y6č��|�F�a 8���b���$�sק�h���b9RAu7�˨p�Č�_\*w��묦��F ����4D~�f����|(�"m���NK��i�S�>�$d7SlA��/�²����SL��|6N�}���S�˯���g��]6��; �#�.��<���q'Q�1|KQ$�����񛩶"�$r�b:���N8�w@��8$�� �AjfG|~�9F ���Y��ʺ��Bwؒ������M:I岎�G��`s�YV5����6��A �b:�W���G�q%l�����F��H���7�������Fsv7���k�� 403WebShell
403Webshell
Server IP : 192.124.249.156  /  Your IP : 66.248.203.4
Web Server : Apache
System : Linux bom1plzcpnl493956.prod.bom1.secureserver.net 4.18.0-553.141.2.lve.el8.x86_64 #1 SMP Wed Jul 8 16:10:02 UTC 2026 x86_64
User : juhdrekho0kh ( 8995992)
PHP Version : 8.4.21
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/juhdrekho0kh/public_html/geabgr.com/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/juhdrekho0kh/public_html/geabgr.com/butterfly_valve.htm
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Butterfly Valve | Axis Valves | Products | GEA BGR</title>
<link rel="icon" type="image/x-icon" href="images/favicon.ico">
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="css/style.css?v=2.1">
<link rel="stylesheet" type="text/css" href="css/font-awesome.css">
<script src="js/bootstrap.bundle.min.js"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700;800&display=swap" rel="stylesheet">

<!-- Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-WGDT2MDNL3"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-WGDT2MDNL3');
</script>

<!-- reCAPTCHA -->
<script src="https://www.google.com/recaptcha/api.js" async defer></script>

<style>
/* ── Lightbox overlay ── */
#valveLightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.94);
  z-index: 99990;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  user-select: none;
  -webkit-user-select: none;
  overflow: hidden;
}
/* ── Toolbar ── */
#lbToolbar {
  position: absolute;
  top: 0; left: 0; right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 18px;
  background: rgba(0,0,0,0.65);
  z-index: 99992;
  flex-wrap: wrap;
  gap: 8px;
}
#lbToolbar .lb-hint { color: #bbb; font-size: 12px; white-space: nowrap; }
#lbToolbar .lb-btns { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; }
#lbToolbar button {
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.28);
  color: #fff;
  padding: 5px 14px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  transition: background 0.18s;
  white-space: nowrap;
  line-height: 1.4;
}
#lbToolbar button:hover:not(:disabled) { background: rgba(255,255,255,0.28); }
#lbToolbar button:disabled { opacity: 0.35; cursor: default; }
#lbCloseBtn { background: #c00 !important; border-color: #900 !important; font-weight: 700; }
#lbCloseBtn:hover { background: #e00 !important; }
/* ── Zoom % pill ── */
#lbZoomLevel {
  display: inline-block;
  background: rgba(255,255,255,0.16);
  border: 1px solid rgba(255,255,255,0.28);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 5px;
  min-width: 58px;
  text-align: center;
}
/* ── Main canvas ── */
#lbCanvas {
  display: block;
  margin-top: 50px;
  border-radius: 4px;
  max-width: 94vw;
  max-height: 87vh;
}
/* ── Thumbnail hint ── */
.thumb-hint { font-size: 13px; color: #6c757d; margin-top: 8px; }
/* ── DevTools banner ── */
#devtools-warning {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  background: #c00;
  color: #fff;
  text-align: center;
  padding: 12px 16px;
  font-size: 15px;
  font-weight: bold;
  z-index: 999999;
}
/* ════════════════════════════════════════════════════════════
   CONFIGURATOR — critical rules inlined for cache resilience
   Values match style.css exactly so there is no conflict.
   These run whether or not style.css has finished loading or
   has a stale cached version on the visitor's machine.
════════════════════════════════════════════════════════════ */

/* Hide inactive steps, show only the active one */
.form-step        { display: none; }
.form-step.active { display: block; }

/* Step indicator circles */
.step .circle {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #ccc;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  font-weight: bold;
}
.step .circle.active { background: #0d6efd; }

/* Card inner padding — matches style.css */
.card-wrapper { padding: 20px 50px; }

/* Result card — matches style.css */
.card-result {
  width: 75%;
  margin: 5px auto;
}

/* Configurator image */
.configurator-image {
  cursor: zoom-in;
  max-width: 100%;
}

/* Conditional sub-dropdown — fade in when shown */
#makeCol > div { animation: fadeInDrop 0.2s ease; }
@keyframes fadeInDrop {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* Phone validation styles */
.phone-error {
  color: #dc3545;
  font-size: 12px;
  margin-top: 5px;
  display: none;
}
.phone-input.valid {
  border-color: #28a745;
  border-width: 2px;
}
.phone-input.invalid {
  border-color: #dc3545;
  border-width: 2px;
} 

</style>
</head>

<body>
<div class="container-fluid g-0">

  <!-- ═══════════ HEADER ═══════════ -->
  <header class="bg-white shadow" id="navbar_top">
    <div class="NavigationSlideOut">
      <ul class="navbar-top">
        <li class="NavigationTab"><a href="about.htm"><span>About GEA BGR</span></a></li>
        <li class="NavigationTab dropdown">
          <a href="#" class="navbar-toggler-top" type="button" data-bs-toggle="collapse" data-bs-target="#product-nav" aria-controls="product-nav" aria-expanded="false" aria-label="Toggle navigation">
            <span>Products <i class="fa fa-angle-down ps-2 fa-1x" aria-hidden="true"></i></span>
          </a>
          <ul class="topnav-collapse navbar-collapse mt-3 mb-4 flex-grow-0" id="product-nav">
            <li><a href="industrial-control-valves.htm" class="dropdown-item">Industrial Control Valves</a></li>
            <li><a href="debris-filter-condenser.htm" class="dropdown-item">Debris Filter for Condenser</a></li>
            <li><a href="condenser-cleaning-system.htm" class="dropdown-item">Condenser Online Tube Cleaning System</a></li>
            <li><a href="self-cleaning-strainer.htm" class="dropdown-item">Self Cleaning Strainer / Auxiliary Filter</a></li>
            <li><a href="heat-exchanger-cleaning-system.htm" class="dropdown-item">Heat Exchanger Tube Cleaning System</a></li>
            <li><a href="schmitz-cleaning-balls.htm" class="dropdown-item">Schmitz Cleaning Balls</a></li>
          </ul>
        </li>
        <li class="NavigationTab dropdown">
          <a href="#" class="navbar-toggler-top" type="button" data-bs-toggle="collapse" data-bs-target="#industries-nav" aria-controls="industries-nav" aria-expanded="false" aria-label="Toggle navigation">
            <span>Industries <i class="fa fa-angle-down ps-2 fa-1x" aria-hidden="true"></i></span>
          </a>
          <ul class="topnav-collapse navbar-collapse mt-3 mb-4 flex-grow-0" id="industries-nav">
            <li><a href="power.htm" class="dropdown-item">Power</a></li>
            <li><a href="desalination.htm" class="dropdown-item">Desalination</a></li>
            <li><a href="oil-gas.htm" class="dropdown-item">Oil &amp; Gas</a></li>
            <li><a href="district-cooling.htm" class="dropdown-item">District Cooling</a></li>
            <li><a href="industrial-water.htm" class="dropdown-item">Industrial Water</a></li>
            <li><a href="steel-industries.htm" class="dropdown-item">Steel Industries</a></li>
          </ul>
        </li>
        <li class="NavigationTab dropdown">
          <a href="#" class="navbar-toggler-top" type="button" data-bs-toggle="collapse" data-bs-target="#corporate-info" aria-controls="corporate-info" aria-expanded="false" aria-label="Toggle navigation">
            <span>Corporate Info <i class="fa fa-angle-down ps-2 fa-1x" aria-hidden="true"></i></span>
          </a>
          <ul class="topnav-collapse navbar-collapse mt-3 mb-4 flex-grow-0" id="corporate-info">
            <li><a href="annual_report.htm" class="dropdown-item">Annual Report</a></li>
            <li><a href="pdf/csr_policy/CSR Policy_GEA BGR.pdf" class="dropdown-item" target="_blank">CSR Policy</a></li>
            <li><a href="other_info.htm" class="dropdown-item" target="_blank">Other Information</a></li>
          </ul>
        </li>
        <li class="NavigationTab"><a href="services-support.htm"><span>Support Services</span></a></li>
        <li class="NavigationTab"><a href="contact-us.htm"><span>Contact us</span></a></li>
      </ul>
      <div class="menuIcon">
        <span id="ezoic-pub-ad-placeholder-170" class="ezoic-adpicker-ad"></span>
        <div class="line_one"></div>
        <div class="line_two"></div>
        <div class="line_three"></div>
      </div>
    </div>
    <div class="container-width m-auto">
      <nav class="navbar navbar-expand-mobile">
        <div class="container-fluid ps-0 pe-0">
          <a class="navbar-brand" href="index.php"><img src="images/logo.png" class="img-fluid logo" alt="GEA BGR Logo"></a>
          <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
          </button>
          <div class="collapse navbar-collapse flex-grow-0" id="navbarSupportedContent">
            <ul class="navbar-nav">
              <li class="nav-item"><a class="nav-link" href="about.htm"><span>About GEA BGR</span></a></li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle active" role="button" data-bs-toggle="dropdown" href="#"><span>Products</span></a>
                <ul class="dropdown-menu dropdown-menu-light">
                  <li><a href="industrial-control-valves.htm" class="dropdown-item">Industrial Control Valves</a></li>
                  <li><a href="debris-filter-condenser.htm" class="dropdown-item">Debris Filter for Condenser</a></li>
                  <li><a href="condenser-cleaning-system.htm" class="dropdown-item">Condenser Online Tube Cleaning System</a></li>
                  <li><a href="self-cleaning-strainer.htm" class="dropdown-item">Self Cleaning Strainer / Auxiliary Filter</a></li>
                  <li><a href="heat-exchanger-cleaning-system.htm" class="dropdown-item">Heat Exchanger Tube Cleaning System</a></li>
                  <li><a href="schmitz-cleaning-balls.htm" class="dropdown-item">Schmitz Cleaning Balls</a></li>
                </ul>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" href="#"><span>Industries</span></a>
                <ul class="dropdown-menu dropdown-menu-light">
                  <li><a href="power.htm" class="dropdown-item">Power</a></li>
                  <li><a href="desalination.htm" class="dropdown-item">Desalination</a></li>
                  <li><a href="oil-gas.htm" class="dropdown-item">Oil &amp; Gas</a></li>
                  <li><a href="district-cooling.htm" class="dropdown-item">District Cooling</a></li>
                  <li><a href="industrial-water.htm" class="dropdown-item">Industrial Water</a></li>
                  <li><a href="steel-industries.htm" class="dropdown-item">Steel Industries</a></li>
                </ul>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" href="#"><span>Corporate Info</span></a>
                <ul class="dropdown-menu dropdown-menu-light">
                  <li><a href="annual_report.htm" class="dropdown-item">Annual Report</a></li>
                  <li><a href="pdf/csr_policy/CSR Policy_GEA BGR.pdf" class="dropdown-item" target="_blank">CSR Policy</a></li>
                  <li><a href="other_info.htm" class="dropdown-item" target="_blank">Other Information</a></li>
                </ul>
              </li>
              <li class="nav-item"><a class="nav-link" href="services-support.htm"><span>Support Services</span></a></li>
              <li class="nav-item"><a class="nav-link" href="contact-us.htm"><span>Contact us</span></a></li>
            </ul>
          </div>
        </div>
      </nav>
    </div>
  </header>
  <!-- HEADER END -->

  <!-- BREADCRUMB -->
  <div class="bredcrumb">
    <div class="container-width m-auto">
      <a href="index.php">Home</a> &gt; <a>Products</a> &gt;
      <a href="industrial-control-valves.htm">Industrial Control Valves</a> &gt;
      <a href="butterfly_valve.htm">Butterfly Valve</a>
    </div>
  </div>

  <!-- ═══════════ PRODUCT SECTIONS ═══════════ -->
  <div class="container-width product-des m-auto">

    <!-- Hi-Performance -->
    <div class="row g-0 mb-3">
      <div class="col-md-6 pe-0 position-relative text-end">
        <figure class="position-relative">
          <div class="img-but"><a href="contact-us.htm" class="btn btn-secondary rounded-0 mt-1">Product Enquiry <i class="fa fa-angle-right ps-2" aria-hidden="true"></i></a></div>
          <img src="images/seated_butterfly_valve.jpg" class="img-fluid" alt="Hi-Performance Butterfly Valve">
        </figure>
      </div>
      <div class="col-md-6 p-5 our-product blue-bg">
        <h1 class="text-white">Hi-Performance Butterfly Valve - <mark>Sea water applications</mark></h1>
        <p class="pe-2 text-white" style="text-align:justify;font-size:20px;">Applications include seawater systems are:</p>
        <div id="hi-performance">
          <ul class="text-white" style="list-style-type:disc;font-size:20px;">
            <li>CW System Valves (Condenser Cooling)</li>
            <li>Main SW Intake Valves (Main Sea Isolation Valve)</li>
            <li>Emergency Shutdown Valves</li>
            <li>Circulating Water / Sea Water Main Suction - Discharge Valve</li>
            <li>Sea Water DF Upstream Valve</li>
            <li>Brine Discharge Valve</li>
          </ul>
          <div class="row">
            <div class="col-md-6 col-sm-6"></div>
            <div class="col-md-6 col-sm-6">
              <a href="#configurator-section">
                <button type="button" class="btn btn-secondary configure-valve rounded-0 mt-1">Configure your Valve</button>
              </a>
            </div>
          </div>
        </div>
      </div>
    </div>

    <!-- Soft Seated Gear -->
    <div class="row g-0">
      <div class="col-md-6 p-5 our-product blue-bg">
        <h1 class="text-white">Soft Seated Gear OperatedButterfly Valve</h1>
        <p class="pe-2 text-white" style="text-align:justify;font-size:20px;">The Axis Manufactured Butterfly Valve serves as an ideal alternative to sluice valves in water distribution systems. This highly reliable valve finds application in power plants and utility water line systems. The bi-directional valve features tight shut-off sealing capability, enabling it to hold vacuum to rated pressure in either direction. It is suitable for both on/off and throttling duties.</p>
        <div id="demo1" class="collapse">
          <ul class="text-white" style="list-style-type:disc;font-size:20px;">
            <li>The valve is designed with a 2-piece shaft to operate with lower torque. The selection of seat and disc materials is based on media conditions and service requirements.</li>
            <li>The operating temperature range is -20°C to 180°C, depending on the seat material of construction (MOC).</li>
            <li>The valve is adaptable to fit between companion flanges of all popular flange standards for the wafer-style body.</li>
            <li>The valve can be supplied with matching pneumatic or electrically operated actuators.</li>
            <li>Customized valves can be used to handle air, gases, and vacuum services.</li>
            <li>The valve is available in sizes ranging from DN50 to DN2000, with #150, #300, PN 6, PN 10, PN 16, PN 20 and PN 40 pressure ratings, and features flanged ends.</li>
          </ul>
        </div>
        <div class="row">
          <div class="col-md-12"><span class="text-warning toggle-link" data-bs-toggle="collapse" data-bs-target="#demo1" aria-expanded="false"></span></div>
        </div>
      </div>
      <div class="col-md-6 pe-0 position-relative text-end">
        <figure class="position-relative">
          <div class="img-but"><a href="contact-us.htm" class="btn btn-secondary rounded-0 mt-1">Product Enquiry <i class="fa fa-angle-right ps-2" aria-hidden="true"></i></a></div>
          <img src="images/seated_butterfly_valve.jpg" class="img-fluid" alt="Soft Seated Gear Butterfly Valve">
        </figure>
      </div>
    </div>

    <!-- Metal Seated -->
    <div class="row g-0">
      <div class="col-md-6 pe-0 position-relative text-end">
        <figure class="position-relative">
          <div class="img-but"><a href="contact-us.htm" class="btn btn-secondary rounded-0 mt-1">Product Enquiry <i class="fa fa-angle-right ps-2" aria-hidden="true"></i></a></div>
          <img src="images/metal-seated-butterfly.jpg" class="img-fluid" alt="Metal Seated Gear Butterfly Valve">
        </figure>
      </div>
      <div class="col-md-6 p-5 text-white our-product blue-bg">
        <h1 class="text-white">Metal Seated Gear Operated Butterfly Valve</h1>
        <p class="pe-2" style="text-align:justify;font-size:20px;">Axis developed a metal-seated butterfly valve with lightweight sealing capabilities, specifically designed for water and oil distribution systems. This customized valve can also be used to handle air, gases, and vacuum services. The valve is manufactured from a range of materials, including carbon steel (CS), cast iron (CI), stainless steel (SS), and aluminum bronze (AL). The valve is available in sizes ranging from DN50 to DN2000, with pressure ratings of #150, #300, PN 6, PN 10, PN 16, PN 20 and PN 40 and features flanged ends. The elimination of possible electrolytic corrosion is achieved by avoiding the use of a taper pin to connect the disc and shaft.</p>
        <div id="demo2" class="collapse">
          <ul class="text-white" style="list-style-type:disc;font-size:20px;">
            <li>The selection of seat and disc materials is based on media conditions and service requirements.</li>
            <li>The operating temperature range is -20°C to 180°C.</li>
            <li>The valve is adaptable to fit between companion flanges of all popular flange standards for the wafer-style body.</li>
            <li>The valve has excellent adaptability for actuated operation through standardized top flange mounting dimensions for actuator fitment (ISO 5211 Part II).</li>
            <li>The valve can be supplied with a matching electrically operated actuator.</li>
          </ul>
        </div>
        <div class="row">
          <div class="col-md-12"><span class="text-warning toggle-link" data-bs-toggle="collapse" data-bs-target="#demo2" aria-expanded="false"></span></div>
        </div>
      </div>
    </div>

    <!-- Soft Seated Hydraulic -->
    <div class="row g-0">
      <div class="col-md-6 p-5 our-product blue-bg text-white">
        <h1 class="text-white">Soft Seated Butterfly Valve - Hydraulic Actuator with Counter Weight </h1>
        <p class="pe-2" style="text-align:justify;font-size:20px;">The Axis Manufactured Butterfly Valve serves as an ideal alternative to sluice valves in water distribution systems. This highly reliable valve finds application in power plants and utility water line systems. The bi-directional valve features tight shut-off sealing capability, enabling it to hold vacuum to rated pressure in either direction. It is suitable for both on/off and throttling duties.</p>
        <div id="demo3" class="collapse">
          <ul class="text-white" style="list-style-type:disc;font-size:20px;">
            <li>Flexible operation: Assembled to accommodate both remote/automated control and manual operation.</li>
            <li>Complete flow control system: Can be supplied with hydraulic actuator and various accessories, including limit switches, manual overrides, and positioners.</li>
            <li>Operating temperature range: -20°C to 180°C, depending on the seat material of construction (MOC).</li>
            <li>Size and pressure ratings: Available in sizes DN250 to DN2000, with #150, #300, PN 6, PN 10, PN 16, PN 20 and PN 40 pressure ratings, and flanged ends.</li>
            <li>Customizable seat and disc materials: Selected to suit specific media conditions and service.</li>
          </ul>
        </div>
        <div class="row">
          <div class="col-md-12"><span class="text-warning toggle-link" data-bs-toggle="collapse" data-bs-target="#demo3" aria-expanded="false"></span></div>
        </div>
      </div>
      <div class="col-md-6 pe-0 position-relative text-end">
        <figure class="position-relative">
          <div class="img-but"><a href="contact-us.htm" class="btn btn-secondary rounded-0 mt-1">Product Enquiry <i class="fa fa-angle-right ps-2" aria-hidden="true"></i></a></div>
          <img src="images/seated_acutator_butterfly_valve.jpg" class="img-fluid" alt="Soft Seated Hydraulic Actuator Butterfly Valve">
        </figure>
      </div>
    </div>

  </div><!-- /product-des -->

  <!-- ═══════════ DESIGN FEATURES TABS ═══════════ -->
  <!-- Mobile collapse tabs -->
  <ul class="nav nav-tabs container-width m-auto mobile-tab" role="tablist">
    <li class="nav-item">
      <button class="nav-link navbar-toggler-tab" data-bs-toggle="collapse" data-bs-target="#design-features-mob" aria-controls="design-features-mob" aria-expanded="false" aria-label="Toggle navigation">
        <span>Design Features</span> <i class="fa fa-angle-down ps-2 fa-1x" aria-hidden="true"></i>
      </button>
    </li>
    <div class="container-width m-auto tab-collapse navbar-collapse flex-grow-0" id="design-features-mob">
      <h4>Design Features</h4>
      <table class="table table-bordered table-light table-hover">
        <tbody>
          <tr><th>Design Standards</th><td>ASME B16.34 / API 609 / EN 593 / BS 5155 / MSS SP 67 / ISO 5752 / AWWA C504 / AWWA C516</td></tr>
          <tr><th>Size Range</th><td>DN50 to DN2000 [2" to 80"]</td></tr>
          <tr><th>Pressure Rating</th><td>#150 / #300 I PN6 / PN10 / PN16 / PN20 / PN40</td></tr>
          <tr><th>Construction Type</th><td>Wafer type / Lug Type / Flange type</td></tr>
          <tr><th>Design Features</th><td>Centric, Double Offset, &amp; Triple Offset</td></tr>
          <tr><th>Operator Type</th><td>Lever, Gear, Electrical Actuator &amp; Pneumatic Actuator</td></tr>
          <tr><th>Top Mountain Flange</th><td>ISO 5211</td></tr>
          <tr><th>Face to Face Standard</th><td>API 609 / BS 5155 / BS EN 558 / AWWA C504 / AWWA C516 / ISO 5752</td></tr>
          <tr><th>End Connection</th><td>ASMF B16.5 / BS 5155 / API 609</td></tr>
          <tr><th>Testing Standard</th><td>API 598 / BS EN 12266 - 1 / BS 6755 - 1</td></tr>
        </tbody>
      </table>
    </div>
    <li class="nav-item">
      <button class="nav-link navbar-toggler-tab" type="button" data-bs-toggle="collapse" data-bs-target="#materials-mob" aria-controls="materials-mob" aria-expanded="false" aria-label="Toggle navigation">
        <span>Materials</span> <i class="fa fa-angle-down ps-2 fa-1x" aria-hidden="true"></i>
      </button>
    </li>
    <div class="container-width m-auto tab-collapse navbar-collapse flex-grow-0" id="materials-mob">
      <h4>Materials</h4>
      <ul><li>Carbon Steel / Stainless Steel / Duplex Stainless Steel / Super Duplex Stainless Steel / Aluminum Bronze / Cast Iron / Ductile Iron</li></ul>
    </div>
  </ul>

  <!-- Desktop tabs -->
  <ul class="nav nav-tabs container-width m-auto" id="myTab" role="tablist">
    <li class="nav-item" role="presentation">
      <button class="nav-link active" id="design-features-tab" data-bs-toggle="tab" data-bs-target="#design-features-tab-pane" type="button" role="tab" aria-selected="true">Design Features</button>
    </li>
    <li class="nav-item" role="presentation">
      <button class="nav-link" id="materials-tab" data-bs-toggle="tab" data-bs-target="#materials-tab-pane" type="button" role="tab" aria-selected="false">Materials</button>
    </li>
  </ul>
  <div class="tab-content mt-0">
    <div class="tab-pane fade show active container-width m-auto" id="design-features-tab-pane" role="tabpanel" tabindex="0">
      <table class="table table-bordered table-light table-hover">
        <tbody>
          <tr><th>Design Standards</th><td>ASME B16.34 / API 609 / EN 593 / BS 5155 / MSS SP 67 / ISO 5752 / AWWA C504 / AWWA C516</td></tr>
          <tr><th>Size Range</th><td>DN50 to DN2000 [2" to 80"]</td></tr>
          <tr><th>Pressure Rating</th><td>#150 / #300 I PN6 / PN10 / PN16 / PN20 / PN40</td></tr>
          <tr><th>Construction Type</th><td>Wafer type / Lug Type / Flange type</td></tr>
          <tr><th>Design Features</th><td>Centric, Double Offset, &amp; Triple Offset</td></tr>
          <tr><th>Operator Type</th><td>Lever, Gear, Electrical Actuator &amp; Pneumatic Actuator</td></tr>
          <tr><th>Top Mountain Flange</th><td>ISO 5211</td></tr>
          <tr><th>Face to Face Standard</th><td>API 609 / BS 5155 / BS EN 558 / AWWA C504 / AWWA C516 / ISO 5752</td></tr>
          <tr><th>End Connection</th><td>ASMF B16.5 / BS 5155 / API 609</td></tr>
          <tr><th>Testing Standard</th><td>API 598 / BS EN 12266 - 1 / BS 6755 - 1</td></tr>
        </tbody>
      </table>
    </div>
    <div class="tab-pane fade container-width m-auto" id="materials-tab-pane" role="tabpanel" tabindex="0">
      <h4>Materials</h4>
      <ul><li>Carbon Steel / Stainless Steel / Duplex Stainless Steel / Super Duplex Stainless Steel / Aluminum Bronze / Cast Iron / Ductile Iron</li></ul>
    </div>
  </div>

  <!-- ═══════════ CONFIGURATOR ═══════════ -->
  <div id="configurator-section" class="d-none">
    <div class="container my-5">
      <div class="card-form shadow-lg border-0">
        <div class="card-header bg-dark text-white text-center">
          <h4 class="mb-0 py-3">Butterfly Valve Configurator</h4>
        </div>
        <div class="card-body card-wrapper">

          <!-- Step indicator -->
          <div class="d-flex justify-content-between mb-4">
            <div class="step text-center"><div class="circle active">1</div><small>Application</small></div>
            <div class="step text-center"><div class="circle">2</div><small>Specifications</small></div>
          </div>

          <form id="valveForm" novalidate>

            <!-- STEP 1 -->
            <div class="form-step active">
              <h5 class="mb-3 text-primary">Select Application</h5>
              <select class="form-select form-select-lg" id="application" required>
                <option value="">Select Application</option>
                <option>CW System Valves (Condenser Cooling)</option>
                <option>Main SW Intake Valve</option>
                <option>Emergency Shutdown Valve</option>
                <option>Circulating Water / Sea Water Valve</option>
                <option>Seawater DF upstream Valve</option>
                <option>Brine Discharge Valve</option>
              </select>
              <div class="invalid-feedback">Please select an application.</div>
              <div class="d-flex justify-content-between mt-4">
                <button type="button" class="btn btn-primary next-btn">Next</button>
              </div>
            </div>

            <!-- STEP 2 -->
            <div class="form-step" id="extraFields">
              <h5 class="mb-3 text-primary">Valve Specifications</h5>
              <div class="row g-3">

                <div class="col-md-4">
                  <label class="form-label">Shell</label>
                  <select class="form-select requiredSelect" required>
                    <option value="">Select</option>
                    <option>CS</option>
                    <option>DUPLEX SS2205</option>
                    <option>SS 304</option>
                  </select>
                  <div class="invalid-feedback">Please select a value.</div>
                </div>

                <div class="col-md-4">
                  <label class="form-label">Circular Flange</label>
                  <select class="form-select requiredSelect" required>
                    <option value="">Select</option>
                    <option>CS</option>
                    <option>DUPLEX SS2205</option>
                    <option>SS 304</option>
                  </select>
                  <div class="invalid-feedback">Please select a value.</div>
                </div>

                <div class="col-md-4">
                  <label class="form-label">Disc</label>
                  <select class="form-select requiredSelect" required>
                    <option value="">Select</option>
                    <option>SS304</option>
                    <option>DUPLEX SS2205</option>
                  </select>
                  <div class="invalid-feedback">Please select a value.</div>
                </div>

                <div class="col-md-4">
                  <label class="form-label">Drive Shaft &amp; Stub Shaft</label>
                  <select class="form-select requiredSelect" required>
                    <option value="">Select</option>
                    <option>SS304</option>
                    <option>DUPLEX SS2205</option>
                  </select>
                  <div class="invalid-feedback">Please select a value.</div>
                </div>

                <div class="col-md-4">
                  <label class="form-label">Metal Seat / Soft Seat</label>
                  <select class="form-select requiredSelect" required>
                    <option value="">Select</option>
                    <option>SS304</option>
                    <option>DUPLEX SS2205</option>
                    <option>PTFE</option>
                    <option>EPDM</option>
                  </select>
                  <div class="invalid-feedback">Please select a value.</div>
                </div>

                <!-- ── MODE OF OPERATION + CONDITIONAL DROPDOWNS ── -->
                <div class="col-md-4">
                  <label class="form-label">Mode of Operation</label>
                  <select class="form-select requiredSelect" id="modeSelect" required>
                    <option value="">Select</option>
                    <option value="gear">Gear Box Operated</option>
                    <option value="motorized">Motor Operated</option>
                    <option value="hydraulic">Hydraulic Actuator</option>
                  </select>
                  <div class="invalid-feedback">Please select a value.</div>
                </div>

                <!--
                  Single shared column — sits immediately after Mode of Operation.
                  All three sub-dropdowns live here; JS shows only the active one.
                  This ensures the Make dropdown always appears in the very next
                  column (first column of the next visual slot) regardless of which
                  mode is chosen.
                -->
                <div class="col-md-4" id="makeCol">

                  <!-- Gear Box Make -->
                  <div id="gearWrapper" style="display:none;">
                    <label class="form-label">Gear Box Make</label>
                    <select class="form-select" id="gearOptions" disabled>
                      <option value="">Select</option>
                      <option>AUMA MAKE</option>
                      <option>GEA - BGR</option>
                      <option>Equivalent</option>
                    </select>
                    <div class="invalid-feedback">Please select a Gear Box make.</div>
                  </div>

                  <!-- Motorized Operated Make -->
                  <div id="motorWrapper" style="display:none;">
                    <label class="form-label">Motor Operator Make</label>
                    <select class="form-select" id="motorOptions" disabled>
                      <option value="">Select</option>
                      <option>AUMA MAKE</option>
                      <option>GEA - BGR</option>
                      <option>Equivalent</option>
                    </select>
                    <div class="invalid-feedback">Please select a Motorized Operated make.</div>
                  </div>

                  <!-- Hydraulic Actuator Make -->
                  <div id="hydraulicWrapper" style="display:none;">
                    <label class="form-label">Hydraulic Actuator Make</label>
                    <select class="form-select" id="hydraulicOptions" disabled>
                      <option value="">Select</option>
                      <option>Custom Designed By GEA BGR</option>
                    </select>
                    <div class="invalid-feedback">Please select a Hydraulic Actuator make.</div>
                  </div>

                </div><!-- /makeCol -->

              </div><!-- /row -->

              <div class="d-flex justify-content-between mt-4">
                <button type="button" id="resetBtn" class="btn btn-secondary">Reset</button>
                <button type="submit" class="btn btn-success px-4">Submit</button>
              </div>
            </div><!-- /step 2 -->

          </form>
        </div>
      </div>

      <!-- RESULT CARD -->
      <div id="resultCard" class="card-result mt-5 shadow" style="display:none;">
        <div class="card-header bg-success text-white">
          <h5 class="mb-0">Valve Configuration Result</h5>
        </div>
        <div class="card-body text-center p-4">
          <canvas id="configCanvas" class="img-fluid configurator-image"
            style="max-width:100%;cursor:zoom-in;user-select:none;-webkit-user-select:none;border-radius:6px;border:1px solid #dee2e6;"
            title="Click to view fullscreen"
            oncontextmenu="return false;" ondragstart="return false;">
          </canvas>
          <p class="thumb-hint mt-2">
            <i class="fa fa-search-plus"></i>&nbsp; Click image to open fullscreen viewer
          </p>
        </div>
      </div>

    </div><!-- /container -->

    <!-- LIGHTBOX -->
    <div id="valveLightbox" role="dialog" aria-modal="true" aria-label="Valve Configuration Fullscreen Viewer">
      <div id="lbToolbar">
        <span class="lb-hint">Use buttons or scroll wheel to zoom &nbsp;|&nbsp; Drag to pan when zoomed in</span>
        <div class="lb-btns">
          <button id="lbZoomInBtn"  title="Zoom In"    onclick="window.lbZoomIn()">+ Zoom In</button>
          <span   id="lbZoomLevel">100%</span>
          <button id="lbZoomOutBtn" title="Zoom Out"   onclick="window.lbZoomOut()">- Zoom Out</button>
          <button id="lbResetBtn"   title="Reset View" onclick="window.lbReset()">⟳ Reset</button>
          <button id="lbCloseBtn"   title="Close (Esc)" onclick="window.closeLightbox()">✕ Close</button>
        </div>
      </div>
      <canvas id="lbCanvas" oncontextmenu="return false;" ondragstart="return false;"
              aria-label="Valve configuration result image"></canvas>
    </div>

    <!-- DevTools warning -->
    <div id="devtools-warning">⚠️ Developer Tools Detected — Content Hidden</div>

  </div><!-- /configurator-section -->


  <!-- ═══════════ DOWNLOAD BROCHURE ═══════════ -->
  <div class="container-width m-auto text-center mt-5 mb-5">
    <a class="btn btn-secondary rounded-0 mt-1 me-2" data-bs-toggle="modal" href="#exampleModalToggle" role="button" id="btnId">
      <span class="float-start pt-1">Download Brochure</span>
      <i class="fa fa-arrow-circle-o-down ps-2 fa-2x float-end" aria-hidden="true"></i>
    </a>
    <a href="contact-us.htm" class="btn btn-secondary rounded-0 mt-1">
      <span class="float-start pt-1">Product Enquiry</span>
      <i class="fa fa-arrow-circle-o-right ps-2 fa-2x float-end" aria-hidden="true"></i>
    </a>
  </div>

  <!-- Download Brochure Modal -->
  <div class="modal fade" id="exampleModalToggle" aria-hidden="true" aria-labelledby="exampleModalToggleLabel" tabindex="-1">
    <div class="modal-dialog modal-dialog-centered">
      <div class="modal-content">
        <div class="modal-header">
          <h1 class="modal-title fs-5" id="exampleModalToggleLabel">Download Brochure</h1>
          <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
        </div>
        <div class="modal-body">
          <div id="hide">
            <form id="contact-form">
              <input type="hidden" id="product" name="product" value="industrial-controls">
              <input type="hidden" name="subject" value="contact">
              <div class="row g-4">
                <div class="col-md-6"><input type="text"  class="form-control" id="name"    name="name"    placeholder="NAME"></div>
                <div class="col-md-6"><input type="email" class="form-control" id="email"   name="email"   placeholder="EMAIL"></div>
                <div class="col-md-6">
                    <input type="tel" class="form-control phone-input" id="phone" name="phone" placeholder="PHONE (e.g., 9876543210 or +919876543210)" required>
                    <div class="phone-error" id="phone-error"></div>
                </div>
                <div class="col-md-6"><input type="text"  class="form-control" id="company" name="company" placeholder="COMPANY NAME"></div>
                <div class="col-md-12"><input type="text" class="form-control" id="country" name="country" placeholder="COUNTRY"></div>
                <div class="col-md-12"><textarea class="form-control" id="message" name="message" rows="4" placeholder="MESSAGE"></textarea></div>
                <!-- Honeypot -->
                <div style="position:absolute;left:-9999px;"><input type="text" name="website" tabindex="-1" autocomplete="off"></div>
                <div class="col-md-12"><div class="g-recaptcha" data-sitekey="6LdSspAsAAAAAPjDSR-HOpg8IWgpyp8i2kgTk6ZS"></div></div>
                <div class="col-md-4"><button type="submit" class="btn btn-secondary">Submit</button></div>
                <div class="col-md-8"><div id="responseMessage"></div></div>
              </div>
            </form>
          </div>
        </div>
      </div>
    </div>
  </div>


  <!-- ═══════════ OUR PRODUCTS CAROUSEL ═══════════ -->
  <div class="our-products blue-bg">
    <div class="mx-auto py-5 container-width">
      <h2 class="text-white">Our products</h2>
      <div id="demo" class="carousel slide" data-bs-interval="false">
        <div class="carousel-indicators">
          <button type="button" data-bs-target="#demo" data-bs-slide-to="0" class="active"></button>
          <button type="button" data-bs-target="#demo" data-bs-slide-to="1"></button>
        </div>
        <div class="carousel-inner">
          <div class="carousel-item active">
            <div class="row">
              <div class="col-md-2 col-sm-2 col-lg-2 mx-3 my-3"><div class="card"><a href="industrial-control-valves.htm"><div class="card-img-top img-industrial"><div class="card-img-overlay"><h5 class="fw-bold pt-3 text-start text-white">Industrial Control Valves</h5><div class="product-learn fw-bold text-start">Know more <span class="fa fa-angle-right ps-2"></span></div></div></div></a></div></div>
              <div class="col-md-2 col-lg-2 col-sm-2 mx-3 my-3"><div class="card"><a href="debris-filter-condenser.htm"><div class="card-img-top img-debris"><div class="card-img-overlay"><h5 class="fw-bold pt-3 text-start text-white">Debris Filter for Condenser</h5><div class="product-learn fw-bold text-start">Know more <span class="fa fa-angle-right ps-2"></span></div></div></div></a></div></div>
              <div class="col-md-2 col-sm-2 col-lg-2 mx-3 my-3"><div class="card"><a href="condenser-cleaning-system.htm"><div class="card-img-top img-condenser"><div class="card-img-overlay"><h5 class="fw-bold pt-3 text-start text-white">Condenser Online Tube Cleaning System</h5><div class="product-learn fw-bold text-start">Know more <span class="fa fa-angle-right ps-2"></span></div></div></div></a></div></div>
              <div class="col-md-2 col-sm-2 col-lg-2 mx-3 my-3"><div class="card"><a href="self-cleaning-strainer.htm"><div class="card-img-top img-self"><div class="card-img-overlay"><h5 class="fw-bold pt-3 text-start text-white">Self Cleaning Strainer / Auxiliary Filters</h5><div class="product-learn fw-bold text-start">Know more <span class="fa fa-angle-right ps-2"></span></div></div></div></a></div></div>
              <div class="col-md-2 col-sm-2 col-lg-2 mx-3 my-3"><div class="card"><a href="heat-exchanger-cleaning-system.htm"><div class="card-img-top img-heat"><div class="card-img-overlay"><h5 class="fw-bold pt-3 text-start text-white">Heat Exchanger Tube Cleaning System</h5><div class="product-learn fw-bold text-start">Know more <span class="fa fa-angle-right ps-2"></span></div></div></div></a></div></div>
            </div>
          </div>
          <div class="carousel-item">
            <div class="row">
              <div class="col-md-2 col-sm-2 mx-3 my-3"><div class="card"><a href="schmitz-cleaning-balls.htm"><div class="card-img-top img-schmitz"><div class="card-img-overlay"><h5 class="fw-bold pt-3 text-start text-white">Schmitz Cleaning Balls</h5><div class="product-learn text-start fw-bold">Know more <i class="fa fa-angle-right" aria-hidden="true"></i></div></div></div></a></div></div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>


  <!-- CTA strip -->
  <div class="technical-talk gray-bg">
    <div class="container-width m-auto">
      <div class="row g-0">
        <div class="col-md-8 pe-0 text-start"><p class="fs-2 mb-0">Interested in our products, Reach out to us...</p></div>
        <div class="col-md-4 pe-0 text-end"><a href="contact-us.htm" class="btn btn-secondary rounded-0 mt-1">Know more <i class="fa fa-angle-right ps-2" aria-hidden="true"></i></a></div>
      </div>
    </div>
  </div>


  <!-- ═══════════ FOOTER ═══════════ -->
  <div class="footer">
    <div class="container-width m-auto">
      <div class="row g-0">
        <div class="col-md-4 pe-0 me-0">
          <h3>Interested in our products?</h3>
          <p>Tube Cleaning System &amp; Debris Filter<br>
            <a href="mailto:sales@geabgrenergy.com">sales@geabgrenergy.com</a>
            <span>+91 44 69 250 250</span>
          </p>
          <p>For Valves<br>
            <a href="mailto:axis@geabgrenergy.com">axis@geabgrenergy.com</a>
            <span>+91 44 69 250 250</span>
          </p>
          <p>
            <a class="d-inline" title="Youtube"><i class="fa fa-youtube-square link-secondary" aria-hidden="true"></i></a>
            <a class="d-inline" title="Linkedin"><i class="fa fa-linkedin-square link-secondary" aria-hidden="true"></i></a>
            <a class="d-inline" title="Twitter"><i class="fa fa-twitter-square link-secondary" aria-hidden="true"></i></a>
          </p>
        </div>
        <div class="col-md-3 pe-0 me-4">
          <h6><span>Products</span><button class="navbar-toggler-footer" type="button" data-bs-toggle="collapse" data-bs-target="#footproduct" aria-controls="footproduct" aria-expanded="false" aria-label="Toggle navigation"><span>Products <i class="fa fa-angle-down ps-2 fa-1x" aria-hidden="true"></i></span></button></h6>
          <ul class="foot-collapse navbar-collapse mt-3 mb-4 flex-grow-0" id="footproduct">
            <li><a href="industrial-control-valves.htm">Industrial Control Valves</a></li>
            <li><a href="debris-filter-condenser.htm">Debris Filter for Condenser</a></li>
            <li><a href="condenser-cleaning-system.htm">Condenser Online Tube Cleaning System</a></li>
            <li><a href="self-cleaning-strainer.htm">Self Cleaning Strainer / Auxiliary Filter</a></li>
            <li><a href="heat-exchanger-cleaning-system.htm">Heat Exchanger Tube Cleaning System</a></li>
            <li><a href="schmitz-cleaning-balls.htm">Schmitz Cleaning Balls</a></li>
          </ul>
        </div>
        <div class="col-md-2 pe-0 me-4">
          <h6><span>Industries</span><button class="navbar-toggler-footer" type="button" data-bs-toggle="collapse" data-bs-target="#footindustries" aria-controls="footindustries" aria-expanded="false" aria-label="Toggle navigation"><span>Industries <i class="fa fa-angle-down ps-2 fa-1x" aria-hidden="true"></i></span></button></h6>
          <ul class="foot-collapse navbar-collapse mt-3 mb-4 flex-grow-0" id="footindustries">
            <li><a href="power.htm">Power</a></li>
            <li><a href="desalination.htm">Desalination</a></li>
            <li><a href="oil-gas.htm">Oil &amp; Gas</a></li>
            <li><a href="district-cooling.htm">Chiller &amp; District Cooling</a></li>
            <li><a href="industrial-water.htm">Industrial Water</a></li>
            <li><a href="steel-industries.htm">Steel Industries</a></li>
          </ul>
        </div>
        <div class="col-md-3 pe-0">
          <h6><span>Support Services</span><button class="navbar-toggler-footer" type="button" data-bs-toggle="collapse" data-bs-target="#footservice" aria-controls="footservice" aria-expanded="false" aria-label="Toggle navigation"><span>Support Services <i class="fa fa-angle-down ps-2 fa-1x" aria-hidden="true"></i></span></button></h6>
          <ul class="foot-collapse navbar-collapse mt-3 mb-4 flex-grow-0" id="footservice">
            <li><a href="services-support.htm#retrofit">Service Request</a></li>
            <li><a href="services-support.htm#repair-service">Maintenance Request</a></li>
            <li><a href="#">Preventive Maintenance Request</a></li>
            <li><a href="#">Scheduled Maintenance Request</a></li>
            <li><a href="#">Repair Service Request</a></li>
            <li><a href="services-support.htm#spares-service">Spare Request</a></li>
          </ul>
        </div>
      </div>
      <div class="row g-0 footer-bottom">
        <div class="col-md-2 text-center pe-0"><a href="index.php"><img src="images/logo.png" class="img-fluid logo" alt="GEA BGR"></a></div>
        <div class="col-md-10 pe-0 text-end footer-link">
          <a href="about.htm">About GEA BGR</a> | <a href="contact-us.htm">Contact</a>
          <p>Copyright &copy; 2022 GEABGR. All rights reserved.</p>
        </div>
      </div>
    </div>
  </div>
  <!-- FOOTER END -->

</div><!-- /container-fluid -->


<!-- ═══════════════════════════════════════════════════════
     SCRIPTS
     Load order: CF email decode → jQuery → common → page JS
═══════════════════════════════════════════════════════════ -->
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
<script src="js/jquery-3.6.1.min.js"></script>
<script src="js/common.js"></script>

<script>
"use strict";

/* ═══════════════════════════════════════════════════
   PHONE VALIDATION FUNCTION (matches PHP backend)
═══════════════════════════════════════════════════ */
function validatePhoneNumber(phone) {
    // Remove all spaces, hyphens, dots, parentheses
    let cleanPhone = phone.replace(/[\s\-\.\(\)]/g, '');
    
    // Check for Indian number (10 digits starting with 6,7,8,9)
    if (/^[6-9][0-9]{9}$/.test(cleanPhone)) {
        return true;
    }
    
    // Check for Indian with +91 prefix
    if (/^\+91[6-9][0-9]{9}$/.test(cleanPhone)) {
        return true;
    }
    
    // Check for Indian with 0 prefix
    if (/^0[6-9][0-9]{9}$/.test(cleanPhone)) {
        return true;
    }
    
    // Check for international numbers (E.164 format)
    if (/^\+?[1-9][0-9]{0,2}[0-9]{6,14}$/.test(cleanPhone)) {
        let digitsOnly = cleanPhone.replace(/^\+/, '');
        if (digitsOnly.length >= 8 && digitsOnly.length <= 15) {
            return true;
        }
    }
    
    return false;
}

/* ═══════════════════════════════════════════════════
   REAL-TIME PHONE VALIDATION
═══════════════════════════════════════════════════ */
document.addEventListener('DOMContentLoaded', function() {
    const phoneInput = document.getElementById('phone');
    const phoneError = document.getElementById('phone-error');
    
    if (phoneInput && phoneError) {
        phoneInput.addEventListener('input', function() {
            const phone = this.value;
            if (phone.length > 0) {
                if (validatePhoneNumber(phone)) {
                    this.classList.remove('invalid');
                    this.classList.add('valid');
                    phoneError.style.display = 'none';
                } else {
                    this.classList.remove('valid');
                    this.classList.add('invalid');
                    phoneError.textContent = 'Please enter a valid phone number (Indian: 10 digits or +91XXXXXXXXXX, International: +[country code][number])';
                    phoneError.style.display = 'block';
                }
            } else {
                this.classList.remove('valid', 'invalid');
                phoneError.style.display = 'none';
            }
        });
    }
});

/* ═══════════════════════════════════════════════════
   BROCHURE FORM — AJAX + reCAPTCHA + honeypot
═══════════════════════════════════════════════════ */
document.addEventListener("submit", function (e) {
  /* Only handle the brochure contact form */
  if (!e.target || e.target.id !== "contact-form") { return; }
  e.preventDefault();

  var form     = e.target;
  var name     = (form.querySelector("#name")    || {}).value || "";
  var email    = (form.querySelector("#email")   || {}).value || "";
  var phone    = (form.querySelector("#phone")   || {}).value || "";
  var country  = (form.querySelector("#country") || {}).value || "";
  var company  = (form.querySelector("#company") || {}).value || "";
  var product  = (form.querySelector("#product") || {}).value || "";
  var message  = (form.querySelector("#message") || {}).value || "";
  var honeypot = (form.querySelector("input[name='website']") || {}).value || "";
  var res      = form.querySelector("#responseMessage");
  if (!res) { return; }

  // Trim all values
  name = name.trim();
  email = email.trim();
  phone = phone.trim();
  country = country.trim();
  company = company.trim();
  message = message.trim();

  var reEmail = /^[^ ]+@[^ ]+\.[a-z]{2,}$/i;

  // Client-side validation
  if (!name) { 
    res.innerHTML = "<p style='color:red'>Enter name</p>";               
    return; 
  }
  if (!email || !reEmail.test(email)) { 
    res.innerHTML = "<p style='color:red'>Enter valid email</p>";        
    return; 
  }
  if (!phone) { 
    res.innerHTML = "<p style='color:red'>Enter phone number</p>";       
    return; 
  }
  if (!validatePhoneNumber(phone)) { 
    res.innerHTML = "<p style='color:red'>Please enter a valid phone number (Indian: 10 digits or +91XXXXXXXXXX, International: +[country code][number])</p>"; 
    return; 
  }
  if (!country) { 
    res.innerHTML = "<p style='color:red'>Enter country</p>";            
    return; 
  }
  if (!product) { 
    res.innerHTML = "<p style='color:red'>Select product</p>";           
    return; 
  }
  if (!company) { 
    res.innerHTML = "<p style='color:red'>Enter company name</p>";       
    return; 
  }
  if (!message) { 
    res.innerHTML = "<p style='color:red'>Enter message</p>";            
    return; 
  }
  if (honeypot) { 
    res.innerHTML = "<p style='color:red'>Spam detected</p>";            
    return; 
  }

  /* reCAPTCHA check */
  if (typeof grecaptcha !== "undefined") {
    var captcha = grecaptcha.getResponse();
    if (!captcha || captcha.length === 0) {
      res.innerHTML = "<p style='color:red'>Please verify reCAPTCHA</p>";
      return;
    }
  }

  res.innerHTML = "<p style='color:blue'>Submitting…</p>";

  // Create FormData and send
  var formData = new FormData(form);
  
  fetch("mail-pdf.php", { 
    method: "POST", 
    body: formData,
    headers: {
      'Accept': 'application/json'
    }
  })
  .then(function(response) { 
    if (!response.ok) {
      throw new Error('HTTP error ' + response.status);
    }
    return response.json(); 
  })
  .then(function(data) {
    if (data && data.success) {
      var pdfUrl = data.pdfPath;
      
      var a = document.createElement("a");
      a.href = pdfUrl;
      a.download = "";
      a.target = "_blank";
      a.rel = "noopener noreferrer";
      document.body.appendChild(a);
      a.click();
      setTimeout(function() {
        document.body.removeChild(a);
      }, 100);
      
      res.innerHTML = "<p style='color:green'>✔ Email sent successfully! Your download is starting…</p>";
      
      form.reset();
      var phoneInput = document.getElementById('phone');
      if (phoneInput) {
        phoneInput.classList.remove('valid', 'invalid');
      }
      if (typeof grecaptcha !== "undefined") { 
        grecaptcha.reset(); 
      }
      
      setTimeout(function() {
        var modalElement = document.getElementById('exampleModalToggle');
        if (modalElement) {
          var modal = bootstrap.Modal.getInstance(modalElement);
          if (modal) { 
            modal.hide(); 
          }
        }
        setTimeout(function() {
          res.innerHTML = "";
        }, 500);
      }, 2000);
      
    } else {
      var errorMsg = (data && data.error) ? data.error : 'Unknown error occurred';
      res.innerHTML = "<p style='color:red'>" + errorMsg + "</p>";
      if (typeof grecaptcha !== "undefined") { 
        grecaptcha.reset(); 
      }
    }
  })
  .catch(function(error) {
    console.error('Fetch Error:', error);
    res.innerHTML = "<p style='color:red'>Server error. Please try again later. Error: " + error.message + "</p>";
    if (typeof grecaptcha !== "undefined") { 
      grecaptcha.reset(); 
    }
  });
}); 

/* ═══════════════════════════════════════════════════
   1. SHOW CONFIGURATOR when "Configure your Valve" clicked
═══════════════════════════════════════════════════ */
document.querySelectorAll(".configure-valve").forEach(function (btn) {
  btn.addEventListener("click", function () {
    var sec = document.getElementById("configurator-section");
    if (sec) { sec.classList.remove("d-none"); }
  });
});


/* ═══════════════════════════════════════════════════
   2. BROCHURE MODAL — restore HTML on close
      (resets reCAPTCHA widget state on every open)

   IMPORTANT: We restore the modal HTML on close so the
   reCAPTCHA widget re-renders fresh each time. But this
   destroys the DOM node that a direct addEventListener
   was bound to.  We solve this with EVENT DELEGATION —
   the listener lives on `document` and matches the form
   by selector, so it survives any DOM replacement.
═══════════════════════════════════════════════════ */
;(function () {
  var savedHtml = "";
  var modalEl   = document.getElementById("exampleModalToggle");
  var btnEl     = document.getElementById("btnId");
  if (!modalEl) { return; }

  /* Save HTML before modal opens so we can restore it on close */
  if (btnEl) {
    btnEl.addEventListener("click", function () {
      savedHtml = modalEl.innerHTML;
    });
  }

  /* Bootstrap event fires after modal is fully hidden */
  modalEl.addEventListener("hidden.bs.modal", function () {
    if (savedHtml) { modalEl.innerHTML = savedHtml; }
  });
})();



/* ═══════════════════════════════════════════════════════════════════
   4. VALVE CONFIGURATOR
   ─────────────────────────────────────────────────────────────────
   MODE OF OPERATION — 3-way conditional dropdown:

   ┌─────────────────────────────────────────────────────────────┐
   │  "gear"       →  show Gear Box Make only                    │
   │  "motorized"  →  show Motorized Operated Make only          │
   │  "hydraulic"  →  show Hydraulic Actuator Make only          │
   │  blank        →  hide all three sub-dropdowns               │
   │                                                             │
   │  HOW IT WORKS:                                              │
   │  • Each sub-dropdown sits in its own col-md-4 column.       │
   │  • updateSubDropdowns() is the SINGLE function that         │
   │    controls all show/hide — it always sets ALL three        │
   │    wrappers and ALL three selects in one pass.              │
   │  • display:none/block used — single mechanism, no conflicts.  │
   │    This prevents the mix-of-two-mechanisms crash.           │
   │  • The inactive <select> elements are set to disabled=true  │
   │    so the browser skips them entirely during validation.    │
   │                                                             │
  │
   └─────────────────────────────────────────────────────────────┘
═══════════════════════════════════════════════════════════════════ */
;(function () {

  /* ── Element references — ALL declared here, none left as bare vars ── */
  var appEl    = document.getElementById("application");
  var modeEl   = document.getElementById("modeSelect");

  /* Sub-dropdown wrappers (the animated div inside each col) */
  var gearWrap  = document.getElementById("gearWrapper");
  var motorWrap = document.getElementById("motorWrapper");
  var hydWrap   = document.getElementById("hydraulicWrapper");

  /* Sub-dropdown <select> elements */
  var gearSel  = document.getElementById("gearOptions");
  var motorSel = document.getElementById("motorOptions");
  var hydSel   = document.getElementById("hydraulicOptions");

  /* Stepper */
  var steps       = document.querySelectorAll(".form-step");
  var circles     = document.querySelectorAll(".circle");
  var currentStep = 0;

  /* ─────────────────────────────────────────────────────────────
     updateSubDropdowns()
     Always sets ALL three wrappers and selects in one pass.
     Single source of truth — no other code touches show/hide.
  ───────────────────────────────────────────────────────────── */
  function updateSubDropdowns() {
    var val = modeEl.value;

    /* Helper: show one wrapper + enable its select */
    function show(wrap, sel) {
      wrap.style.display = "block";
      sel.disabled = false;
    }
    /* Helper: hide one wrapper + disable & reset its select */
    function hide(wrap, sel) {
      wrap.style.display = "none";
      sel.disabled      = true;
      sel.selectedIndex = 0;
      sel.classList.remove("is-invalid");
    }

    if (val === "gear") {
      show(gearWrap,  gearSel);
      hide(motorWrap, motorSel);
      hide(hydWrap,   hydSel);

    } else if (val === "motorized") {
      hide(gearWrap,  gearSel);
      show(motorWrap, motorSel);
      hide(hydWrap,   hydSel);

    } else if (val === "hydraulic") {
      hide(gearWrap,  gearSel);
      hide(motorWrap, motorSel);
      show(hydWrap,   hydSel);

    } else {
      /* blank / unrecognised — hide everything */
      hide(gearWrap,  gearSel);
      hide(motorWrap, motorSel);
      hide(hydWrap,   hydSel);
    }
  }

  /* ── Stepper ── */
  function showStep(n) {
    steps.forEach(function (s) { s.classList.remove("active"); });
    steps[n].classList.add("active");
    circles.forEach(function (c) { c.classList.remove("active"); });
    for (var i = 0; i <= n; i++) { circles[i].classList.add("active"); }
  }

  /* ── Next button ── */
  document.querySelectorAll(".next-btn").forEach(function (btn) {
    btn.addEventListener("click", function () {
      if (appEl.value) {
        appEl.classList.remove("is-invalid");
        currentStep++;
        showStep(currentStep);
      } else {
        appEl.classList.add("is-invalid");
      }
    });
  });

  /* ── Application change → reset step-2 fields ── */
  appEl.addEventListener("change", function () {
    document.querySelectorAll("#extraFields select").forEach(function (s) {
      s.selectedIndex = 0;
      s.classList.remove("is-invalid");
    });
    updateSubDropdowns();
  });

  /* ── Mode of Operation change ── */
  modeEl.addEventListener("change", function () {
    modeEl.classList.remove("is-invalid");
    updateSubDropdowns();
  });

  /* ── Form submit ── */
  document.getElementById("valveForm").addEventListener("submit", function (e) {
    e.preventDefault();
    var ok = true;

    /* Validate all always-visible required selects */
    document.querySelectorAll("#extraFields .requiredSelect").forEach(function (s) {
      if (!s.value) { ok = false; s.classList.add("is-invalid"); }
      else          {             s.classList.remove("is-invalid"); }
    });

    /* Validate only the currently VISIBLE sub-dropdown */
    var mode = modeEl.value;
    if (mode === "gear") {
      if (!gearSel.value)  { ok = false; gearSel.classList.add("is-invalid");  }
      else                 {             gearSel.classList.remove("is-invalid"); }

    } else if (mode === "motorized") {
      if (!motorSel.value) { ok = false; motorSel.classList.add("is-invalid"); }
      else                 {             motorSel.classList.remove("is-invalid"); }

    } else if (mode === "hydraulic") {
      if (!hydSel.value)   { ok = false; hydSel.classList.add("is-invalid");   }
      else                 {             hydSel.classList.remove("is-invalid");  }
    }

    if (ok) {
      var rc = document.getElementById("resultCard");
      rc.style.display = "block";
      rc.scrollIntoView({ behavior: "smooth" });
      setTimeout(function () { window.activateZoom(); }, 300);
    }
  });

  /* ── Reset button ── */
  document.getElementById("resetBtn").addEventListener("click", function () {
    document.getElementById("valveForm").reset();
    appEl.selectedIndex  = 0;
    modeEl.selectedIndex = 0;
    updateSubDropdowns();
    document.querySelectorAll(".is-invalid").forEach(function (el) {
      el.classList.remove("is-invalid");
    });
    var rc = document.getElementById("resultCard");
    if (rc) { rc.style.display = "none"; }
    currentStep = 0;
    showStep(0);
    window.scrollTo({ top: document.getElementById("valveForm").offsetTop, behavior: "smooth" });
  });

  /* ── Set initial state on page load ── */
  showStep(0);
  updateSubDropdowns();

})();


/* ═══════════════════════════════════════════════════
   5. KEYBOARD & RIGHT-CLICK PROTECTIONS
═══════════════════════════════════════════════════ */
document.addEventListener("contextmenu", function (e) { e.preventDefault(); });
document.addEventListener("dragstart",   function (e) { e.preventDefault(); });
document.addEventListener("keydown", function (e) {
  if (e.keyCode === 123) { e.preventDefault(); return false; }
  if (e.ctrlKey && e.shiftKey && (e.keyCode === 73 || e.keyCode === 74 || e.keyCode === 67)) { e.preventDefault(); return false; }
  if (e.ctrlKey && e.keyCode === 85) { e.preventDefault(); return false; }
  if (e.key === "Escape") { window.closeLightbox && window.closeLightbox(); }
});


/* ═══════════════════════════════════════════════════
   6. DEVTOOLS DETECTION
═══════════════════════════════════════════════════ */
;(function () {
  var devOpen = false;
  function wipeCanvas(id) {
    var cv = document.getElementById(id);
    if (!cv || !cv.width) { return; }
    var ctx = cv.getContext("2d");
    ctx.fillStyle = "#111"; ctx.fillRect(0, 0, cv.width, cv.height);
    ctx.fillStyle = "#fff"; ctx.font = "bold " + Math.max(14, Math.round(cv.width * 0.022)) + "px Arial";
    ctx.textAlign = "center"; ctx.fillText("Developer Tools Detected", cv.width / 2, cv.height / 2);
  }
  function check() {
    var open = (window.outerWidth - window.innerWidth > 160) || (window.outerHeight - window.innerHeight > 160);
    if (open && !devOpen) {
      devOpen = true;
      document.querySelectorAll("img").forEach(function (img) { img.style.filter = "blur(20px)"; img.style.pointerEvents = "none"; });
      wipeCanvas("configCanvas"); wipeCanvas("lbCanvas");
      var dw = document.getElementById("devtools-warning");
      if (dw) { dw.style.display = "block"; }
    }
    if (!open && devOpen) {
      devOpen = false;
      document.querySelectorAll("img").forEach(function (img) { img.style.filter = ""; img.style.pointerEvents = ""; });
      var dw = document.getElementById("devtools-warning");
      if (dw) { dw.style.display = "none"; }
      var rc = document.getElementById("resultCard");
      if (rc && rc.style.display !== "none") { window.activateZoom && window.activateZoom(); }
    }
  }
  setInterval(check, 500);
})();


/* ═══════════════════════════════════════════════════════════════════
   7. PROTECTED IMAGE SYSTEM
   ─────────────────────────────────────────────────────────────────
   ZOOM MODEL:
   • Image always drawn centred on canvas (offset = 0 at start)
   • applyZoom() never moves the pivot — image grows from centre
   • clamp() prevents blank canvas on any edge when panning
   • MIN_SCALE = 1 — can't zoom out past fit-to-canvas
═══════════════════════════════════════════════════════════════════ */
;(function () {

  var imgObj   = null;
  var thumbEl  = null;
  var thumbCtx = null;
  var lbEl     = null;
  var lbCtx    = null;
  var lbDPR    = 1;
  var lbCssW   = 0;
  var lbCssH   = 0;

  var scale     = 1;
  var MIN_SCALE = 1;
  var MAX_SCALE = 8;
  var STEP      = 1.30;
  var offsetX   = 0;
  var offsetY   = 0;
  var dragging  = false;
  var dragX     = 0;
  var dragY     = 0;

  /* Fetch image as blob — URL never enters DOM */
  function loadImage(cb) {
    fetch("image.php?img=valve-result", { credentials: "same-origin" })
      .then(function (r) { return r.blob(); })
      .then(function (blob) {
        var url = URL.createObjectURL(blob);
        var img = new Image();
        img.onload  = function () { imgObj = img; URL.revokeObjectURL(url); if (cb) { cb(); } };
        img.onerror = function () { URL.revokeObjectURL(url); };
        img.src = url;
      })
      .catch(function () {});
  }

  function drawThumb() {
    if (!thumbEl || !imgObj) { return; }
    var mw = thumbEl.parentElement.clientWidth || 800;
    thumbEl.width  = mw;
    thumbEl.height = Math.round(mw * imgObj.naturalHeight / imgObj.naturalWidth);
    thumbCtx.imageSmoothingEnabled = true;
    thumbCtx.imageSmoothingQuality = "high";
    thumbCtx.drawImage(imgObj, 0, 0, thumbEl.width, thumbEl.height);
  }

  function clamp() {
    if (scale <= 1) { offsetX = 0; offsetY = 0; return; }
    var maxX = (lbCssW * (scale - 1)) / 2;
    var maxY = (lbCssH * (scale - 1)) / 2;
    offsetX  = Math.max(-maxX, Math.min(maxX, offsetX));
    offsetY  = Math.max(-maxY, Math.min(maxY, offsetY));
  }

  function draw() {
    if (!lbCtx || !imgObj || !lbEl) { return; }
    var W  = lbEl.width;
    var H  = lbEl.height;
    lbCtx.clearRect(0, 0, W, H);
    var cx = W / 2 + offsetX * lbDPR;
    var cy = H / 2 + offsetY * lbDPR;
    var dw = W * scale;
    var dh = H * scale;
    lbCtx.imageSmoothingEnabled = true;
    lbCtx.imageSmoothingQuality = "high";
    lbCtx.drawImage(imgObj, 0, 0, imgObj.naturalWidth, imgObj.naturalHeight, cx - dw / 2, cy - dh / 2, dw, dh);
    updateUI();
  }

  function updateUI() {
    var lvl  = document.getElementById("lbZoomLevel");
    var btnI = document.getElementById("lbZoomInBtn");
    var btnO = document.getElementById("lbZoomOutBtn");
    var btnR = document.getElementById("lbResetBtn");
    if (lvl)  { lvl.textContent = Math.round(scale * 100) + "%"; }
    if (btnI) { btnI.disabled   = scale >= MAX_SCALE; }
    if (btnO) { btnO.disabled   = scale <= MIN_SCALE; }
    if (btnR) { btnR.disabled   = (scale === 1 && offsetX === 0 && offsetY === 0); }
    if (lbEl) { lbEl.style.cursor = scale > 1 ? "grab" : "default"; }
  }

  function applyZoom(newScale) {
    scale = Math.min(MAX_SCALE, Math.max(MIN_SCALE, newScale));
    clamp();
    draw();
  }

  function onWheel(e) { e.preventDefault(); applyZoom(e.deltaY < 0 ? scale * STEP : scale / STEP); }

  function onMDown(e) {
    if (scale <= 1) { return; }
    dragging = true; dragX = e.clientX; dragY = e.clientY;
    lbEl.style.cursor = "grabbing"; e.preventDefault();
  }
  function onMMove(e) {
    if (!dragging) { return; }
    offsetX += e.clientX - dragX; offsetY += e.clientY - dragY;
    dragX = e.clientX; dragY = e.clientY;
    clamp(); draw();
  }
  function onMUp()    { dragging = false; if (lbEl) { lbEl.style.cursor = scale > 1 ? "grab" : "default"; } }
  function onMLeave() { dragging = false; }

  var tDist = null;
  function onTStart(e) {
    if (e.touches.length === 1 && scale > 1) { dragging = true; dragX = e.touches[0].clientX; dragY = e.touches[0].clientY; }
    if (e.touches.length === 2) { dragging = false; tDist = Math.hypot(e.touches[0].clientX - e.touches[1].clientX, e.touches[0].clientY - e.touches[1].clientY); }
  }
  function onTMove(e) {
    e.preventDefault();
    if (e.touches.length === 1 && dragging) { offsetX += e.touches[0].clientX - dragX; offsetY += e.touches[0].clientY - dragY; dragX = e.touches[0].clientX; dragY = e.touches[0].clientY; clamp(); draw(); }
    if (e.touches.length === 2 && tDist !== null) { var d = Math.hypot(e.touches[0].clientX - e.touches[1].clientX, e.touches[0].clientY - e.touches[1].clientY); applyZoom(scale * (d / tDist)); tDist = d; }
  }
  function onTEnd()  { dragging = false; tDist = null; }
  function noCtx(e)  { e.preventDefault(); }

  function attachEv() {
    lbEl.addEventListener("wheel",       onWheel,   { passive: false });
    lbEl.addEventListener("mousedown",   onMDown);
    lbEl.addEventListener("mousemove",   onMMove);
    lbEl.addEventListener("mouseup",     onMUp);
    lbEl.addEventListener("mouseleave",  onMLeave);
    lbEl.addEventListener("touchstart",  onTStart,  { passive: false });
    lbEl.addEventListener("touchmove",   onTMove,   { passive: false });
    lbEl.addEventListener("touchend",    onTEnd);
    lbEl.addEventListener("contextmenu", noCtx);
  }
  function detachEv() {
    if (!lbEl) { return; }
    lbEl.removeEventListener("wheel",       onWheel);
    lbEl.removeEventListener("mousedown",   onMDown);
    lbEl.removeEventListener("mousemove",   onMMove);
    lbEl.removeEventListener("mouseup",     onMUp);
    lbEl.removeEventListener("mouseleave",  onMLeave);
    lbEl.removeEventListener("touchstart",  onTStart);
    lbEl.removeEventListener("touchmove",   onTMove);
    lbEl.removeEventListener("touchend",    onTEnd);
    lbEl.removeEventListener("contextmenu", noCtx);
  }

  window.openLightbox = function () {
    if (!imgObj) { return; }
    var lb = document.getElementById("valveLightbox");
    lb.style.display = "flex";
    document.body.style.overflow = "hidden";
    lbEl  = document.getElementById("lbCanvas");
    lbCtx = lbEl.getContext("2d");
    lbDPR = window.devicePixelRatio || 1;
    var vpW   = window.innerWidth  * 0.94;
    var vpH   = (window.innerHeight - 54) * 0.90;
    var ratio = imgObj.naturalHeight / imgObj.naturalWidth;
    if (vpW * ratio <= vpH) { lbCssW = vpW;  lbCssH = vpW * ratio; }
    else                    { lbCssH = vpH;  lbCssW = vpH / ratio; }
    lbEl.width        = Math.round(lbCssW * lbDPR);
    lbEl.height       = Math.round(lbCssH * lbDPR);
    lbEl.style.width  = Math.round(lbCssW) + "px";
    lbEl.style.height = Math.round(lbCssH) + "px";
    scale = 1; offsetX = 0; offsetY = 0;
    draw(); detachEv(); attachEv();
  };

  window.closeLightbox = function () {
    var lb = document.getElementById("valveLightbox");
    if (lb) { lb.style.display = "none"; }
    document.body.style.overflow = "";
    detachEv();
  };

  var lbOverlay = document.getElementById("valveLightbox");
  if (lbOverlay) {
    lbOverlay.addEventListener("click", function (e) { if (e.target === this) { window.closeLightbox(); } });
  }

  window.lbZoomIn  = function () { applyZoom(scale * STEP); };
  window.lbZoomOut = function () { applyZoom(scale / STEP); };
  window.lbReset   = function () { scale = 1; offsetX = 0; offsetY = 0; draw(); };

  function initThumb() {
    thumbEl  = document.getElementById("configCanvas");
    if (!thumbEl) { return; }
    thumbCtx = thumbEl.getContext("2d");
    drawThumb();
    thumbEl.onclick = function () { window.openLightbox(); };
    thumbEl.addEventListener("contextmenu", function (e) { e.preventDefault(); });
    thumbEl.addEventListener("dragstart",   function (e) { e.preventDefault(); });
  }

  window.activateZoom = function () {
    if (imgObj) { initThumb(); }
    else        { loadImage(function () { initThumb(); }); }
  };

})();
</script>

</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit