:root{--zm:1.05;--hv-ps:absolute;--hv-l:-500px;--hv-mw:100px;}
:root{
	--txt:#000000;--txt_sh:#999999;--lnk:#0066cc;--bg:#ffffff;--brd:#000000;--red:#ee0000;--green:#00cc00;--blue:#0066cc;
	--bt:#000000;--bt_t:#ffffff;--bti_t:#ffffff;--bt_sh:#777777;--bt_brd:#ffffff;--bt_sh_h:#777777;
	--tit_txt:#ffffff;--tit_itxt:#000000;--tit_sh:#000000;--tit_bg:#777777;--tit_bsh:#000000;
	--bx_bg:#f2f2f2;--bx_sh:#aaaaaa;--bx_brd:#000000;--sbx_brd:#ccc;--sbx_sh:#ccc;
	--sl_hov:#34e8ad;--stit:#864c26;--cap_txt:#0061c2;
	--red_btn:#c60000;--green_btn:#009300;--red_btn_txt:#ffffff;--green_btn_txt:#ffffff;
}
html.black{
	--txt:#ffffff;--txt_sh:#bbbbbb;--lnk:#66aaff;--bg:#000000;--brd:#cccccc;--red:#cc0000;--green:#00bb00;--blue:#8141cb;
	--bt:#333333;--bt_t:#66aaff;--bti_t:#FFD700;--bt_sh:#666666;--bt_brd:#000000;--bt_sh_h:#66aaff;
	--tit_txt:#FF4500;--tit_itxt:#FF4500;--tit_sh:#000000;--tit_bg:#444444;--tit_bsh:#FFD700;
	--bx_bg:#222222;--bx_sh:#555555;--bx_brd:#aaaaaa;--sbx_brd:#555;--sbx_sh:#555;
	--sl_hov:#FF4500;--stit:#FFD700;--cap_txt:#9e4bff;
	--red_btn:#cc0000;--green_btn:#00a600;--red_btn_txt:#ffffff;--green_btn_txt:#ffffff;
}
/* ======= Main ======= */
html{font-size:18px;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-size:1rem;line-height:1.13;color:var(--txt);background:var(--bg);}
h1,h2,h3,h4{line-height:1.15;}
h1{font-size:2rem;}
h2{font-size:1.5rem;}
h3{font-size:1.25rem;}
h4{font-size:1.125rem;}
a{color:var(--lnk);text-decoration:none;}
img{max-width:100%;height:auto;display:block;border:solid 1px var(--bx_brd);}
ul{margin-left:1.25rem;}
li{margin-bottom:0.25rem;}

.row{display:flex;align-items:center;gap:30px;}
.port{padding:20px 0;}
.sect{margin:3rem auto;}
.sect h2{
	padding:.7rem 30px;text-align:center;background-color:var(--tit_bg);color:var(--tit_txt);margin-bottom:40px;
	box-shadow: 0px 3px 3px 1px var(--tit_bsh);border-top:solid 2px var(--tit_bsh);text-shadow:1px 1px 1px var(--tit_sh);
}
.w_box{max-width:1100px;margin:0 auto;padding:0 20px;}
.lbl{font-weight:bold;}
.btns{display:flex;justify-content:center;gap:30px;margin:.7rem 0}
.btns.second{margin-top:-0.3rem;}
.btn{
	background:var(--bt);color:var(--bt_t);padding:10px 23px 8px;cursor:pointer;text-transform:uppercase;
	font-weight:bold;font-size:1rem;transition:transform 0.2s ease;min-width:230px;border:solid 1px var(--bt_brd);box-shadow:3px 3px 2px 0 var(--bx_sh);
}
.btn:hover{transform:scale(var(--zm));border:solid 1px var(--bt_brd);box-shadow:3px 3px 2px 0 var(--bt_sh_h);}
.copy{
	padding:.7rem 30px;text-align:center;background-color:var(--tit_bg);color:var(--tit_txt);
	box-shadow:0px -2px 3px 1px var(--tit_bsh);border-bottom:solid 2px var(--tit_bsh);text-shadow:1px 1px 1px var(--tit_sh);
}
.hidden{display:none;}
.nbsp{text-overflow:ellipsis;overflow:hidden;max-width:100%;display:inline-block;}
.link_pdf{display:none;}

/* ======= Floating Buttons ======= */
.f_btns{position:fixed;bottom:20px;right:20px;display:flex;gap:10px;z-index:1000;}
.ada_bb{position:fixed;bottom:20px;left:20px;z-index:1000;}
.f_btn{
	width:50px;height:50px;border-radius:50%;background:var(--bt);color:var(--bti_t);cursor:pointer;display:flex;align-items:center;
	justify-content:center;transition:transform 0.2s ease;border:solid 1px var(--bt_brd);box-shadow:2px 1px 2px var(--bx_sh);
}
.f_btn:hover{transform:scale(var(--zm));border:solid 1px var(--bt_brd);box-shadow:2px 1px 2px var(--bt_sh_h);}
.f_btn.ada svg{position:relative;top:-1px;left:2px;}
.btn_icon{width:26px;height:26px;pointer-events:none;}
.t_scrl{display:none;}
.t_scrl.visible{display:flex;}
svg .cs_v1{stroke:var(--tit_txt);}
svg .cs_v2{stroke:var(--bti_t);}
svg .cf_v1{fill:var(--tit_txt);}
svg .cf_v2{fill:var(--bti_t);}
svg .cbs_v1{stroke:var(--tit_itxt);}
svg .cbs_v2{stroke:var(--tit_bsh);}
svg .cbf_v1{fill:var(--tit_itxt);}
svg .cbf_v2{fill:var(--tit_bsh);}
html.black .moon_icon{display:none;}
html.black .sun_icon{display:block!important;width:30px;height:30px;transform:rotate(79deg);}

/* ======= Main Section ======= */
.title{font-size:2.5rem;font-weight:bold;margin-bottom:1.25rem;text-shadow:1px 1px 2px var(--txt_sh);}
.hdr{justify-content:space-between;align-items:flex-start;}
.photo{width:230px;}
.photo img{width:230px;max-width:230px;box-shadow:3px 3px 2px 0 var(--bx_sh);}
.i_box{display:flex;gap:.3rem;flex-direction:column;}
.i_line{display:inline-flex;}
.i_line .lbl{width:120px;}
.i_line .val{flex:1;font-size:1.2rem;}

/* ======= Main Projects ======= */
.pj{margin-bottom:2rem;padding:30px;border:solid 1px var(--sbx_brd);box-shadow:0 4px 12px 0 var(--sbx_sh);}
.pj_hdr{padding-bottom:1rem;}
.pj_name{font-size:1.5rem;font-weight:bold;text-align:center;margin-bottom:.7rem;text-shadow:1px 1px 2px var(--txt_sh);}
.period,.role,.overview{margin-bottom:.5rem;}
.star_sect{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin:2rem 0}
.ssx{padding:1rem 1rem 1rem 1.5rem;border-left:4px solid}
.prob{border-color:var(--red);}
.sol{border-color:var(--blue);}
.res{border-color:var(--green);}
.l_bord{height:0px;font-size:0;border-bottom:solid 2px var(--brd);box-shadow:2px 2px 2px 0 var(--bx_sh);}
.star_sect h4{margin-bottom:1rem;font-size:1.2rem}
.star_sect ul{margin-left:0;padding-left:1rem}
.tech_sect{padding-top:1.5rem;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;}
.tech_sect h4{margin-bottom:1rem;}
.tech_stack{margin:1rem 0;padding:1rem;background:var(--bx_bg);border-left:solid 4px var(--blue);box-shadow:3px 3px 2px 0 var(--bx_sh);}
.tech_stack h4{margin-bottom:.5rem;}
.links{margin-top:1.3rem;display:flex;gap:13px;}
.links .l_tit{font-size:1.125rem;font-weight:bold;}
.l_svg{width:14px;height:14px;margin:0 4px 0 1px;position:relative;top:1px;}
.ts_box{flex:1;}

/* ======= Slider ======= */
body .port .pj_sldr{position:relative;display:inline-block;user-select:none;box-shadow:3px 3px 2px 0 var(--bx_sh);}
body .port .pj_sldr img{width: 497px;height:311px;}
body .port .sldr_nav{position:absolute!important;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;}
body .port .sl_z{position:absolute!important;top:0;height:100%;cursor:pointer;pointer-events:auto;}
body .port .sl_p{left:0;width:30%;}
body .port .sl_n{right:0;width:70%;}
body .port .sla{
	position:absolute!important;top:50%;transform:translateY(-50%);width:30px;height:70px;display:flex;align-items:center;justify-content:center;transition:color 0.2s ease;pointer-events:none;
    background-color:rgba(0,0,0,0.7);border-radius:5px;box-shadow:0 0 3px 0px #fff, 0 0 3px 0px #fff;border:solid 1px #000;
}
body .port .sla svg{width:22px;height:55px;}
body .port .sla svg path{fill:#fff;}
body .port .sla_l{left:5px;transform:translateY(-50%) rotate(180deg);}
body .port .sla_r{right:5px;}
body .port .sl_z:hover .sla{color:#fff;}
body .port .sl_c{
	position:absolute!important;bottom:10px;left:50%;transform:translateX(-50%);padding:4px 8px;background-color:rgba(0,0,0,0.7);color:#fff;font-size:0.8rem;
	border-radius:3px;pointer-events:none;user-select:none;box-shadow:0 0 3px 0px #fff, 0 0 3px 0px #fff;font-weight:bold;font-family:monospace;
}
body .port .pj_sldr:hover .sla{background-color:#000;border:solid 1px var(--blue);}
body .port .pj_sldr:hover .sl_c{background-color:#000;}
body .port .sl_z:hover .sla svg path{fill:var(--sl_hov);}

/* ======= More Projects ======= */
.port.show_more .more_pj.hidden{display:block;}
.port.show_more .main_pj .more_but{display:none;}
.mpj_box{margin-bottom:4rem;}
.exp_pj.mpj_box{margin-bottom:2rem;}
.minpj_txt{flex:1;padding:8px 13px;}
.mpj_pic{box-shadow:3px 3px 2px 0 var(--bx_sh);}
.mpj_pic img{width:305px;height:191px;}
.mini_pj{display:flex;justify-content:space-between;gap:10px;margin:.7rem auto 1.5rem;padding:10px;border:solid 1px var(--sbx_brd);box-shadow:0 4px 12px 0 var(--sbx_sh);align-items:center;}
.mini_pj .mpj_row{margin-bottom:.3rem;}
.mini_pj .links{margin-bottom:0;margin-top:0;}
.mini_pj .links .l_tit{font-size:1rem;}
.mini_pj .name{font-weight:bold;font-size:1.3rem;line-height:1;margin-bottom:8px;text-align:center;text-shadow:1px 1px 2px var(--txt_sh);}

/* ======= About Me ======= */
.my_sec{margin-top:30px;}
.my_sec h3{margin-bottom:5px;}
.about .my_work{margin-top:2rem;padding:1rem;background-color:var(--bx_bg);border:1px solid var(--sbx_brd);border-left:3px solid var(--green);box-shadow:3px 3px 2px 0 var(--bx_sh)}
.about ul{list-style:none;margin-left:0;padding-left:0;}
.about ul li{margin-left:30px;position:relative;}
.about li::before{content:"◈";position:absolute;left:-23px;color:var(--stit)}

/* ======= Education ======= */
.education .edu_block{display:grid;grid-template-columns:1fr;gap:0;}
.education .edu_item{display:grid;grid-template-columns:130px 1fr;gap:10px 18px;padding:14px 16px}
.education .edu_item:not(:last-child){border-bottom:1px solid var(--sbx_brd)}
.education .edu_period{font-weight:bold;color:var(--stit)}
.education .edu_inst{font-weight:bold}
.education .edu_type{font-size:0.67rem;font-style:italic;}
.education .edu_degree{grid-column:2;}

/* ======= Tech Stack ======= */
.tech_tools,.ai_tools{margin-top:30px;}
.tech_block .w_box{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;align-items:start}
.tech_block h3{padding-bottom:.5rem;text-shadow:1px 1px 2px var(--txt_sh)}
.tech_block .l_bord{margin-bottom:1rem;}
.tech_block .tech_r{line-height:1.2;padding:2px 12px 6px;margin:5px 0;border-bottom:dashed 1px var(--txt_sh);}
.tech_tools,.ai_tools{padding:25px;border:solid 1px var(--sbx_brd);box-shadow:0 4px 12px 0 var(--sbx_sh)}
.tech_block .tech_r .lbl{color:var(--stit);margin-right:8px}

/* ======= Testimonials ======= */
.tm_grid{margin-bottom:2rem}
.tm_pic img{display:block;object-fit:cover;border:solid 2px var(--brd)}
.reviews{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--sbx_brd)}
.reviews h3{margin-bottom:1rem}
.review_link{margin-bottom:.5rem;font-size:1.1rem;}
.review_link a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%;display:inline-block;}
.tm_grid{display:flex;flex-direction:column;gap:2.5rem}
.tm_r{display:grid;grid-template-columns:100px 1fr;grid-template-rows:auto auto;grid-template-areas:"pic quote" "pic author";gap:0 30px;padding-bottom:2.5rem;border-bottom:1px solid var(--sbx_brd)}
.tm_r:last-child{border-bottom:none;padding-bottom:0}
.tm_pic{grid-area:pic;align-self:center}
.tm_pic img{width:100px;height:100px;border-radius:50%;border:2px solid var(--sbx_brd);box-shadow:none}
.quote{grid-area:quote;font-style:italic;font-size:1.1rem;line-height:1.6;margin-bottom:.5rem;align-self:end;position:relative;}
.quote::before{content:'“';font-family:Georgia,serif;font-size:2rem;position:absolute;left:-1.2rem;top:-.7rem;color:var(--sbx_brd);opacity:.7;}
.quote::after{content:'”';font-family:Georgia,serif;font-size:2rem;position:absolute;bottom:-1.7rem;right:-.1rem;color:var(--sbx_brd);opacity:.7;}
.author{grid-area:author;font-weight:500;font-size:1rem;color:var(--stit);text-align:left;align-self:start}
.tm_svg{width:20px;position:relative;top:3px;margin-right:8px;fill:var(--stit);}

/* ======= Contact ======= */
.contact .msg_form{flex:1;display:flex;flex-direction:column;}
.contact .w_box{display:flex;flex-direction:row;gap:30px;}
.contact .c_info,.contact .prof_l,.contact .docs,.contact .msg_form{margin-bottom:20px;padding:20px;border:1px solid var(--sbx_brd);box-shadow:0 4px 12px 0 var(--sbx_sh);}
.contact h3{
	padding:10px 15px;margin:-20px -20px 15px;background-color:var(--bx_bg);border-bottom:1px solid var(--sbx_brd);text-shadow:1px 1px 2px var(--txt_sh);border-left:solid 4px var(--blue);color:var(--txt);
}
.contact .if_r,.contact .link_r{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--sbx_brd);gap:20px;}
.contact .if_r:last-child,.contact .link_r:last-child{border-bottom:none;}
.contact .lbl{color:var(--stit);font-weight:bold;}
.contact .form{display:flex;flex-direction:column;gap:15px;justify-content:space-between;flex:1;}
.contact .form_item{display:flex;align-items:stretch;gap:5px;flex-direction:column;}
.contact .form_item.fi_message{flex:1;}
.contact .form_item.fi_message .txt{height:100%;}
.contact .form_item .lbl{min-width:80px;}
.contact .inp,.contact .txt{flex:1;padding:8px;border:1px solid var(--sbx_brd);background:var(--bg);color:var(--txt);box-shadow:0 0 3px 0px var(--sbx_brd) inset;}
.contact .captcha{text-align:center;padding:10px;background:var(--bx_bg);}
.contact .cap_inp{width:50px;margin-left:10px;}
.contact .btns{display:flex;gap:13px;margin:.7rem 0;flex-direction:column;margin-top:8px;}
.contact .btn{position:relative}
.contact .doc_size{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:0.9rem;color:var(--txt_sh);white-space:nowrap;}
body .port .form .form_item.fi_last{position:var(--hv-ps)!important;left:var(--hv-l)!important;max-width:var(--hv-mw)!important;display:block}

/* ======= Form preloader ======= */
.msg_form.loading{position:relative;pointer-events:none;opacity:0.7;}
.msg_form.loading::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:9999;align-items:center;justify-content:center;background:var(--bg);opacity:.7;}
.msg_form.loading::after{
	content:'';position:absolute;width:70px;height:70px;border:13px solid var(--sbx_brd);border-top:13px solid var(--blue);border-radius:50%;animation:spin 1s linear infinite;z-index:99999;
	left:50%;top:50%;margin-top:-70px;margin-left:-50px;
}
@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}


/* ======= Modal Message ======= */
.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:none;align-items:center;justify-content:center;}
.modal_box{background:var(--bg);padding:20px 30px 15px;max-width:400px;width:calc(100% - 30px);text-align:center;border:2px solid var(--bx_brd);box-shadow:0 0 3px 2px var(--bg);z-index:1;}
.modal_shdw{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--txt);opacity:.8;}
.modal_msg{margin-bottom:20px;font-size:1.1rem;font-weight:bold;}
.modal.success .modal_box{border-color:var(--green_btn);}
.modal.error .modal_box{border-color:var(--red_btn);}
.modal.success .modal_box .btn{background:var(--green_btn);color:var(--green_btn_txt)}
.modal.error .modal_box .btn{background:var(--red_btn);color:var(--red_btn_txt)}

/* ======= Canvas Captcha ======= */
.woops{margin:0;}
.woops_t{text-align:center;font-size:1.1rem;font-weight:bold;margin-bottom:8px;}
.woops_c{display:block;margin:0 auto;border:solid 1px var(--bx_brd);border-radius:5px;box-shadow:1px 1px 3px var(--bx_sh);background:var(--bx_bg);}
.woops_s{-webkit-appearance:none;width:100%;height:15px;background:var(--bx_bg);margin-top:15px;outline:none;border:solid 1px var(--sbx_brd);border-radius:5px;}
.woops_s::-webkit-slider-thumb{
	-webkit-appearance:none;appearance:none;width:40px;height:26px;background:var(--blue);cursor:pointer;border:solid 1px var(--bx_brd);border-radius:5px;box-shadow:1px 1px 3px var(--bx_sh);
}
.woops_s::-moz-range-thumb{width:40px;height:26px;background:var(--blue);cursor:pointer;border:solid 1px var(--bx_brd);border-radius:5px;box-shadow:1px 1px 3px var(--bx_sh);}


/* ======= ADA Widget ======= */
.ada_w{position:fixed;bottom:0;left:0;z-index:99999;display:none;max-width:100%;}
.ada_w.visible{display:block;}
.ada_w_inner{width:360px;background:var(--bx_bg);border:solid 1px var(--bx_brd);box-shadow:0 4px 12px 0 var(--sbx_sh);border-bottom-width:2px;max-width:100%;}
.ada_w_top{background:var(--bt);color:var(--bt_t);padding:10px;display:flex;align-items:center;gap:10px;border-bottom:solid 1px var(--bx_brd);height:46px;}
.ada_w_icon{width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:5px;}
.ada_w_icon:focus{outline:2px solid var(--blue);}
.ada_w_icon svg{width:30px;height:30px;}
.ada_w_title{flex:1;font-weight:bold;font-size:1.1rem;}
.ada_w_close{position:absolute;top:7px;right:7px;background:var(--bt);border:solid 1px var(--bt_brd);cursor:pointer;width:32px;height:32px;display:flex;justify-content:center;align-items:center;}
.ada_w_close:focus{outline:2px solid var(--blue);}
.ada_w_close svg{width:24px;height:24px;}
.ada_w_close svg path{stroke:var(--bt_t);}
.ada_w_close:hover{opacity:0.8;transform:scale(1.05);}
.ada_w_main{padding:10px;max-height:calc(100vh - 120px);overflow-y:auto;}
.ada_row{display:flex;gap:8px;margin:5px 0;}
.ada_btn{flex:1;background:var(--bt);color:var(--bt_t);border:solid 1px var(--bt_brd);padding:8px 5px;cursor:pointer;font-size:0.85rem;font-weight:bold;transition:transform 0.2s ease;box-shadow:2px 2px 2px 0 var(--bx_sh);white-space:normal;line-height:1.2;display:flex;align-items:center;justify-content:center;}
.ada_btn:focus{outline:2px solid var(--blue);}
.ada_btn:hover{transform:scale(1.02);box-shadow:2px 2px 2px 0 var(--bt_sh_h);}
.ada_btn.active{background:var(--blue);color:#fff;}
.ada_btn_full{flex:initial;width:100%;}
.ada_sep{height:0;border-bottom:solid 1px var(--brd);margin:8px 0;box-shadow:1px 1px 1px 0 var(--bx_sh);}
.ada_select_box{margin:8px 0;}
.ada_select_box label{display:block;font-weight:bold;margin-bottom:5px;font-size:0.9rem;}
.ada_custom_select{width:100%;position:relative;cursor:pointer;user-select:none;}
.ada_select_current{padding:8px 30px 8px 8px;border:solid 1px var(--sbx_brd);background:var(--bg);color:var(--txt);font-size:0.9rem;box-shadow:0 0 2px 0 var(--sbx_sh);position:relative;border-radius:3px;}
.ada_select_current::after{content:'';position:absolute;right:10px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--txt);transition:transform 0.2s;}
.ada_custom_select[aria-expanded="true"] .ada_select_current::after{transform:translateY(-50%) rotate(180deg);}
.ada_custom_select:focus .ada_select_current{border:solid 1px var(--blue);outline:2px solid var(--blue);}
.ada_select_dropdown{display:none;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto;background:var(--bg);border:solid 1px var(--blue);box-shadow:0 -4px 8px var(--sbx_sh);z-index:1000;margin-bottom:2px;border-radius:3px;}
.ada_custom_select[aria-expanded="true"] .ada_select_dropdown{display:block;}
.ada_select_option{padding:8px 12px;cursor:pointer;font-size:0.9rem;color:var(--txt);transition:background 0.15s;}
.ada_select_option:hover,.ada_select_option.highlighted{background:var(--blue);color:#fff;}
.ada_select_option.selected{font-weight:bold;background:var(--bx_bg);}
.ada_select_option.selected.highlighted{background:var(--blue);color:#fff;}



/* ======= ADA Normalize ======= */
body.ada_norm{background:var(--bg);max-width:100%;overflow-x:hidden;}
body.ada_norm .port,.ada_norm .port *{text-shadow:none;border-radius:0;font-family:Arial,Helvetica,sans-serif;animation:none;box-shadow:none;}
body.ada_norm .f_btns,body.ada_norm .f_btns *{box-shadow:none;}
body.ada_norm .btns_block .btn{flex:1;}
body.ada_norm .prob,body.ada_norm .sol,body.ada_norm .res{border-color:var(--txt);}
body.ada_norm .tech_stack,body.ada_norm .about .my_work,body.ada_norm .contact h3{border-left:solid 4px var(--txt);}
body.ada_norm .about li::before,body.ada_norm .education .edu_period,body.ada_norm .tech_block .tech_r .lbl,body.ada_norm .author,body.ada_norm .contact .lbl{color:var(--txt);}
body.ada_norm .tm_svg{fill:var(--txt);}
body.ada_norm .port .sla,body.ada_norm .port .sl_c{background-color:#000;}
body.ada_norm .quote::before,body.ada_norm .quote::after{color:var(--txt);}
body.ada_norm .i_line{display:block;}
body.ada_norm .i_line .lbl{display:inline-block;width:auto;margin-right:10px;}
body.ada_norm .btns.first,body.ada_norm .btns.second{gap:10px;justify-content:space-between;}
body.ada_norm .star_sect{display:flex;flex-direction:column;gap:13px;}
body.ada_norm .ssx{border:0;border-top:2px solid;}
body.ada_norm .prob{border:0;padding-top:0;}
body.ada_norm .w_box{max-width:none;}
body.ada_norm .about li::before{left:-30px;}
body.ada_norm .tech_block .w_box{gap:10px;display:flex;flex-direction:column;align-items:stretch;}
body.ada_norm .contact .w_box{flex-direction:column;gap:10px;}
body.ada_norm .contact .c_info,body.ada_norm .contact .prof_l,body.ada_norm .contact .docs{margin-bottom:0;border-top:0;}
body.ada_norm .contact .msg_form{margin-bottom:0;margin-top:10px;}
body.ada_norm .links{gap:3px;flex-direction:column}
body.ada_norm .l_svg{margin-right:8px;}
body.ada_norm .tm_r{display:flex;flex-direction:column;gap:13px;padding-bottom:1.5rem;}
body.ada_norm .tech_sect{gap:20px;flex-direction:column-reverse}
body.ada_norm .pj_sldr{margin:auto;}
body.ada_norm .mini_pj{flex-direction:column-reverse;}
body.ada_norm .education .edu_item{display:flex;flex-direction:column}
body.ada_norm .btn{padding-left:13px;padding-right:13px}
body.ada_norm .quote::before{left:-.9rem;top:-1.5rem;}
@media (max-width:600px){
	body.ada_norm .contact .doc_size{display:none;}
	body.ada_norm .contact .if_r,body.ada_norm .contact .link_r{flex-direction:column;}
	body.ada_norm .hdr{display:flex;flex-direction:column-reverse}
	body.ada_norm .hdr .photo{position:absolute;width:100%;top:61px;}
	body.ada_norm .hdr .photo img{width:230px;max-width:230px;margin:auto;}
	body.ada_norm .title{margin-bottom:330px;text-align:center}
	body.ada_norm .i_line{width:100%;}
	body.ada_norm .i_line .lbl{font-size:1rem;}
	body.ada_norm .i_line .val{font-size:1.1rem}
	body.ada_norm.ada_font_s .hdr .photo{top:71px;}
	body.ada_norm.ada_line_h .hdr .photo{top:85px;}
	body.ada_norm.ada_font_s.ada_line_h .hdr .photo{top:110px;}
}
@media (max-width:500px){
	body.ada_norm .quote::before{left:-.4rem;top:-1.7rem;}
	body.ada_norm .quote::after{bottom:-2.3rem;}
}
/* ======= ADA Font Size ======= */
html:has(body.ada_font_s){font-size:24px;}
/* ======= ADA Font Weight ======= */
body.ada_font_w .port,.ada_font_w .port *{font-weight:bold;}
/* ======= ADA Letter Spacing ======= */
body.ada_let_sp .port,.ada_let_sp .port *{letter-spacing:3px;}
/* ======= ADA Line Height ======= */
body.ada_line_h .port,.ada_line_h .port *{line-height:2;}
/* ======= ADA Word Spacing ======= */
body.ada_word_sp .port,.ada_word_sp .port *{word-spacing:10px;}
/* ======= ADA Hide Images ======= */
body.ada_hide_img .port img,body.ada_hide_img .port svg,body.ada_hide_img .port canvas{display:none;}
/* ======= ADA Big Cursor ======= */
body.ada_big_cur,body.ada_big_cur *{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50"><path d="M5 5l12 38 6-15 15-6z" fill="red" stroke="black" stroke-width="3.5"/><path d="M5 5l12 38 6-15 15-6z" fill="none" stroke="white" stroke-width="1.5"/></svg>') 5 5,default;}
body.ada_big_cur a,body.ada_big_cur button,body.ada_big_cur select{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53 53" width="46" height="46"><path d="M3.75,42.15c2.2,3.71,6.69,7.55,14.62,9.21,1.45.3,5.92.21,8.4-.92s9.48-5.07,13.03-7.15c8.64-4.71,3.93-15.38-5.23-10.11-.25.07-.47-.31-.22-.4,11.82-4.32,5.29-16.28-4.57-9.29-.32.23-.59-.45-.25-.65,0,0,18.37-10.37,19.73-11.18,5-3.01,1.14-13.84-7.11-8.84l-23.71,13.95c-.51.29-1.15-.13-1.05-.7.38-2.3.71-4.31,1.12-5.84C20.38,3.3,10-.19,7.52,8.52L1.87,30.48c-.9,3.76-.1,8.32,1.89,11.66Z" fill="red" stroke="black" stroke-width="3"/><path d="M3.75,42.15c2.2,3.71,6.69,7.55,14.62,9.21,1.45.3,5.92.21,8.4-.92s9.48-5.07,13.03-7.15c8.64-4.71,3.93-15.38-5.23-10.11-.25.07-.47-.31-.22-.4,11.82-4.32,5.29-16.28-4.57-9.29-.32.23-.59-.45-.25-.65,0,0,18.37-10.37,19.73-11.18,5-3.01,1.14-13.84-7.11-8.84l-23.71,13.95c-.51.29-1.15-.13-1.05-.7.38-2.3.71-4.31,1.12-5.84C20.38,3.3,10-.19,7.52,8.52L1.87,30.48c-.9,3.76-.1,8.32,1.89,11.66Z" fill="none" stroke="white" stroke-width="1.2"/></svg>') 26 0,pointer;}
/* ======= ADA Highlight ======= */
body.ada_hl_title .port h1,body.ada_hl_title .port h2,body.ada_hl_title .port h3,body.ada_hl_title .port h4{border:solid 3px var(--red);padding:10px;margin:10px 0;}
body.ada_hl_link .port a{border:solid 3px var(--blue);padding:5px;display:inline-block;}
/* ======= ADA Filters ======= */
html.ada_filter_grayscale{filter:grayscale(100%);}
html.ada_filter_invert{filter:invert(100%);}
html.ada_filter_hue90{filter:hue-rotate(90deg);}
html.ada_filter_hue180{filter:hue-rotate(180deg);}
html.ada_filter_hue270{filter:hue-rotate(270deg);}
/* ======= ADA Text Align ======= */
body.ada_align_left .port,.ada_align_left .port *{text-align:left;}
body.ada_align_center .port,.ada_align_center .port *{text-align:center;}
body.ada_align_right .port,.ada_align_right .port *{text-align:right;}



@media (max-width:1100px){
	.star_sect{display:flex;flex-direction:column;gap:13px;}
	.ssx{border:0;border-top:4px solid;padding:.5rem .5rem .0rem .5rem}
	.prob{border:0;padding-top:0;}
	.sol{border-color:var(--blue);}
	.res{border-color:var(--green);}
	.btns_block{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:8px;}
	.btns_block .btns{gap:10px;margin:0;flex-direction:column;}
	.tech_block .w_box{gap:10px;}
	.tech_sect{gap:10px;}
}
@media (max-width:900px){
	body .port .pj_sldr img{width:360px;height:225px;}
	.tech_block .w_box{display:flex;flex-direction:column;align-items:stretch;}
	.tech_tools,.ai_tools{margin-top:10px}
	.education .edu_item{grid-template-columns:110px 1fr;gap:10px 8px;padding:14px 3px}
	.contact .w_box{flex-direction:column;gap:10px;}
	.contact .c_info, .contact .prof_l, .contact .docs{margin-bottom:0;border-top:0;}
	.contact .c_info{border:1px solid var(--sbx_brd);}
	.contact .msg_form{margin-bottom:0;margin-top:10px;}
	.btns_block{gap:13px;}
	.mpj_box{margin-bottom:3rem}
}
@media (max-width:800px){
	.tech_sect{gap:20px;flex-direction:column-reverse}
	body .port .pj_sldr img{width:497px;height:311px;}
	body .port .pj_sldr{margin:auto;}
	.tech_sect h4{margin-bottom:.5rem}
	.mini_pj{flex-direction:column-reverse;}
	.hdr{display:block;position:relative;}
	.hdr .photo{position:absolute;top:0;right:0;}
	.i_line{display:inline-flex;flex-direction:column;padding-bottom:5px;width:calc(100% - 250px)}
	.i_line .lbl{font-size:1.2rem}
	.btns_block{flex-direction:column;}
	.btns_block .btns{flex-direction:row;}
}
@media (max-width:750px){
	.btns_block{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:30px;margin-top:8px;}
	.btns_block .btns{gap:10px;margin:0;flex-direction:column;}
	.copy{padding-bottom:80px;}
}
@media (max-width:600px){
	.i_line .val{font-size:1rem}
	.hdr .photo{width:180px;}
	.hdr .photo img{width:180px;max-width:180px;}
	.i_line{width:calc(100% - 200px)}
}
@media (max-width:550px){
	.i_line .lbl{font-size:1rem}
	.btns_block{flex-direction:column;width:100%;gap:10px;}
	.btns_block .btns{width:100%;gap:10px;}
	body .port .pj_sldr img{width:360px;height:225px;}
	.mpj_box{margin-bottom:2rem}
	.review_link a{font-size:1rem;}
}
@media (max-width:500px){
	.tm_r{display:flex;flex-direction:column;gap:13px;padding-bottom:1.5rem;}
	.author{position:relative;margin-left:30px;}
	.tm_svg{position:absolute;left:-25px;top:3px;}
	.tm_grid{gap:1.5rem}
	.hdr .photo{width:150px;}
	.hdr .photo img{width:150px;max-width:150px;}
	.i_line{width:calc(100% - 160px)}
	.w_box{padding:0 10px;}
	body .port .pj_name{font-size: 1.4rem;}
	.pj{margin-bottom:1.5rem;padding:30px 20px;}
	.mini_pj .name{font-size:1.2rem;}
	.tech_tools,.ai_tools{padding:25px 20px;}
	.review_link a{font-size:.9rem;}
}
@media (max-width:450px){
	body .port .pj_name{font-size: 1.2rem;}
	.pj{padding:30px 13px;}
	.tech_tools,.ai_tools{padding:25px 13px;}
}
@media (max-width:400px){
	.hdr{display:flex;flex-direction:column-reverse}
	.hdr .photo{position:absolute;width:100%;top:61px;}
	.hdr .photo img{width:230px;max-width:230px;margin:auto;}
	.title{margin-bottom:330px;text-align:center}
	.i_line .lbl{font-size:1rem;width:110px;}
	.i_line .val{font-size:1.1rem}
	.i_line{width:100%;flex-direction:row;}
	.pj{border:0;box-shadow:none;padding:10px 0 1.7rem;margin-bottom:1.5rem;border-bottom:double 10px #000;}
	.pj:last-child{border:0;padding-bottom:0;}
	.mini_pj{border:0;box-shadow:none;padding:0;}
	.more_pj .mpj_box h3{text-align:center}
	.mini_pj .name{font-size:1.1rem;}
	.education .edu_item{grid-template-columns:95px 1fr;gap:10px 3px;padding:14px 0;}
	.minpj_txt{padding:8px 3px;}
	.tech_tools,.ai_tools{padding:15px 3px;border:0;box-shadow:none;}
	.tech_block .tech_r{padding:2px 8px 6px;}
	.contact .c_info,.contact .prof_l,.contact .docs,.contact .msg_form{border:0;box-shadow:none;padding:20px 0;}
	.contact .c_info h3,.contact .prof_l h3,.contact .docs h3,.contact .msg_form h3{border:1px solid var(--sbx_brd);border-left:solid 4px var(--blue);margin: -20px 0px 15px;}
}


@media print {
	.hide_pdf{display:none!important;}
	.more_pj{display:block!important}
	.link_pdf{display:block!important}
	.main_pj.sect{margin-top:20px;}
	.title{margin-bottom:10px;}
	.w_box{padding:0;}
	body .port .pj_sldr img{width:360px;height:225px;}
	.pj{border:0;box-shadow:none;padding:10px 0 1.7rem;margin-bottom:1.5rem;border-bottom:double 10px #000;}
	.pj:last-child{border:0;padding-bottom:0;}
	.mini_pj{border:0;box-shadow:none;padding:0;}
	.more_pj .mpj_box h3{text-align:center}
	.mini_pj .name{font-size:1.1rem;}
	.education .edu_item{grid-template-columns:95px 1fr;gap:10px 3px;padding:14px 0;}
	.minpj_txt{padding:8px 3px;}
	.tech_tools,.ai_tools{padding:5px 3px;border:0;box-shadow:none;margin:0px;}
	.tech_block .tech_r{padding:2px 8px 6px;}
	.contact .c_info,.contact .prof_l,.contact .docs{border:0;box-shadow:none;padding:20px 0;}
	.contact .c_info h3,.contact .prof_l h3,.contact .docs h3{border:1px solid var(--sbx_brd);border-left:solid 4px var(--blue);margin: -20px 0px 15px;}
	.tech_sect{display:grid;align-content:center;justify-content:space-between;grid-template-columns:1fr 370px;}
	.mini_pj{display:grid;align-content:center;justify-content:space-between;align-items:start;justify-items:center;grid-template-columns:1fr 310px;}
	.pj.v1{margin-bottom:20px;}
	.pj.v2 .star_sect{margin-top:13px;}
	.pj.v2 .star_sect .prob h4{margin-bottom:8px;}
	.os_pj.mpj_box{margin-top:30px;}
	.education.sect{margin-bottom:0px;padding-bottom:13px;}
	.tech_block.sect{margin:0px;margin-bottom:10px;padding:0;}
}
















